KR20050012750A - 인수 분해 및 모듈러 연산 방법 - Google Patents

인수 분해 및 모듈러 연산 방법

Info

Publication number
KR20050012750A
KR20050012750A KR10-2004-7018954A KR20047018954A KR20050012750A KR 20050012750 A KR20050012750 A KR 20050012750A KR 20047018954 A KR20047018954 A KR 20047018954A KR 20050012750 A KR20050012750 A KR 20050012750A
Authority
KR
South Korea
Prior art keywords
phase change
change material
state
states
energy
Prior art date
Application number
KR10-2004-7018954A
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
Priority claimed from US10/155,527 external-priority patent/US6714954B2/en
Application filed by 에너지 컨버젼 디바이시즈, 아이엔씨. filed Critical 에너지 컨버젼 디바이시즈, 아이엔씨.
Publication of KR20050012750A publication Critical patent/KR20050012750A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0004Digital 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 amorphous/crystalline phase transition cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/49Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements

Abstract

비-이진 계산 방식에서 숫자들을 인수 분해하는 방법 및 특히 디지털 다중상태 상 변화 물질을 이용하여 숫자들을 인수 분해하는 방법이 제공된다. 상기 방법은 상기 숫자의 잠재적인 인수에 따라 프로그램된 상 변화 물질에 인수 분해될 숫자의 특징적인 양의 에너지를 제공한다. 상기 프로그래밍 전략은 잠재적인 인수의 배수가 인수 분해될 상기 숫자에 존재할 때마다 한번 상기 상 변화 물질을 설정하는 것을 제공한다. 상기 배수들의 수를 세고 상기 방법의 실행시 상기 상 변화 물질의 상태를 평가함으로써, 잠재적인 인수가 진정한 인수가 되는지에 대한 결정이 내려질 수 있다. 주어진 볼륨의 상 변화 물질은 상이한 인수들에 대해 재프로그램될 수 있거나 개별 볼륨의 상 변화 물질이 다른 인수들을 위해 채택될 수 있다. 몇몇 잠재적인 인수들에 대한 병렬 인수 분해는 다른 잠재적인 인수들에 따라 프로그램된 개별 볼륨의 상 변화 물질을 결합함으로써 달성될 수 있다. 모듈러 연산 시스템에서의 가산 및 합동성을 계산하는 방법들이 또한 포함된다.

Description

인수 분해 및 모듈러 연산 방법{Methods of factoring and modular arithmetic}
컴퓨터의 발달은 일반적으로 20세기 후반의 가장 중요한 발달중 하나로 간주된다. 컴퓨터들은 일상 생활의 많은 양상들을 단순화했고 경제에서 상당한 생산성 이득을 초래하였다. 이미지 처리 및 복잡한 계산에서의 최근의 요구는 마이크로프로세서 속도 및 메모리 저장 밀도의 상당한 발전을 일축하였다. 컴퓨터들의 추가 발전 및 미래의 응용은 더욱더 효율적인 방식으로 많은 양의 정보를 처리하기 위한 인류의 능력에 의존한다.
실리콘은 오늘날 컴퓨터의 핵심이다. 계산 능력 및 속도에서의 발전은 주로실리콘의 기본적인 특성들을 더 잘 이해하는 것과 실제적인 효과를 위하여 상기 특성들을 이용하는 것의 결과이었다. 초기의 진척은 실리콘에서 트랜지스터들 및 다이오드와 같은 기본적인 전자 구성 요소들을 만드는 데 기초를 두었고 나중의 진척이 집적 회로들의 발전으로부터 뒤따랐다. 최근의 발전은 이들 경향들의 지속을 나타내고 현재 소형화 및 단일 칩상에 매우 많은 수의 마이크로전자 장치들의 집적을 강조한다. 더 작은 장치들은 더 큰 메모리 용량 밀도, 더 높게 집적된 회로들 및 동일한 칩상의 장치들간의 감소된 상호작용 시간을 초래한다.
실리콘 기반 계산 장치들의 고유한 특징은 수학적인 연산들 및 다른 데이터 처리 목적들의 이진 실행이다. 이진 계산에 있어서, 계산 매체, 실리콘은 데이터를 나타내고 조작하기 위해 이용가능한 두개의 프로그래밍 상태들을 지닌다. 상기 두개의 프로그래밍 상태들은 전형적으로 "0" 및 "1"로 표기되고 "0" 또는 "1"을 저장하는데 사용되는 실리콘의 볼륨은 전형적으로 비트로서 지칭된다. 숫자들 및 문자들을 포함하는 데이터는 일련의 하나 이상의 "0"들 및/또는 "1"들로 변환되는데, 각 "0" 또는 "1"은 개별 비트에 저장된다. 따라서, 일련의 비트들은 "0"들 및 "1"들의 적합한 조합을 설정함으로써 데이터를 저장하도록 프로그램될 수 있다. 데이터의 조작들은 조작의 시초에 존재한 "0"들 및/또는 "1"들의 시퀀스 또는 상이한 조합을 저장하는 일련의 비트들을 전형적으로 포함하는 출력을 생성하기 위하여 요망되는 계산 목적에 따라 비트의 상태를 변경하는 비트 연산들을 포함한다.
이진 컴퓨터들은 자동화, 워드 프로세싱 및 기본적인 수학적 계산들과 같은 다수의 계산 응용에 대해 현격하게 성공적인 것으로 증명되었다. 계산 요구가 확장되고 더 복잡한 응용이 구상됨에 따라, 종래의 이진 계산이 다수의 제한을 겪는다는 것이 더 명백해지고 있다. 예를 들어, 더 빠른 계산 속도 및 더 많은 병렬 연산은 실리콘 기반 마이크로전자 장치들을 계속 소형화하는 능력에 기초한다. 소형화 노력이 계속될 수 있는지에 대한 관심들은 많은 사람들이 실제적이고 기본적인 제한들이 소형화에 대한 더욱더 능가할 수 없는 장벽들을 나타낼 것이라고 믿기 때문에 더 표명되고 있다. 이들 적응성, 상호작용성 또는 높은 병렬 처리를 요구하는 것과 같은 복잡한 계산 상황은 종래의 이진 방법들을 통해 최적으로 달성될 것으로 여겨지지 않거나 심지어 가능할 것으로 여겨지지 않는다.
컴퓨터 산업이 확장되기 위하여 그리고 컴퓨터가 더 많은 응용 및 더 복잡한 계산 상황과 관련되도록 하기 위하여, 컴퓨터들이 기능하는 방식의 변경이 타당하다.
본 발명은 일반적으로 숫자들을 인수 분해하는 것과 모듈러 연산을 지향하는 계산 방법들에 관한 것이다. 특히, 본 발명은 비-이진 방식으로 인수 분해 및 모듈러 연산을 수행하기 위하여 디지털 다중상태 상 변화 물질을 이용하는 것에 관한 것이다.
관련된 출원 정보
본 출원은 2002년 5월 10일자 출원된 미국 특허 출원 번호 10/144319의 일부 계속 출원이다.
도 1은 제공되는 에너지 또는 파워의 양의 함수로서 대표적인 상 변화 물질의 전기 저항에 관한 도면이다. 상기 도면은 좌측에 사전 설정 고 저항 평탄 영역 및 우측에 사후 설정 영역을 포함한다. 양 영역들에서의 대표적인 상태들은 설명을 위해 도시된다.
도 2는 여기에서 예 1에 설명되는 바와 같이 숫자 4가 입력 수의 곱셈 인수인지를 테스트하는데 사용되는 상 변화 물질의 전기 저항 도면의 일부이다. 사전 설정 고 저항 평탄 영역을 따른 전기 저항 및 상기 설정 상태에서의 전기 저항이 도시된다. 5개의 프로그래밍 상태들이 표기되고 심볼들을 가지고 도시된다.
본 발명은 일반적으로 비-이진 계산 방법들을 통해 컴퓨터들의 성능의 범위를 확장하는 것을 지향한다. 본 방법들은 비-이진 연산을 할 수 있는 계산 매체에 대해 설계된다. 비-이진 연산은 두개보다 많은 프로그램 상태들을 가질 수 있는 디지털 다중상태 상 변화 물질을 가지고 획득될 수 있다. 상기 계산 방법들은 두개보다 많은 프로그래밍 상태들을 포함하는 계산 매체를 가지는 계산의 성능을 허용한다. 3개, 4개 또는 더 많은 개수의 프로그래밍 상태들을 이용하는 계산은 본 계산 방법들을 가지고 달성될 수 있다.
일 실시예에서, 인수 분해 방법이 제공된다. 본 방법의 목적은 입력 수의 곱셈 인수들을 결정하는 것이다. 상기 방법은 잠재적인 곱셈 인수에 대응하는 다수의 프로그래밍 상태들의 설정을 통해 상기 잠재적인 곱셈 인수에 따라 디지털 다중상태 상 변화 물질을 프로그래밍하는 것을 포함한다. 수치값은 각 프로그래밍 상태에 할당될 수 있고 상이한 프로그래밍 상태들간의 변환들은 상기 프로그래밍 상태들과 연관된 숫자들의 수학적인 조작에 대응한다. 상기 프로그래밍 상태들은 상 변화 물질의 리셋 상태와 관련된 에너지로 분리되고, 잠재적인 곱셈 인수와 연관된 상기 프로그래밍 상태가 상 변화 물질의 설정 상태에 대응하도록 선택될 수 있다. 따라서, 상기 잠재적인 곱셈 인수의 특징적인 양의 에너지의 상 변화 물질의 리셋 상태로의 인가는 상기 상 변화 물질의 설정을 초래할 수 있다. 상기 설정 변환은 상기 상 변화 물질의 저항값의 변화로서 쉽사리 검출된다. 상기 잠재적인 곱셈 인수의 특징적인 양으로 인수 분해될 숫자에 대응하는 에너지를 분석함으로써, 인수 분해는 설정 변환들의 수를 셈으로써 (그리고 각 설정 변환 후에 리셋시킴으로써) 달성될 수 있고, 일단 인수 분해될 숫자에 대응하는 에너지 모두가 제공되면 아무런 나머지도 존재하지 않는다는 것을 보장함으로써 달성될 수 있다.
일 실시예에서, 하나의 곱셈 인수에 따라 순차적으로 프로그래밍 상태들을 설정하고, 잠재적인 곱셈 인수가 진정한 인수인지를 결정하며, 그에 따라 프로그래밍 상태들을 재설정함으로써 다른 곱셈 인수들에 대해 반복함으로써 상이한 잠재적인 곱셈 인수들을 테스트하기 위하여 주어진 볼륨의 상 변화 물질이 채택될 수 있다. 다중상태 상 변화 물질의 고유한 특징은 상이한 수의 프로그래밍 상태들이 상기 리셋 상태와 상기 설정 상태간에 상이한 에너지들에서 배치되는 방식으로 프로그래밍 상태들을 정의하고 재정의하는 능력이다. 따라서, 상기 설정 상태가 몇몇 상이한 잠재적인 곱셈 인수들 각각에 대응하는 것이 가능하다.
대안적인 실시예에서, 개별 볼륨의 상 변화 물질은 상이한 곱셈 인수들을 테스트하는데 사용될 수 있다. 상기 실시예에서, 개별 볼륨의 상 변화 물질은 관심대상의 각 잠재적인 곱셈 인수에 전용되고 적합한 수의 프로그래밍 상태들을 설정함으로써 이에 따라 프로그램된다. 상기 실시예에서, 많은 수의 잠재적인 곱셈 인수들은 개별 볼륨의 상 변화 물질에 대해 순차적이거나 병렬로 연산됨으로써 테스트될 수 있다. 병렬 연산은 특히 숫자들의 효율적인 인수 분해를 제공한다.
본 방법들은 또한 모듈러 연산의 프레임워크에서의 계산을 제공한다. 이들 방법들은 나머지들의 계산을 위한 방법을 포함하고 모듈러스에 의해 관리되는 연산 시스템들에서의 합동 관계에 대한 방법을 포함한다.
본 발명은 비-이진 방식으로 동작할 수 있는 계산 매체와 사용하기에 적합한 계산 방법들을 제공함으로써 종래의 이진 계산 장치들의 제한들을 극복하는 쪽으로 나아간다. 비-이진 계산 방법들은 기능성을 증대시키는 기회를 제공하고 컴퓨터들의 응용의 범위를 확장시키는 것으로 본 발명자들은 믿고 있다. 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 논의되는 바와 같이, 비-이진 계산은 더 높은 정보 저장 밀도 및 더 많은 데이터의 병렬 처리를 제공할 수 있기 때문에 유리하다.
비-이진 계산의 실현은 3개 이상의 프로그래밍 상태들을 유지할 수 있는 계산 물질을 식별하는 것과 비-이진 방식으로 데이터를 저장하고 처리할 수 있는 계산 방법들을 개발하는 것을 포함한다. 상기 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319는 비-이진 계산에 적합한 다중상태 특징들을 제공하도록 프로그램될 수 있는 물질들의 예들로서 상 변화 물질들을 식별한다. 다중상태 프로그래밍 및 계산 능력을 제공하는 매체로서 상 변화 물질들의 어떤 관련된 속성들의 요약은 하기에 제공된다. 추가적인 상세들은 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 포함된다.
비-이진 연산에 적합한 상 변화 물질들은 적어도 고 저항 상태 및 검출가능하게 구별되는 저 저항 상태를 지닌 상(phase)을 포함한다. 여기에 사용되는 바와 같이, 고 저항 상태 및 저 저항 상태는 각각 고 전기 저항 및 저 전기 저항에 의해 특징지워지는 물리적인 상태들을 지칭하는데, 상기 고 전기 저항 상태 및 저 전기저항 상태의 전기 저항들은 서로 관련되며 검출가능하게 구별된다. 이러한 상 변화 물질의 예들은 공동으로 양도된 미국 특허 번호들, 5,166,758; 5,296,716; 5,524,711; 5,536,947; 5,596,522; 5,825,046 및 5,687,112에 설명되어 있는데, 상기 개시들은 여기에 참조로써 통합되어 있다. 예시적인 상 변화 물질들은 인듐, 은, 텔루르, 셀레늄, 게르마늄, 안티몬, 창연, 납, 주석, 비소, 황, 실리콘, 인, 산소 및 이들의 혼합물들 또는 합금들 중 하나 이상의 요소를 포함한다. 바람직한 실시예에서, 상기 상 변화 물질은 칼코겐 요소이다. 특히, 선호되는 것은 게르마늄 및/또는 안티몬의 조합인 칼코겐을 포함하는 상 변화 물질들이다. 다른 바람직한 실시예에서, 상기 상 변화 물질은 칼코겐 및 크롬, 철, 니켈, 니오브, 팔라듐, 백금 및 그들의 혼합물들 및 합금들과 같은 전이 금속을 포함한다.
상기 상 변화 물질들은 유효한 양의 에너지의 인가시 고 저항 상태에서 저 저항 상태로 변환될 수 있다. 여기에 개시된 도 1은 에너지 또는 파워의 함수로서 상 변화 물질의 전기 저항에 관한 도면이다. 상기 상 변화 물질이 초기에 고 저항 상태에 있는 경우, 작은 양의 에너지의 인가는 상기 물질을 그것의 고 저항 상태에 있게 한다. 상기 행동은 도 1의 좌측에 도시된 고 저항 평탄 영역으로 도시된다. 하지만, 충분한 양의 에너지가 인가되는 경우, 상기 상 변화 물질은 고 저항 상태에서 저 저항 상태로 변환한다. 상기 변환은 도 1의 고 저항 평탄 영역의 바로 우측의 전기 저항의 가파른 감소로 도시된다. 고 저항 상태에서 저 저항 상태로의 상기 상 변화 물질의 변환은 하기에서 상기 상 변화 물질을 "설정(setting)" 또는 "설정하는 것(to set)"으로서 지칭된다. 상기 설정시 야기된 저 저항 상태는 이하에서 상기 상 변화 물질의 "설정 상태"로서 지칭된다. 상기 상 변화 물질을 설정하는데 충분한 에너지의 양은 이하에서 "설정(set) 에너지" 또는 "설정(setting) 에너지"로서 지칭된다. 상기 설정 에너지는 상기 고 저항 평탄 영역을 따라 각 상태에 대해 상이하다는 것을 주목하라.
도 1의 우측은 상기 상 변화 물질이 설정된 경우 상기 상 변화 물질의 행동에 대응한다. 일단 설정되면, 상기 상 변화 물질은 저 저항 상태에 있게 되고 도 1의 우측에 도시된 사후 설정 영역에 따라 파워의 인가에 의해 영향을 받게 된다. 상기 전기 저항 응답 곡선의 이 부분은 상기에 참조로써 통합된 미국 특허들 중 몇몇 특허에서 상기 곡선의 아날로그 또는 그레이스케일 멀티비트 부분으로서 지칭되었다. 상기 상 변화 물질의 사후 설정 상태에 대한 에너지의 인가는 그것의 전기 저항의 변화를 야기할 수 있다. 전기 저항의 변화는 인가된 에너지의 양 및 에너지가 인가되는 비율에 의해 결정된다. 에너지가 제공되는 비율은 이하에서 파워로서 지칭되고 사후 설정 영역에서의 상 변화 물질의 행동에서 중요한 인자이다.
이론에 의해 한정되기를 원하지 않는 반면에, 본 발명자들은 상기 설정 변환동안 저 저항 설정 상태의 확립은 상기 상 변화 물질을 통한 연속 결정 경로의 형성의 결과이다. 사전 설정 영역에서, 상 변화 물질은 비결정 상 성분 그리고 아마도 결정 상 성분을 포함하는 것으로 믿어진다. 결정 상(phase)의 존재 및 상대적인 풍부함은 상 변화 물질의 형성시 사용된 준비 및 처리 조건에 의존한다. 예를 들어, 신속한 소거가 다음에 오는 융해를 포함하는 처리는 결정화를 억제하는 것으로 기대될 수 있고, 반면에 느린 소거가 다음에 오는 융해는 결정화를 촉진하는 것으로 기대될 수 있다. 사전 설정 영역에 존재하는 경우, 상기 결정 상(phase)은 상기 비결정 상에서 분산되어 상기 상 변화 물질을 통한 연속 경로를 제공하지 못한다. 상기 비결정 상은 상기 결정 상보다 더 높은 전기 저항을 가지기 때문에, 연속 결정망의 부재는 사전 설정 영역에서 상 변화 물질에 대한 고 전기 저항을 초래한다.
상기 전기 저항 곡선의 상기 사전 설정, 고 저항 평탄 영역에서 에너지의 인가는 상기 상 변화 물질내의 결정 상의 상대적인 풍부함을 증가시키는 것으로 본 발명자들에 의해 믿어진다. 연속 결정망이 형성되지 않은 경우, 결정 상의 중가된 풍부함은 실질적으로 상 변화 물질의 전기 저항에 영향을 미치지 않는다. 연속 결정망의 형성은 상기 설정 변환동안 일어나는 것으로 본 발명자들에 의해 믿어지고 상기 설정 변환을 수반하는 전기 저항의 감소는 상기 연속 결정 상을 통한 전도성 경로의 이용가능성에 기인하는 것으로 믿어진다. 상기 연속 결정 상은 상기 비결정 상보다 더 낮은 저항을 가지기 때문에, 연속 결정망의 존재는 설정 후 상 변화 물질에 대한 낮은 전기 저항을 초래한다.
사후 설정 영역에서, 에너지가 상기 저 저항 설정 상태에 인가되고 상기 결정망에 영향을 미칠 수 있다. 에너지의 부가는 상 변화 물질의 가열 및 온도의 증가를 초래할 수 있다. 충분한 에너지가 상 변화 물질에 인가되는 경우 설정시 존재하는 연속 결정망을 융해하거나 열로 붕괴시킬 수 있다. 융해가 일어나는 경우, 후속 냉각은 결정 상 성분의 상이한 풍부함 또는 연결성을 지닌 상 변화 물질을 아마도 초래할 것이다. 상기 결정망의 융해 또는 열 붕괴는 상기 저 저항 결정 상을 통한 전도 경로를 파괴할 수 있어서 사후 설정 영역내의 상 변화 물질의 전기 저항의증가를 초래한다. 상 변화 물질의 융해 또는 열 붕괴는 융해 또는 열 붕괴를 허용하기 위하여 충분한 에너지가 융해 또는 열 붕괴의 장소에서 유지될 것을 요구한다. 열 전도율, 열 용량, 주변에 대한 손실 등에 기인한 열 소모 프로세스들은 에너지를 제거하도록 작용하여 결정 망의 융해 또는 열 붕괴를 금지하도록 작용하기 때문에, 에너지 부가의 비율은 열 소모 프로세스들을 보상하면서 융해 또는 열 붕괴를 허용하도록 충분히 높아야 한다. 따라서, 에너지 또는 파워의 비율은 전기 저항 곡선의 사전 설정 영역에서 중요한 고려 사항이다.
도 1의 사후 설정 영역에서 상기 파워 및 상기 상 변화 물질의 상태에 의존하여, 사후 설정 영역에서의 행동이 가역적이기 때문에 전기 저항의 증가 또는 감소가 발생할 수 있다. 상기 가역성은 도 1의 사후 설정 영역에 도시된 두개의 화살표들로 도시되고 상기 상 변화 물질에서의 상기 결정 망의 특성을 변화시키도록 가역가능한 능력을 반영하는 것으로 본 발명자들에 의해 믿어진다. 파워 및 전기 저항은 상기 사후 설정 영역에서의 각 포인트와 연관될 수 있다. 인가된 파워가 상기 사후 설정 영역내의 상 변화 물질을 기술하는 포인트와 연관된 파워를 초과하는 경우, 상기 상 변화 물질의 전기 저항은 증가한다. 역으로, 상기 인가된 파워가 상기 사후 설정 영역내의 상 변화 물질을 기술하는 포인트와 연관된 파워 미만인 경우, 상기 전기 저항은 감소한다. 상기 사후 설정 영역에서의 전기 저항의 증가는 상기 결정 성분을 통한 전도 경로가 상기 사후 설정 영역에서의 전기 저항의 감소에 대해 수, 크기 또는 용량이 감소되는 방식으로 상 변화 물질의 결정 성분의 방해 또는 재구성을 반영하는 것으로 본 발명자들에 의해 믿어진다.
상기 가역성은 도 1의 사후 설정 영역에 한정된다. 상기 설정 변환에 선행하는 (즉 좌측에 있는) 도 1의 고 저항 평탄 영역에서의 포인트에 대응하는 에너지를 인가함으로써 상기 설정 변환을 역전시키는 것은 가능하지 않다. 하지만, 도 1의 사후 설정 영역내의 포인트에 의해 기술된 물질에 충분히 높은 파워를 인가함으로써 상기 상 변화 물질의 고 저항 상태를 회복하는 것은 가능하다. 이러한 파워의 인가는, 설정 변환을 역전시키는 방향보다는 도 1에서 우측 방향 화살표로 움직이는 것에 대응한다. 도 1의 사후 설정 영역에 도시된 바와 같이, 연속적으로 증가하는 양의 파워를 인가하는 것은 전기 저항의 연속적인 증가를 초래한다. 도 1의 맨 우측에 있는 상 변화 물질을 구동시키기 위하여 충분한 파워의 인가시, 상기 상 변화 물질은 그것의 고 저항 상태로 돌아가고 그것의 고 저항 평탄 영역을 회복한다. 고 저항 평탄 영역의 회복은 상기 상 변화 물질에 제공된 파워가 상기 상 변화 물질의 어떤 결정 성분의 연속성을 파괴시키는데 충분한 경우 일어난다는 것이 본 발명자들에 의해 믿어진다. 상기 고 저항 평탄 영역의 회복은 (예를 들어, 상기 비결정 성분의 풍부함을 증가시키는 융해 및 소거 프로세스를 통한) 상기 상 변화 물질내의 결정 성분의 풍부함의 감소, 연속성이 소실되는 방식으로 상기 결정 성분의 재구성 또는 재분배 또는 그들의 조합에 기인하여 일어날 수 있다.
저 저항 설정 상태에서 고 저항 상태로 상 변화 물질을 변환하는데 필요하는 에너지의 파워 또는 비율은 이하에서 "리셋 파워", "리셋팅 파워", "리셋 에너지", "리셋팅 에너지" 등으로 지칭된다. 상기 리셋 에너지의 인가의 종결시 상기 상 변화 물질의 상태는 이하 "리셋 상태"로서 지칭된다. 상기 리셋 파워의 인가는 고 저항 리셋 상태를 야기하도록 상기 상 변화 물질을 "리셋"시킨다. 리셋 이후 에너지의 추가 인가시 관찰된 행동은 도 1의 고 저항 평탄 영역에 대해 설명된 것과 유사하다. 도 1에 도시된 도면은 설정 및 리셋의 한 사이클에 대응한다. 상기 상 변화 물질은 아주 큰 수의 사이클들에 걸쳐 복제적으로 설정 및 리셋될 수 있다.
비-이진 계산에 대한 다수의 프로그래밍 상태들은 도 1의 좌측에 도시된 고 저항 평탄 영역을 따른 상태들을 가지고 달성될 수 있다. 설정에 필요한 것 미만의 양의 에너지의 인가는 이하에서 "서브-설정 양의 에너지"로 지칭되는데, 고 저항 상태에서의 상 변화 물질은 그것의 전기 저항을 실질적으로 변경하지 않는 물질에서의 물리적인 변경을 초래한다. 도 1의 평탄 영역에서의 제1 포인트에 의해 기술된 상 변화 물질로의 서브-설정 양의 에너지의 인가는 상기 평탄 영역내의 제2 포인트에 의해 기술된 물리적인 상태로 상기 상 변화 물질을 변환하는데, 상기 제2 포인트는 상기 제1 포인트의 우측에 있다. 상기 서브-설정 양의 에너지의 인가를 통해 고 저항 평탄 영역에서 좌측 방향으로 상 변화 물질을 변환하는 것은 가능하지 않다. 도 1의 사후 설정, 아날로그, 멀티비트 부분에 대해 상기에서 설명된 바와 같이 가역성의 개념은 사전 설정, 디지털 다중상태 고 저항 평탄 영역에 적용되지 않는다. 상기 고 저항 평탄 영역내의 초기 포인트의 좌측의 포인트는 상기 상 변화 물질을 설정하고 리셋시킨 후 적합한 서브-설정 양의 에너지를 인가함으로써 도달될 수 있다.
상기 고 저항 평탄 영역에서의 일-방향성 응답의 결과로서, 상 변화 물질은 상기 물질의 설정 에너지까지의 양의 에너지를 축적하고 저장할 수 있다. 상기 상변화 물질의 전기 저항이 상기 고 저항 평탄 영역에서 변하지 않을지라도, 각 서브-설정 에너지의 인가는 상기 상 변화 물질이 예측가능하게 상기 저 저항 설정 상태쪽으로 진행하도록 야기한다. 상기 상 변화 물질의 이러한 행동은 여기에 개시된 것과 같은 다중상태 계산 방법들에서 이용될 수 있다.
바람직한 실시예에서, 상기 리셋 상태는 도 1의 고 저항 평탄 영역내의 시작점으로서 선택된다. 상 변화 물질의 리셋 상태에서 설정 상태로 상기 상 변화 물질을 변환하는데 요구되는 에너지의 간격은 이하에서 "리셋 상태의 설정(setting)(또는 설정(set)) 에너지"로서 지칭된다. 상기 리셋 상태의 설정 에너지는 재생가능한 특성이고 다수 사이클의 설정 및 리셋에 걸쳐 일정하기 때문에, 그것은 두개 이상의 서브-간격들로 나누어질 수 있고 상기 상 변화 물질의 상이한 프로그래밍 상태들 또는 프로그래밍 값들은 상이한 숫자들 또는 조합들의 서브-간격 에너지 인가들에 의해 정의되거나 인가들과 연관될 수 있다. 도 1의 고 저항 평탄 영역에서의 상기 상기 변화 물질의 재생가능한 일-방향성 행동은 개별 프로그래밍 상태가 상기 리셋 상태의 설정 에너지를 초과하지 않는 각 누적 양의 에너지에 대해 정의될 수 있는 경우, 서브-간격 양들로 상기 물질에 인가된 에너지의 누적 양에 따라 개별 프로그래밍 상태들을 확립하는 능력을 제공한다.
한 세트의 개별 프로그래밍 상태들은 에너지의 서브-간격 인가들의 서브-설정 시리즈에 의해 상기 리셋 상태에 인가된 에너지의 누적 양에 따라 유일하고 재생적으로 정의될 수 있다. 예를 들어 제1 프로그래밍 상태는 상기 리셋 상태로의 제1 서브-간격 양의 에너지의 인가와 연관될 수 있다. 상기 제1 프로그래밍 상태에서의 상기 상 변화 물질로의 상기 제1 서브-간격 양의 에너지의 제2 인가는 제2 프로그래밍 상태를 정의하는데 사용될 수 있다. 제2 프로그래밍 상태는 대안적으로 상기 제1 서브-간격 양의 에너지와 크기가 다른 제2 서브-간격 양의 에너지의 상기 리셋 상태로의 단일 인가와 연관될 수 있다. 서브-간격 양들의 에너지의 후속 인가 및 조합은 도 1의 고 저항 평탄 영역 전반에 걸쳐 일련의 프로그래밍 상태들을 정의하는데 사용될 수 있는데, 상이한 프로그래밍 상태들이 상기 리셋 상태와 관련된 에너지의 양에 따라 구별될 수 있다.
에너지의 서브-간격 인가들의 복수의 시퀀스들 및 조합들은 일반적으로 본 계산 방법들 및 비-이진 계산 방법들에 의해 사용될 수 있는 프로그래밍 상태들을 확립하기 위한 실시예들을 구성한다. 몇몇 실시예들에 있어서, 상기 고 저항 평탄 영역내의 상태들만이 프로그래밍 상태들로서 포함된다. 다른 실시예들에서, 저 저항 상태로의 상기 상 변화 물질의 변환시 획득된 설정 상태는 부가적인 프로그래밍 상태로서 포함된다. 상기 리셋 상태에 인가된 에너지의 누적 양이 상기 리셋 상태의 설정 에너지에 도달하는 경우, 상기 상 변화 물질은 설정된다. 설정 이후에, 에너지의 추가 인가시 상기 상 변화 물질의 행동은 도 1의 사후 설정 영역에 의해 관리된다.
본 발명에서 사용된 상 변화 물질은 리셋 상태에서 설정 상태까지 확장되는 상태들의 연속들을 소유한다. 상기 상태들은 리셋 상태, 상기 고 저항 평탄 영역을 따른 일련의 중간 상태들 및 설정 상태를 포함한다. 상기 중간 상태들 및 상기 설정 상태는 상기 리셋 상태로 에너지를 인가함으로써 획득될 수 있다. 따라서, 상기상 변화 물질과 연관된 상태들은 상기 리셋 상태와 관련된 에너지에서 구별가능한 상태들의 연속을 형성하는 것으로서 간주될 수 있다. 상기에 설명된 프로그래밍 상태들은 상기 상태들의 연속으로부터 선택된다. 상기 프로그래밍 상태들은 일반적으로 정수들과 같은 이산 데이터 값들과 연관되고, 상기 상 변화 물질을 상기 프로그래밍 상태들로 변환하기 위하여 상기 상 변화 물질의 리셋 상태에 부가될 필요가 있는 에너지에 대응하는 프로그래밍 에너지들을 갖는다. 예를 들어, 특정 프로그래밍 상태는 상기 상 변화 물질을 프로그래밍 상태로 변환하기 위하여 상기 상 변화 물질의 리셋 상태에 부가되어야 하는 에너지의 양에 대응하는 프로그래밍 에너지를 갖는다. 따라서, 프로그래밍 상태의 프로그래밍 에너지는 상기 리셋 상태와 관련된 에너지의 척도이고 각 프로그래밍 상태는 유일한 프로그래밍 에너지와 연관된다.
바람직한 실시예에서, 각 프로그래밍 상태는 그것과 연관되거나 그것에 할당된 유일한 데이터 값을 갖는다. 다른 바람직한 실시예에서, 연속적인 정수들이 증가하는 프로그래밍 에너지의 순으로 프로그래밍 상태들과 연관되거나 프로그래밍 상태들에 할당된다. 상기 실시예들에서, 상 변화 물질을 숫자와 연관된 프로그래밍 상태로 변환함으로써 상기 숫자가 저장될 수 있다. 프로그래밍 상태들과의 수치값들의 유일한 대응은 상 변화 물질의 개별 상태에서의 어떤 범위의 숫자들도 저장하는 능력을 제공한다. 다수의 숫자들 또는 특정 숫자의 다수의 디지트들은 상 변화 물질의 다수의 부분들에 저장될 수 있다. 일반적으로 계산들은 계산 목적에 따라 하나 이상의 프로그래밍 상태들중에서 변환들을 실시하기 위하여 에너지의 제공을 통해 수행될 수 있다.
상기에 나타낸 바와 같이, 서브-간격 양의 에너지의 각 인가는 고 저항 평탄 영역에 있는 상 변화 물질이 설정 상태쪽으로 진행하도록 야기한다. 상기 고 저항 평탄 영역을 따른 상기 리셋 상태 및 중간 상태들이 실질적으로 동일한 전기 저항을 가져서 전기 저항에 기초하여 구별될 수 없을지라도, 상기 고 저항 평탄 영역을 따른 각 상태가 유지되지만, 상이한 양의 에너지가 상기 고 저항 평탄 영역을 따른 상이한 포인트들에 의해 기술된 상 변화 물질들을 설정하는데 요구되기 때문에 모든 다른 것들과 검출가능하게 구별되게 유지된다. 예를 들어, 어떤 양의 에너지가 상기 고 저항 평탄 영역을 따른 제1 포인트에 의해 기술된 상 변화 물질을 상기 고 저항 평탄 영역을 따른 제2 포인트로 변환하기 위하여 인가되는 경우, 상기 제1 포인트에 의해 기술된 상 변화 물질을 상기 설정 상태로 변환하는데 필요한 것보다, 정확하게 상기 에너지의 양 미만이 상기 제2 포인트에 의해 기술된 상 변화 물질을 상기 설정 상태로 변환하는 데 필요하다. 상기 설정 상태는 상기 고 저항 평탄 영역을 따른 상태들과 관련하여 검출가능하게 구별되는 저 저항 상태이고 상기 고 저항 평탄 영역을 따른 어떤 포인트에 의해 기술된 상 변화 물질들을 설정하는데 필요한 에너지의 양이 결정될 수 있기 때문에, 상기 고 저항 평탄 영역을 따른 상이한 포인트들은 구별가능하고 상기 고 저항 평탄 영역을 따른 각 포인트는 상이한 프로그래밍 상태 및/또는 수치값과 연관될 수 있다. 그 결과, 상기 리셋 상태로부터 상기 설정 상태까지의 에너지 간격을 적합한 수의 서브-간격들로 분할함으로써, 가상적으로 어떤 수의 프로그래밍 상태들도 도 2의 고 저항 평탄 영역내에서 정의될 수 있다. 그 결과, 상기 고 저항 평탄 영역은 데이터의 저장 및 처리를 위해 사용될 수 있는 일련의 이산 프로그래밍 상태들로 서브-분할될 수 있다. 상 변화 물질은 현재의 이진 컴퓨터들의 경우와 같이 두개의 프로그래밍 상태들로 한정되지 않고, 오히려 비-이진 다중상태 프로그래밍 및 계산 능력을 제공할 수 있다.
프로그래밍 상태들의 수는 상기 에너지 간격을 서브-간격들로 분할하는 것이 가능한 분해능 뿐만 아니라 리셋 상태(또는 다른 시작 상태)에서 설정 상태(리셋 상태 또는 시작 상태의 설정 에너지의 크기)로의 상기 상 변화 물질의 변환과 연관된 에너지 간격의 크기 및 특정 수의 프로그래밍 상태들을 지니는 것과 연관된 관련 계산 또는 처리 이점과 같은 실제적인 고려 사항들에 의존한다. 여기에서 사용되는 바와 같이, 시작 상태 또는 초기 상태는 상기 고 저항 평탄 영역을 따른 상기 제1 또는 최저 에너지 프로그래밍 상태로 지칭된다. 상기 리셋 상태를 시작 상태로 놓는 것이 바람직하고, 달리 지정되지 않는 한, 상기 리셋 상태는 하기의 논의에서 시작 상태가 되는 것으로 가정될 것이다. 하지만, 상기 고 저항 평탄 영역을 따른 상이한 상태가 시작 상태로서 선택될 수 있다는 것이 인지될 것이다.
상기 리셋 상태와 상기 설정 상태간의 에너지 간격의 크기는 상기 상 변화 물질의 화학적 구성에 의해 영향을 받을 수 있다. 서브-간격들이 정의될 수 있는 분해능은 상 변화 물질을 프로그램하거나 변환하거나 읽는데 사용되는 에너지 소스들로부터 이용가능한 에너지 분해능에 의존한다. 본 계산 방법들에 따라 상 변화 물질을 상 변화 물질의 상태들 중에서 변환시키기에 적합한 상기 에너지 소스들은 공동 계류 중인 모 출원 미국 특허 출원 번호 10/144319에서 더 완전하게 설명된다. 계산적인 관점에서, 프로그래밍 상태들의 수는 계산적인 방법들 또는 알고리즘들의 특성, 속도, 병렬성 또는 편리성에 영향을 미칠 수 있다. 예를 들어 상기 프로그래밍 상태들의 수를 2의 배수가 되도록 선택하는 것은, 본 비-이진 계산 방법들에서 사용하기 위한 현재 이용가능한 이진 알고리즘들의 적응을 허용할 수 있다. 예를 들어, 4, 8, 16, 32, 64개 등의 프로그래밍 상태들을 포함하는 실시예들은 본 발명에 포함된다. 10개의 프로그래밍 상태들의 사용은 일상적인 일에서 사용되는 종래의 기수 10 시스템에 기초한 방법들의 편리한 구현을 허용하고 또한 본 발명의 실시예들 중에 포함된다. 하기에 논의되는 바와 같이, 본 계산 방법들에서 잠재적인 곱셈 인수들에 대응하는 다수의 프로그래밍 상태들을 지니는 상 변화 물질을 이용하는 것이 바람직하다.
본 계산 방법들 및 알고리즘들과 사용하기에 적합한 상 변화 물질들의 예들은 미국 특허 번호들 5,166,758; 5,296,716; 5,524711; 5,536,947; 5,596,522; 5,825,046; 5,687,112; 5,912,839; 3,271,591 및 3,530,441에 제공되며, 상기 특허들의 개시들은 여기에 참조로써 포함된다. 메모리 물질의 볼륨은 유전체 물질 및 상 변화 물질의 혼합물을 포함할 수 있다. 이러한 혼합물들의 예들은 개시가 여기에 참조로써 포함된, 공동으로 양도된 미국 특허 번호 6,087,674에 설명된다. 본 계산 방법들에 적합한 물질들은 전형적으로 인듐, 은, 텔루르, 셀레늄, 게르마늄, 안티몬, 창연, 납, 주석, 비소, 황, 실리콘, 인, 산소 또는 이들의 혼합물들 또는 합금들 중 하나 이상의 요소를 포함한다. 바람직한 일 실시예에서, 상기 상 변화 물질은 칼코겐을 포함한다. 다른 바람직한 실시예에서, 상기 상 변화 물질은 칼코겐 및 게르마늄을 포함한다. 더 바람직한 실시예에서, 상기 상 변화 물질은 게르마늄, 칼코겐 및 안티몬을 포함한다. 가장 바람직한 실시예에서, 상기 상 변화 물질은 게르마늄, 텔루르 및 안티몬을 포함한다.
본 계산 방법들은 상 변화 물질로의 에너지의 제공 또는 인가를 포함하는 단계들을 포함한다. 상기 에너지의 제공 또는 인가는 상기 상 변화 물질에 제어되는 양의 에너지를 전달할 수 있는 어떤 소스에 의해 달성될 수 있다. 상기 제공된 에너지는 전기, 광 및/또는 열을 포함하는 많은 형태들을 가정할 수 있다. 제어되는 양의 에너지는 또한 이하에서 "에너지의 펄스" 또는 "에너지 펄스"로서 지칭될 수 있다. "설정 펄스"는 상 변화 물질을 설정하기에 충분한 에너지의 펄스이고 설정 양의 에너지의 제공에 대응한다. "리셋 펄스"는 상 변화 물질을 리셋시키기에 충분한 에너지의 펄스이고 리셋 양의 에너지의 제공에 대응한다.
본 계산 방법들에 있어서, 많은 단계들 또는 동작들은 상 변화 물질에 어떤 숫자의 특징적인 양의 에너지를 제공함으로써 달성된다. 상기 특징적인 에너지는 상기 상 변화 물질의 리셋 상태의 설정 에너지, 상기 프로그래밍 상태들의 수 및 상기 상 변화 물질을 한 프로그래밍 상태에서 다음 프로그래밍 상태로 변환하는데 요구되는 에너지의 서브-간격에 의존할 수 있다. 일 실시예에서, 숫자에 특징적이거나 대응하는 에너지는 상기 숫자에 비례하는 어떤 양의 에너지이다. 한 프로그래밍 상태에서 다음 프로그래밍 상태로 진행하는데 요구되는 에너지의 서브-간격은 이하에서 "프로그래밍 간격", "프로그램 간격", "프로그램 간격 에너지", "프로그램 펄스", "증가 에너지", "증가 간격" 또는 그것의 균등물로 지칭된다.
여기에서 사용되는 바와 같이, 한 프로그래밍 상태에서 다음 프로그래밍 상태로의 진행은 기존의 프로그래밍 상태로부터 상기 상 변화 물질의 전기 저항 곡선을 따라 정의된 다음 프로그래밍 상태로의 상 변화 물질의 변환을 암시한다. 상기 다음 프로그래밍 상태는 상기 상 변화 물질의 리셋 상태에 관하여 기존의 프로그래밍 상태보다 더 높은 에너지를 반드시 갖고 상기 저항 곡선을 따른 기존의 프로그래밍 상태의 우측의 프로그래밍 상태에 대응한다. 상기 용어 "증가" 또는 증가 에너지 인가" 등은 기존의 프로그래밍 상태에서 에너지적으로 가장 근접한 프로그래밍 상태로의 그리고 상기 전기 저항 곡선상에서 기존의 프로그래밍 상태의 도면의 우측으로의 상변화 물질을 변환하는 것을 지칭한다. 따라서, 증가는 상기 전기 저항 곡선을 따른 우측 방향으로의 한 프로그래밍 상태로의 상 변화 물질의 변환을 암시한다.
본 발명의 일 실시예에서, 상기 리셋 상태는 숫자 0을 나타내고 균일 증가 에너지는 한 프로그래밍 상태에서 다음 프로그래밍 상태로 진행하는데 사용된다. 그 결과, 모든 프로그래밍 상태들은 에너지적으로 동등하게 분리되고 상기 증가 에너지의 각 인가는 저장된 상기 숫자의 값을 1만큼 증가시키는 것에 대응한다. 따라서, 숫자 "1"은 상기 리셋 상태로의 상기 증가 에너지의 1회의 인가를 통해 저장될 수 있다; 숫자 2는 상기 증가 에너지의 2회 인가를 통해 저장될 수 있고, 메모리의 볼륨에 저장가능한 최대 숫자까지 상기 숫자를 저장하는데 사용된다. 균일 증가 에너지의 인가는 또한 이하에서 "균일 증가 펄스" 또는 다른 균등한 용어로 지칭된다.
비-균일 프로그래밍 간격들 또는 불균등 증가 간격들이 사용되는 이전의 실시예들의 변형들은 본 발명의 부가적인 실시예들을 구성한다. 여기에서 사용되는 바와 같이, 비-균일 프로그래밍 간격들은 상기 프로그래밍 상태들이 에너지적으로 균등하게 이격되지 않은 프로그래밍 상태들의 어떤 시퀀스를 지칭한다. 즉, 예를 들어 상기 제1 프로그래밍 상태 및 상기 제2 프로그래밍 상태를 분리하는 상기 증가 에너지가 상기 제2 프로그래밍 상태 및 제3 프로그래밍 상태를 분리하는 증가 에너지와 다를 수 있도록 인접하는 프로그래밍 상태들간의 증가 에너지는 상기 고 저항 평탄 영역을 따라 다른 포인트들에서 상이할 수 있다. 이러한 실시예들에서, 상기 증가 에너지는 일정할 수 없지만, 그럼에도 불구하고 증가의 개념은 한 프로그래밍 상태에서 상기 리셋 상태에 관해 에너지적으로 두번째로 높은 프로그래밍 상태로 상 변화 물질을 변환하는데 충분한 양의 에너지의 부가 또는 제공을 지칭한다. 동등하게, 아무런 프로그래밍 상태들도 상기 초기 프로그래밍 상태와 상기 최종 프로그래밍 상태 사이에 존재하지 않는 경우, 상 변화 물질을 증가시키는 것은 그것을 초기 프로그래밍 상태에서 최종 프로그래밍 상태로 변환하기 위하여 상 변화 물질에 에너지를 제공하는 것을 지칭한다. 상 변화 물질을 증가시키는 프로세스와 연관된 상기 초기 및 최종 프로그래밍 상태들은 여기에서 또한 인접한 또는 연속적인 프로그래밍 상태들로서 지칭될 수 있다.
상 변화 물질의 상기 프로그래밍 상태들의 확립은 여기에서 프로그래밍 전략으로 지칭된다. 프로그래밍 전략은 상기 리셋 상태에서 각 프로그래밍 상태로의 축적된 인가된 에너지 뿐만 아니라, 한 프로그래밍 상태에서 다음 프로그래밍 상태까지 상기 프로그램 간격이 특정하게 정의되는, 에너지의 서브-간격 인가들의 규정된시퀀스를 포함한다. 그렇게 함으로써, 프로그래밍 상태들의 모음은 각 프로그래밍 상태가 상기 리셋 상태에 관해 유일한 프로그래밍 에너지를 가지는 경우 확립된다. 상기 프로그래밍 전략은 상기 리셋 상태에서 상기 설정 상태까지 확장하는 균일 또는 비-균일 프로그램 간격들의 어떤 조합에 기초할 수 있고 프로그래밍 상태들로서 리셋 상태 또는 설정 상태를 포함할 수 있거나 포함하지 않을 수 있다. 달리 지정되지 않는 한, 이하의 논의는 균일 프로그램 간격들을 이용하는 프로그램 전략에 기초한다. 하지만, 이러한 선택은 논의의 편의를 위해 행해지고 본 발명의 실시에 아무런 제한을 나타내지 않는다는 것으로 인지될 것이다.
아마도 프로그래밍 전략에 포함된 것은 각 프로그래밍 상태가 상이한 데이터 값 또는 숫자에 대응하도록 상기 프로그래밍 상태들과의 데이터 또는 수치값들에 대한 할당 또는 데이터 또는 수치값들의 연관이다. 계산들은 상 변화 물질의 프로그래밍 상태들 중 상 변화 물질의 변환들을 통해 실시될 수 있다. 예를 들어, 수학적 목적에 따라 입력 수를 출력 수로 변환하는 것은 상 변화 물질을 상기 입력 수에 대응하는 프로그래밍 상태에서 상기 출력 수에 대응하는 프로그래밍 상태로 변환하기 위하여 적절하게 에너지를 제공함으로써 달성될 수 있다. 바람직하기로는, 상기 프로그래밍 상태들과 연관된 값들은 정수들이다. 더 바람직하기로는, 상기 정수들은 연속적이다. 프로그래밍 에너지의 감소하는 순서 뿐만 아니라 증가하는 순서로 정수값들이 연관된 실시예들이 고려된다. 예를 들어, 상기 리셋 상태가 0의 데이터 값과 연관되는 경우, 한 프로그래밍 간격의 에너지의 인가는 상기 물질을 1의 데이터 값과 연관된 프로그래밍 상태로 두고, 다른 프로그래밍 간격의 에너지의 인가는 상기 물질을 2의 데이터 값과 연관된 프로그래밍 상태로 둔다. 기타등등. 대안적으로, 데이터 값들을 프로그램 에너지의 감소하는 순서로 프로그래밍 상태들과 연관시키는 것이 가능하다. 예를 들어, 상기 설정 상태가 0의 데이터 값과 연관되는 경우, 한 프로그래밍 간격의 에너지가 상기 설정 상태를 획득하기 위하여 제공된 상기 프로그래밍 상태는 1의 데이터 값과 연괸될 것이다. 기타 등등. 프로그래밍 상태들과의 데이터 값들의 연관은 특정 계산 또는 사용자 선호도를 용이하게 하기 위하여 다양한 방법들로 완성될 수 있다.
본 계산 방법들은 비-이진 계산 매체와 사용하기에 적합하다. 여기에서 사용되는 바와 같이, 비-이진 계산 매체는 3개 이상의 프로그래밍 상태들을 지닌 물질을 지칭한다. 이진 계산 매체가 두개의 프로그래밍 상태들(전형적으로 상기 상태들은 "0" 및 "1"로 표기된다)을 제공하는 반면에 비-이진 계산 매체는 두개 이상의 프로그래밍 상태들을 제공한다. 3 상태 비-이진 계산 매체는 예를 들어 "0", "1" 및 "2"로 표기된 상태들을 제공할 수 있다. 3개 이상의 상태들을 지닌 더 고차의 비-이진 계산 매체가 유사하게 정의될 수 있다.
비-이진 계산의 이점들을 달성하기 위하여, 비-이진 계산 매체의 다중상태 특성으로 지향되는 계산 방법들을 체계화할 필요가 있다. 가산, 감산, 승산 및 제산의 방법들은 공동 계류 중인 모 출원 미국 특허 출원 번호 10/144319에 설명되어있다. 상기 방법들은 모듈러 연산의 프레임워크내에서 숫자들의 인수 분해 및 계산들을 지향한다. 인수 분해의 한 방법은 특정 수가 다른 수의 곱셈 인수인지를 결정하는 것을 포함한다. 인수 분해의 다른 방법은 특정 수의 곱셈 인수들의 완전한 집합들을 결정하는 것을 포함한다. 바람직한 실시예에서, 특정 수의 소수 인수들이 결정된다. 모듈러 연산의 방법들은 나머지들을 결정하는 것, 나머지들을 수반하는 계산들 및 숫자들을 나머지 클래스들로 분류하는 것을 포함한다.
인수 분해 방법
인수 분해의 한 방법은 숫자가 다른 숫자의 곱셈 인수인지를 결정하는 것을 포함한다. 상기 방법은 일반적으로 인수 분해될 숫자 및 잠재적인 곱셈 인수의 입력을 필요로 하고 출력으로서 상기 잠재적인 곱셈 인수가 진정한 곱셈 인수인지에 대한 결정을 반환한다. 상기 방법은 프로그래밍 상태들이 잠재적인 곱셈 인수에 따라 확립되는 상 변화 물질에 대한 프로그래밍 전략을 정의하는 것을 포함한다. 상기 프로그래밍 상태들의 확립은 상기 리셋 상태에서 상기 설정 상태로 이동하는데 필요한 증분들의 수가 상기 잠재적인 곱셈 인수와 같도록 상 변화 물질에 대해 다수의 프로그래밍 상태들을 정의하는 것이다. 상기 프로그래밍 전략은 각 프로그래밍 상태의 프로그래밍 에너지의 명세를 포함하는데, 상기 프로그래밍 에너지는 상 변화 물질을 상기 프로그래밍 상태로 변환하기 위하여 상 변화 물질의 리셋 상태에 제공되어야 하는 에너지이다. 일단 각 프로그래밍 상태의 프로그래밍 에너지가 확립되면, 인접한 프로그래밍 상태들간의 증가 간격이 또한 확립되고 상 변화 물질을 한 프로그래밍 상태에서 다음 프로그래밍 상태로 변환하는데 필요한 에너지의 증가가 알려진다.
일단 상기 프로그래밍 전략이 특정 잠재적인 곱셈 인수에 대해 정의된 경우, 상기 잠재적인 곱셈 인수가 인수 분해가 요망되는 숫자의 진정한 인수인지에 대한결정이 내려질 수 있다. 상기 결정은 상기 상 변화 물질을 리셋시키는 것을 포함하고 상기 상 변화 물질을 인수 분해가 요망되는 숫자와 동일한 횟수만큼 증가시키는 것을 포함한다. 상기 증가시키는 것은 여기에서 또한 인수 분해가 요망되는 숫자에 따라 증가시키는 것으로서 지칭될 수 있다. 증가 횟수가 상기 잠재적인 곱셈 인수와 동일한 경우, 상 변화 물질은 설정된다. 상 변화 물질의 설정 상태는 상기 프로그래밍 전략에 포함된 다른 상태들보다 더 낮은 전기 저항을 가지며 전기 저항의 측정을 통해 쉽사리 검출될 수 있다. 예를 들어, 상 변화 물질이 증가될 때마다, 상기 상 변화 물질이 그것의 설정 상태에 있는지를 결정하기 위하여 전기 저항이 측정될 수 있다. 본 인수 분해 방법에서, 상기 상 변화 물질은 그것이 인수 분해가 요망되는 숫자에 따른 증가동안 그것이 설정될 때마다 리셋된다. 증가의 종결시, 상기 잠재적인 곱셈 인수가 진정한 인수인지에 대한 결정이 내려진다. 상기 상 변화 물질이 인수 분해가 요망되는 숫자에 따른 증가의 종결시 그것의 설정 상태에 있는 경우, 상기 잠재적인 곱셈 인수는 진정한 인수이다.
상기 설정 상태에서 증가의 종료는 상기 방법에 의해 채택된 프로그래밍 전략의 결론으로서 어떤 인수에 대한 필요한 조건이다. 인수 분해가 요망되는 숫자에서 잠재적인 곱셈 인수의 각 발생은 상기 상 변화 물질의 설정을 초래한다. 따라서, 상기 상 변화 물질이 증가의 종결시 그것의 설정 상태에 있는 경우, 상기 잠재적인 곱셈 인수는 제수(divisor)이고 따라서 인수 분해가 요망되는 숫자의 인수이다. 잠재적인 곱셈 인수가 진정한 인수인 경우, 그것의 공통-인수(즉 인수 분해될 원래의 숫자를 획득하기 위하여 곱해지는 숫자)는 상기 상 변화 물질이 증가동안설정되는 횟수를 셈으로써 결정될 수 있다. 상기 상 변화 물질이 그것의 설정 상태이외의 상태에 있는 경우, 상기 잠재적인 곱셈 인수는 인수가 아니다.
상기 인수 분해 방법은 복수의 잠재적인 곱셈 인수들에 따른 인수 분해를 제공한다. 상이한 곱셈 인수들이 상이한 곱셈 인수들에 따라 프로그램된 단일 장치를 사용하여 순차적으로 테스트될 수 있다. 제1 곱셈 인수는 상 변화 물질을 리셋 상태에서 설정 상태로 변환하는데 필요한 증가 횟수가 상기 제1 곱셈 인수와 같은 경우 상기 제1 곱셈 인수에 기초하여 제1 프로그래밍 전략을 사용하여 테스트될 수 있다. 제2 곱셈 인수는 상기 제2 곱셈 인수에 기초하여 제2 프로그래밍 전략을 사용하여 유사하게 테스트될 수 있다. 상 변화 물질을 포함하는 계산 매체는 프로그래밍 상태들을 정의하고 재정의함으로써 상이한 곱셈 인수들에 따라 주어진 볼륨의 상 변화 물질을 프로그램하고 재프로그램하는 기능을 제공한다. 프로그래밍 상태들의 수 및 프로그래밍 상태들을 분리하는 에너지 간격들은 상이한 곱셈 인수들을 수용하기 위하여 주어진 볼륨의 상 변화 물질에 대해 변경될 수 있다. 관심대상의 잠재적인 곱셈 인수들의 범위에 따라 상기 프로그래밍 전략을 변경함으로써, 주어진 볼륨의 상 변화 물질을 사용하여 어떤 숫자의 인수들을 결정하는 것이 가능하다. 따라서, 인수 분해는 상 변화 물질을 포함하는 단일 장치를 가지고 달성될 수 있다.
각각이 상이한 곱셈 인수들에 따라 프로그램된 다수 볼륨의 상 변화 물질은 또한 인수 분해를 달성하는데 사용될 수 있다. 본 실시예에서, 복수의 장치들이 인수 분해를 달성하는데 사용될 수 있다. 인수 분해할 숫자에 따른 증가는 상이한 곱셈 인수에 따라 프로그램된 일련의 장치들 각각에서 실시된다. 동일한 횟수의 증가가 상기 복수의 각 장치들에 적용된다. 상기 증가는 모든 장치들에 대해 동시에 한 증가가 수행될 수 있고, 각 장치는 장치마다 직렬로 연속하여 계속되는 완전한 증가를 가지고 완전하게 증가될 수 있거나, 모든 장치들에 대해 증가시키는 것 및 개별 장치들을 여러번 증가시키는 것의 조합을 통해 완전하게 증가될 수 있다. 유사하게, 각 개별 장치는 상기 장치의 프로그래밍 전략에 의해 지시된 양의 에너지를 증가시키는 것을 제공하기 위하여 전용 에너지 소스를 가질 수 있거나, 각 장치의 프로그래밍 전략들에 의해 지시된 바와 같이 복수의 장치들 각각에 가변적인 양의 에너지를 제공하는 능력을 지닌 단일 공유된 에너지 소스가 증가시키는데 사용될 수 있거나, 전용 및 공유된 에너지 소스들의 어떤 조합이 사용될 수 있다. 모든 장치들에 대한 병렬 동작 모드에서 개별 장치의 순차적인 고려까지를 포함하는 실시예들이 가능하다. 전 범위의 잠재적인 곱셈 인수들에 따라 프로그램된 충분한 수의 장치들의 포함을 통하여, 숫자의 모든 곱셈 인수들을 결정하는 것이 가능하다. 바람직한 실시예에서, 소수 인수들에 따라 프로그램된 장치들이 포함되고 숫자들의 소수 인수들을 결정하는데 사용된다.
예 1
본 예에서, 상기에 설명된 인수 분해 방법은 숫자 4가 숫자 32의 인수인지를 테스트하는데 사용된다. 따라서, 인수 분해될 숫자는 32이고 잠재적인 곱셈 인수는 4이다. 상기 방법의 구현은 상기 잠재적인 곱셈 인수에 따라 프로그래밍 상태들을 확립하는 것에서 시작한다. 본 예에서, 프로그래밍 전략은 4 증가가 상 변화 물질을 리셋 상태에서 설정 상태로 변환하는 방식으로 상기 상 변화 물질의 프로그래밍 상태들을 확립하는 것을 수반한다. 상기 프로그래밍 전략을 달성하는 하나의 방법은 상기 설정 상태를 4 증가들에 대응하는 프로그래밍 상태가 되도록 두고, 상기 리셋 상태를 0 증가에 대응하는 프로그래밍 상태가 되도록 두며, 1, 2 및 3 증가에 대응하는 프로그래밍 상태들로서 상기 리셋 상태 및 설정 상태 사이에 3개의 중간 상태들을 선택하는 것이다. 상기 3개의 중간 상태들은 상 변화 물질의 전기 응답 곡선의 고저항 평탄 영역을 따른 어느 곳에도 배치될 수 있다. 바람직한 실시예에서, 상기 3개의 중간 프로그래밍 상태들은 연속적인 프로그래밍 상태들간의 증가 간격이 균일하도록 선택된다. 한 프로그래밍 상태에서 다음 프로그래밍 상태로 증가시키는데 사용되는 에너지를 제공하는 에너지 소스가 단지 일정한 양의 에너지를 제공할 필요가 있기 때문에 상기 실시예는 바람직하다. 예를 들어 에너지가 에너지 펄스의 형태로 제공되는 경우, 일정한 에너지의 증가 펄스들이 상 변화 물질을 한 프로그래밍 상태에서 다음 프로그래밍 상태로 변환하기 위하여 인가될 수 있다. 비-균일 증가 간격들은 본 발명의 범위내에 있지만, 에너지 소스에 의해 제공되는 에너지가 증가동안 변할 필요가 있을 수 있기 때문에 덜 바람직하다.
여기에서 도 2는 본 예에 관한 한 프로그래밍 전략을 도시한 것이다. 상기 도면은 고 저항 평탄 영역 및 설정 변환과 연관된 저항의 급격한 감소를 포함하는 상 변화 물질의 전기 응답 곡선의 일부를 보여준다. 도 2의 실시예는 한 프로그래밍 상태에서 다음 프로그래밍 상태로의 증가 에너지가 일정하도록 균일한 에너지 간격들에 의해 분리된 프로그래밍 상태들을 보여준다. 상기 프로그래밍 상태들은 0에서 시작하여 연속적인 정수들을 가지고 표기되는데, 0이 표시된 상태는 리셋 상태이고, 4가 표기된 상태는 설정 상태이며, 1, 2 및 3이 표기된 중간 상태들이 도시된다. 상기 프로그래밍 상태들의 표기들은 또한 상기 프로그래밍 상태들에 할당되거나 상기 프로그래밍 상태들과 연관된 정수 데이터 값들로서 간주될 수 있다. 본 예의 프로그래밍 전략의 관계내에서, 4 에너지 증가들이 상기 상 변화 물질을 리셋 상태에서 설정 상태로 변환하는데 요구된다.
4가 32의 인수인지를 결정하기 위하여, 여기에서 도 2에 정의된 것들과 같은 프로그래밍 상태들을 지닌 상 변화 물질은 그것이 설정될 때마다 상기 상 변화 물질의 리셋을 제공하는 동안 그것의 리셋 상태로 변환되고 32회 증가된다. 하나의 증가 에너지를 제공하는 것은 상기 상 변화 물질을 프로그래밍 상태 0에서 프로그래밍 상태 1로 변환한다. 두번째 증가는 상기 상 변화 물질을 프로그래밍 상태 2로 변환한다. 기타 등등. 프로그래밍 상태 3에서 상 변화 물질을 증가시키는 것은 상기 상 변화 물질을 프로그래밍 상태 4로 설정하도록 야기한다. 상 변화 물질의 설정은 상기 설정 상태의 특징인 전기 저항 또는 어떤 다른 특성을 측정함으로써 검출될 수 있다. 전기 저항은 그것이 편리하고 상기 설정 상태의 식별을 쉽사리 허용하기 때문에 바람직한 측정이다. 전기 저항은 상기 상 변화 물질의 각 증가 이후 측정될 수 있다. 상기 설정 상태의 검출시, 상 변화 물질은 추가 증가가 시작되기 전에 리셋된다. 본 예에서, 에너지의 5번째 증가는 상기 상 변화 물질을 프로그램 상태 0에서 프로그램 상태 1로 변환하기 위하여 상기 리셋 상태에 부가되고 필요한 바와 같이 리셋동안, 추가 증가가 시작된다.
32 횟수 증가시, 상기 상 변화 물질의 상태가 평가된다. 상기 상 변화 물질이 그것의 설정 상태에 있는 경우, 상기 잠재적인 곱셈 인수는 진정한 인수이다. 본 예에서, 상기 상 변화 물질은 32회 증가시 그것의 설정 상태에 있고 4가 32의 곱셈 인수라는 것이 결정된다. 상 변화 물질이 설정되는 횟수를 셈으로써, 상기 공통-인수가 또한 결정될 수 있다. 본 예에서, 상기 상 변화 물질은 8회 설정된다. 따라서, 4의 공통-인수는 본 예에서 8인 것으로 여겨진다.
이전의 예 1의 방법의 한 구현에서, Ge2Sb2Te5가 상기 상 변화 물질로서 사용되었고 전기 에너지 펄스 형태의 증가 에너지가 사용되었다. 전기 에너지 펄스들은 펄스 전압 또는 펄스 지속 기간에 의해 특징지워질 수 있다. 상기 펄스 전압은 또한 펄스 높이 또는 펄스 크기로서 지칭될 수 있고 상기 펄스 지속 기간은 또한 펄스 폭으로서 지칭될 수 있다. 1.5V의 펄스 전압에서, 320ns의 지속 기간을 갖는 펄스를 인가할 시, 상기 상 변화 물질은 리셋 상태에서 설정 상태로 변환될 수 있다. 5개의 프로그래밍 상태들(4 프로그래밍 간격들)이 상기 잠재적인 곱셈 인수 4를 테스트하는데 사용되고 상기 프로그래밍 상태들은 균일하게 분리되도록 선택되었기 때문에, 80ns동안 인가된 1.5V 펄스의 에너지에 대응하는 에너지에 의해 분리된 프로그래밍 상태들이 선택되었다. 1.5V, 80ns 펄스의 인가는 상기 상 변화 물질을 한 프로그램 상태에서 다음 프로그램 상태로 변환하는데 충분한 에너지를 제공한다. 예를 들어, 프로그래밍 상태 0에 대해 1.5V, 80ns 펄스의 인가는, 상기 상 변화 물질을 프로그래밍 상태 1로 변환한다. 기타등등.
예 2
본 예에서, 7이 27의 인수인지에 대한 결정이 내려진다. 본 예는 상기에 설명된 예 1과 유사한 방식으로 완성될 수 있다. 본 예에서, 인수 분해될 숫자는 27이고 잠재적인 곱셈 인수는 7이다. 따라서 상 변화 물질은 7이 27의 인수인지를 결정하기 위하여 상기 잠재적인 곱셈 인수 7에 따라 프로그램되어야 한다. 적합한 프로그래밍 전략은 7 증가들이 상기 상 변화 물질을 리셋 상태에서 설정 상태로 변환하는데 필요하게 되는 방식으로 프로그래밍 상태들을 정의하는 것이다. 상기 리셋 상태는 프로그래밍 상태 0으로서 선택될 수 있고 설정 상태는 프로그래밍 상태 7로서 선택될 수 있는데, 6개의 중간 프로그래밍 상태들은 1, 2, 3, 4, 5 및 6으로 표기된다. 예 1에 비해 예 2에서의 더 많은 수의 프로그래밍 상태들은 특정 상 변화 물질에 대해, 프로그래밍 상태들간의 평균 에너지 간격이 예 1에서 보다 예 2에서 더 작다는 것을 암시한다. 적합한 증가 간격 또는 간격들은 선택된 프로그래밍 상태들을 분리하는 요망되는 에너지 간격들을 일치시키도록 에너지 소스에 의해 제공된 에너지를 조정함으로써 달성될 수 있다. 예를 들어, 전류 또는 전압 펄스들의 형태로 에너지를 제공하는 에너지 소스의 경우, 펄스당 에너지 내용은 펄스 폭 및/또는 지속 기간을 조정함으로써 변경될 수 있다.
잠재적인 인수 7에 따라 프로그래밍 상태들을 확립한 후, 인수 분해될 숫자에 따른 증가가 시작될 수 있다. 본 예에서, 상 변화 물질의 27 증가들이 요구된다. 상기 상 변화 물질은 리셋된다. 상기 상 변화 물질을 7회 증가시키는 것은 상기 상 변화 물질을 설정 상태로 변환하고, 그 때 상기 상 변화 물질은 리셋되는데,27 증가들이 제공될 때까지 필요한 만큼 추가 증가 및 리셋이 발생한다. 본 예에서, 상기 상 변화 물질은 21 증가들 이후에 설정 상태에 있게 되고 그다음 증가를 개시한 이래 3번째에 리셋된다. 부가적인 6개의 증가 펄스들은 상기 상 변화 물질을 프로그래밍 상태 6으로 변환한다. 따라서, 27 증가들 이후에 상기 상 변화 물질의 저항에 대한 테스트는 상기 상 변화 물질이 설정 상태에 있지 않다는 것을 나타내고 7이 27의 인수가 아니라는 결론이 나오게 된다. 프로그래밍 상태 1이 숫자 1 과 대응하도록 정수 값들이 상기 프로그래밍 상태들과 연관되는 경우, 27이 7로 나누어질 때 결과로서 나오는 나머지가 6이라는 것이 추가로 뒤따른다. 나머지들에 대한 추가 논의는 하기에 설명되는 모듈러 연산의 본 방법들의 논의에 제공된다.
예 3
본 예에서, 다수 볼륨의 상 변화 물질이 복수의 잠재적인 곱셈 인수들을 테스트하는데 사용된다. 상 변화 물질의 각 볼륨은 상이한 잠재적인 곱셈 인수에 따라 프로그램된 장치의 계산 매체로서 간주될 수 있다. 인수 분해될 숫자에 따라 이러한 각 장치를 증가시킴으로써, 복수의 잠재적인 곱셈 인수들 중 어느 것이 진정한 곱셈 인수들인지를 결정하는 것이 가능하다. 설명을 통해, 12의 곱셈 인수들의 결정이 내려질 수 있다.
일 실시예에서, 12의 곱셈 인수들은 12 이하의 값들을 지닌 잠재적인 곱셈 인수들에 따라 프로그램된 장치들을 포함함으로써 결정될 수 있다. 본 실시예에서, 숫자들 1-12에 따라 프로그램된 12개의 장치들이 이용되고 장치들 각각은 12회 증가된다. 상기에 설명된 바와 같이, 숫자, 즉 X에 따라 프로그램된 장치 또는 상 변화 물질의 볼륨은 리셋 상태에서 설정 상태로 변환되기 위하여 X 증가들이 요구된다. 증가동안, 각 장치는 상기에 설명된 바와 같이 추가 증가 이전에 그것이 설정 상태에 도달할 때마다 리셋된다. 증가의 완료시 설정 상태에 있는 것으로 발견된 장치들은 12의 진정한 곱셈 인수들인 숫자들에 대응한다. 본 예에서, 1, 2, 3, 4, 6 및 12에 따라 프로그램된 장치들은 증가의 종결시 그들의 설정 상태에 있어서 12의 곱셈 인수들인 것이 쉽사리 명백하다. 곱셈 인수에 따라 프로그램된 장치들 각각이 증가동안 설정된 횟수는 또한 각 곱셈 인수와 연관된 공통-인수의 결정을 허용하도록 카운트될 수 있다. 5, 7, 8, 9, 10 및 11에 따라 프로그램된 장치들은 증가의 종결시 설정 상태 이외의 상태에 있어서 12의 곱셈 인수들이 아닌 것으로 결정된다.
본 예에 포함된 복수의 장치들내의 각 장치는 다음 장치가 증가되기 전에 개별적으로 완전하게 증가될 수 있고(직렬 모드), 한 증가가 어떤 하나의 장치에 추가 증가들을 제공하기 전에 모든 장치들에 인가될 수 있으며(병렬 모드), 직렬 및 병렬 모드들의 어떤 조합이 증가시 사용될 수 있다. 개별 전용 에너지 소스가 각 장치에 대해 사용될 수 있고 상기 장치의 프로그래밍 전략에 의해 전용된 증가 에너지를 제공하도록 구성될 수 있으며, 가변 증가 에너지들을 제공할 수 있는 단일 에너지 소스 또는 전용 및 가변 에너지 소스들의 조합이 사용될 수 있다.
동일한 상 변화 물질이 복수의 장치들 각각에 대해 사용되는 경우, 균일한 프로그래밍 상태들을 분리하는 에너지 간격은 상이한 잠재적인 곱셈 인수들에 따라 프로그램된 장치들에 대해 상이할 것이다. 예를 들어 숫자 9에 따라 프로그램된 장치는 숫자 5에 따라 프로그램된 장치보다 프로그램 상태들간에 더 작은 균일한 에너지 간격들을 지닐 것이다. 이 상황에서 에너지가 고정 펄스 크기를 지닌 전류 또는 전압 펄스들의 형태로 제공되는 경우, 동일한 수의 증가 펄스들이 각 장치에 인가될 수 있는데, 펄스 폭은 각 장치의 프로그래밍 전략을 확립하는데 사용된 잠재적인 곱셈 인수에 따라 변한다.
예 3은 어떤 숫자의 일 집합의 곱셈 인수들을 식별하는 것을 지향하는 일 실시예를 제공하고 인수 분해될 숫자까지 그리고 상기 숫자를 포함하는 곱셈 인수들의 고려를 포함한다. 대안적인 실시예들이 가능하다.
다른 실시예에서, 숫자가 항상 그 자체의 인수이고, 1이 모든 숫자의 인수이며, 숫자의 어떤 다른 곱셈 인수도 상기 숫자의 값의 절반을 초과하지 않는다는 것이 인지된다. 예를 들어 숫자 12에 대해, 12를 제외한, 가장 큰 인수는 6이다. 따라서, 어떤 숫자의 인수들의 결정은 2로 시작하고 인수 분해될 숫자의 절반으로 끝나는 숫자들에 따라 프로그램된 장치들을 고려함으로써 더 효과적으로 행해질 수 있다. 홀수의 경우, 2가 인수가 아니고 가장 큰 인수는 인수 분해될 숫자의 3분의 1을 초과할 수 없는 것이 추가로 인지될 수 있다. 그러므로, 고려될 필요가 있는 장치들의 수는 인수 분해 방법의 효율성을 개선시키기 위하여 감소될 수 있다.
소수들로 인수 분해하는 방법들
이전의 예들 및 개시들은 하나의 수가 다른 수의 곱셈 인수인지를 식별하는 것과 어떤 숫자의 곱셈 인수들의 완전한 집합 또는 부분 집합을 결정하는 것을 포함하는 인수 분해 방법들을 설명한다. 본 발명은 단지 소수에 따라 프로그램된 장치들이 고려될 수 있는 관련된 방법들을 포함한다. 수 이론으로부터, 어떤 숫자도 단지 소수들의 곱으로서 표현될 수 있다는 것이 알려져 있다. 따라서, 잠재적인 곱셈 인수들로서 단지 소수들을 고려하는 것은 숫자를 그것의 소수들로 인수 분해하는 방법을 제공한다. 숫자를 단지 소수들을 포함하는 곱으로 완전하게 인수 분해하는 것 뿐만 아니라 소수들이 숫자의 인수들인지에 대한 식별은 소수들로 인수 분해하는 본 방법들을 가지고 가능하다.
상기에 설명된 바와 같이, 복수의 잠재적인 곱셈 인수들 각각은 한 장치를 사용하고 상이한 잠재적인 곱셈 인수들에 따라 그것의 프로그래밍 전략을 변경함으로써 또는 각각이 상이한 잠재적인 곱셈 인수에 따라 프로그램된 다수의 장치들을 사용함으로써 또는 이전의 것들의 어떤 조합을 사용함으로써 테스트될 수 있다. 소수들로 인수 분해하는 방법들에서, 소수들에 따라 프로그램된 장치들만이 포함된다. 소수들에 대한 제한을 제외하고, 소수들로 인수 분해하는 방법들의 구현은 상기에 설명된 인수 분해 방법들을 유사하게 따를 수 있다. 숫자 1은 모든 숫자의 인수이기 때문에, 그것이 소수가 되는 것으로 고려될 수 있을지라도 특별히 그것을 고려할 필요는 없다.
예 4
본 예에서, 숫자 21의 소수 인수들이 복수의 장치들을 사용하여 결정되는데, 상기 장치들 각각은 상이한 소수에 따라 프로그램된 상 변화 물질을 포함한다. 본 예에서, 인수 분해될 숫자의 절반을 초과하지 않는 소수들이 고려된다. 따라서, 숫자들 2, 3, 5 및 7에 따라 프로그램된 장치들이 본 예에서 고려된다. 다음 소수 11은 그것과 더 큰 소수들이 21의 인수들이 되지 않도록 21의 절반보다 더 크다.
21의 소수 인수 분해를 실시하기 위하여, 숫자들 2, 3, 5 및 7에 따라 프로그램된 장치들은 21회 증가되고 증가동안 필요한 바와 같이 리셋된다. 증가의 완료시 설정 상태에 있는 장치들은 21의 소수 인수들에 대응한다. 본 예에서 증가의 실행은 3과 7에 따른 장치들이 증가의 종결시 그들의 설정 상태에 있다는 것을 나타내고 반면에 2와 5에 따라 프로그램된 장치들은 그들의 설정 상태에 있지 않다는 것을 나타낸다. 따라서, 3과 7은 21의 소수 인수들이다.
소수 자체가 예 4의 실시예에 따라 분석된 경우, 아무런 장치들도 증가의 종결시 그들의 설정 상태에 있지 않을 것이다. 이러한 결과는 원래의 수가 소수라는 결론을 초래하거나 상기 숫자가 인수들로서 단지 자기 자신 및 1을 가진다는 동등한 결론을 초래한다. 13이 소수 인수 분해가 요망되는 숫자이고 상기 예 4에서 설명된 절차가 채택된 경우, 2, 3 및 5에 따라 프로그램된 장치들은 13회 증가될 것이고 상기 장치들 중 아무런 장치도 증가의 종결시 그것의 설정 상태에 있지 않을 것이다. 13이 인수들로서 자기 자신 및 1만을 가진다는 결과는 또한 13까지의 소수들에 따라 프로그램된 장치들이 상기 방법에서 사용된 경우 도달될 것이다.
상기에 설명된 바와 같이, 각 소수 인수의 공통-인수는 상기 소수 인수에 따라 프로그램된 상 변화 물질의 볼륨 또는 장치가 증가동안 설정된 횟수를 셈으로써 결정될 수 있다. 각 소수와 그것의 공통-인수의 곱은 소수 인수 분해가 요망된 원래의 숫자와 동일하다. 소수들에 따라 프로그램된 장치들이 이용될지라도, 공통-인수들은 소수들이 될 수 없다. 따라서, 소수들만을 포함하는 곱으로 숫자를 완전하게 인수 분해하기 위하여 추가 고려 사항이 요구된다.
21의 식별된 소수 인수들(3과 7) 각각은 또한 소수이었던(각각 7과 3) 공통-인수를 가졌기 때문에 이들 추가 고려 사항들은 상기에 설명된 예 4에서 필요하지 않았다. 예 4에서 설명된 방법은 어떤 숫자의 특정 소수들이 곱셈 인수들인지를 결정하는데 사용될 수 있지만, 숫자를 그것의 소수 인수들로 완전하게 인수 분해하는 것을 제공할 수 없는데, 완전한 인수 분해는 곱이 인수 분해되는 숫자와 동일한 유일한 집합의 소수들의 식별을 지칭한다. 예 4에서, 식별된 소수 인수들의 곱(3 곱하기 7)이 인수 분해되는 수(21)와 같기 때문에 완전한 인수 분해가 발생했다.
18과 같은 수의 소수들로의 완전한 인수 분해는 예 4에 표시된 것들을 넘는 고려 사항들을 포함할 요망을 설명한다. 예 4의 프레임워크에서 소수들에 따라 프로그램된 장치들을 사용하는 18의 인수 분해는 소수들 2, 3, 5 및 7에 따라 프로그램된 상 변화 물질의 볼륨들 또는 장치들의 포함을 필요로 한다. 숫자 18에 따른 상기 장치들 각각의 증가의 완료시, 2와 3만이 18의 소수 인수들인 것이 발견된다. 2*3은 18이 아니기 때문에, 이 상황에서의 결과는 18의 그것의 소수들로의 완전한 인수 분해를 구성하지 않는다. (편의를 위하여, 상기 표기 *는 여기에서 곱셈의 수학적 연산을 표기하는데 사용될 것이다. 예를 들어, 2와 3의 곱은 2*3으로 표현될 수 있는데 2*3은 2 곱하기 3을 암시한다.) 그대신, 상기 결론은 단지 18의 소수 인수들이 2와 3이지만, 인수들 2와 3 중 하나 또는 양자가 18의 완전한 소수 인수 분해시 두번 이상 나타나야 한다는 것을 따른다. 따라서, 어떤 숫자의 완전한 소수 인수 분해는 소수 인수 분해가 요구되는 숫자와 동일한 소수들의 곱에서 각 소수인수의 발생 횟수 뿐만 아니라 모든 소수 인수들의 식별을 포함한다.
완전한 소수 인수 분해는 소수들에 따른 초기 인수 분해시 획득된 공통-인수들의 추가 고려를 필요로 한다. 18의 경우, 소수 인수들 2와 3이 식별되고 각각 공통-인수들 9와 6을 지닌다. 상기에 나타낸 바와 같이, 상기 공통-인수들은 식별된 소수 인수들에 따라 프로그램된 장치들에 대해 발생하는 설정 변환들의 수를 셈으로써 결정될 수 있다. 상기 공통-인수들은 소수들이 아니기 때문에, 18의 완전한 소수 인수 분해가 소수들의 초기 고려시 달성될 수 없다는 것은 명백하다. 초기에 식별된 소수 인수들에 대해 획득된 상기 공통-인수들의 소수 인수들의 제2의 결정이 필요하다. 2*9와 3*6 양자는 18과 같기 때문에, 소수 인수들의 제2의 결정은 상기 공통-인수들 9와 6 중 어느 하나에 대해 행해질 수 있다.
상기 제2의 결정은 초기 고려가 소수들로 인수 분해되는 숫자에 존재하는 모든 소수 인수들을 식별했다는 지식에 의해 단순화된다. 따라서, 상기 공통-인수들은 식별된 소수 인수들에 따라 프로그램된 장치들을 가지고 인수 분해될 수 있다. 18의 경우, 상기 공통-인수 9 또는 상기 공통-인수 6은 추가 고려를 위해 선택될 수 있고 상기 추가 고려의 필요는 단지 식별된 소수 인수들 2와 3에 따라 프로그램된 장치들을 포함한다. 상기 공통-인수 9가 선택되고 2와 3에 따라 프로그램된 장치들에 대해 상기에 설명된 바와 같이 테스트되는 경우, 2는 소수 인수가 아니고 반면에 3은 3의 공통-인수를 지닌 소수 인수라는 것이 발견된다. 상기 공통-인수 3은 소수이기 때문에, 18을 소수들로 인수 분해하는 것은 결과 18=2*3*3으로 완료된다. 이 결과에서, 2는 소수 인수들의 초기 결정시 식별된 소수 인수이고, 3은 소수인수들의 제2의 결정시 식별된 소수 인수이며 3은 소수 인수들의 제2의 결정시 식별된 공통-인수이다. 따라서, 상기 소수 3은 18의 소수 인수 분해시 두번 존재하는 것으로 보여진다.
공통-인수들의 소수 인수들의 몇몇 결정들은 어떤 입력 수의 완전한 소수 인수 분해를 실시하기 위하여 연속적으로 실행될 수 있다. 소수 인수 분해는 연속적으로 더 작은 숫자들의 소수 인수들의 연속적인 결정으로서 간주될 수 있다. 입력 수의 소수 인수들은 초기 고려 또는 인수 분해의 레벨에서 결정되고, 소수인 공통-인수가 발견될 때까지 초기 고려에서 식별된 소수 인수들 중 하나의 공통-인수가 다음 고려 등에서 사용된다. 따라서 고려의 각 레벨은 연속적인 방식에서 고려의 이전의 고려 레벨보다 더 작은 숫자의 분석을 포함한다. 각 결정의 레벨은 이전의 결정에서 발견된 어떤 공통-인수를 가지고 완성될 수 있다. 상기 공통-인수가 소수인 것으로 발견되는 레벨에서, 완전한 소수 인수 분해가 달성되었다. 숫자 18의 경우에, 두 레벨의 고려가 포함되었다. 제1 레벨의 고려에서, 숫자들 2와 3은 소수 인수들로서 식별되었고 제2 레벨에서 상기 공통-인수 9가 추가로 고려되었으며 공통-인수 3을 지닌 소수 인수 3을 포함하는 것으로 발견되었다. 상기 공통-인수 3은 소수이기 때문에, 단지 두 레벨의 고려가 숫자 18을 위해 필요하다. 더 복잡한 경우들은 유사하게 분석될 수 있다.
소수 인수 분해를 완성하는 대안적인 방법은 한 레벨의 고려 이후에 획득된 소수 인수들의 곱과 입력 수가 동일한지를 알기 위하여 상기 한 레벨의 고려 이후에 획득된 소수 인수들과 입력 수를 비교하는 것이다. 예를 들어, 공동 계류중인모 출원 미국 특허 출원 번호 10/144319는 상 변화 물질을 사용하는 곱셈의 방법들을 기술한다. 한 레벨의 고려 이후에 획득된 소수 인수들의 곱이 입력 수와 동일한 경우, 완전한 소수 인수 분해가 달성되었다. 그렇지 않은 경우, 추가 고려가 필요하다. 추가 고려는 상기에 설명된 바와 같이 소수 인수들에 대한 다른 레벨의 고려를 포함할 수 있거나 입력 수를 초기 레벨의 고려 이후에 획득된 소수 인수들의 곱으로 나누는 것을 포함한다. 상 변화 물질을 사용하는 제산 방법들은 예를 들어 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 개시되어 있다. 제산의 결과가 소수인 경우, 소수 인수 분해가 달성되었다. 그렇지 않은 경우, 나눈 결과는 소수 인수 분해가 달성될 때까지 인수 분해 또는 제산에 의해 추가로 고려된다. 상기 대안적인 방법은 또한 숫자들을 비-소수들을 포함하는 인수들로 인수 분해하는 일반적인 인수 분해를 위해 사용될 수 있다.
상기한 것을 설명하기 위하여, 숫자 18의 소수 인수 분해의 예가 설명될 것이다. 상기에 나타낸 바와 같이, 한 레벨의 인수 분해 이후에, 2와 3은 18의 소수 인수들로서 식별된다. 2와 3의 곱은 6이다. 6은 18과 같지 않기 때문에, 소수 인수 분해를 완료하기 위하여 추가 고려가 필요하다. 상기 제산 방법에 의하면, 원래의 숫자 18은 3을 획득하기 위하여 6으로 나누어진다. 따라서, 상기 제산의 결과는 3이 18의 다른 인수라는 것이다. 3은 소수이기 때문에, 상기 제산 방법의 한 구현은 18이 2*3*3으로 소수 인수 분해될 수 있다는 결과를 가지고 상기 소수 인수 분해를 완료한다.
여기에 개시된 인수 분해 방법들과 소수 인수 분해 방법들에서, 인수 또는소수 인수의 공통-인수를 결정하는 것이 자주 요망된다. 상기에 나타낸 바와 같이, 인수의 공통-인수는 상기 인수에 따라 프로그램된 한 볼륨의 상 변화 물질이 입력 수에 따라 증가하는 동안 설정되는 횟수를 셈으로써 결정될 수 있다. 설정 변환들을 세는 것은 외부 카운터를 가지고 완료될 수 있거나 상기 상 변화 물질이 설정될 때마다 카운팅 레지스터를 1씩 증가시킴으로써 완료될 수 있다. 상 변화 물질을 포함하는 카운팅 레지스터들은 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 기술되어 있다. 카운팅 레지스터는 본 방법들에 의해 계산 매체로서 사용되는 상 변화 물질의 볼륨과 같이 동일하거나 상이한 수의 프로그래밍 상태들을 가질 수 있다. 어떤 수들의 인수 분해시, 상기 공통-인수는 큰 수일 수 있고 카운팅 레지스터에 이용가능한 프로그래밍 상태들의 수를 초과할 수 있다. 이러한 공통-인수들을 설명하기 위한 하나의 방법은 몇몇 레지스터 각각이 다중디지트 공통-인수의 한 디지트를 저장하는데 사용될 수 있는 다수의 카운팅 레지스터들을 사용하는 것이다. 상기 다중디지트 숫자들의 저장은 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 설명되어 있다.
모듈러 연산 방법들
잠재적인 곱셈 인수가 결정되는 상술된 예 2와 같은 예에서, 인수 분해 방법의 결과는 여전히 해석적으로 유용할 수 있다. 모듈러 연산으로 알려져 있는 수학의 분기는 한 수를 다른 수로 나눌시 결과로서 나오는 나머지들에 대한 고려를 포함한다. 상술된 바와 같이, 나머지가 0인 경우, 인수 분해가 달성된다. 0이 아닌 나머지들은 인수 분해를 나타내지 않지만, 모듈러 연산 계산들에서 중요하다. 모듈러 연산은 많은 수학 교과서에 설명되어 있고 모듈러 연산의 개시된 방법들에 대한 배경 정보 및 정황을 제공하기 위하여 하기에 부분적으로 설명된다.
나머지는 모듈러 연산에서 중요한 양이다. 여기에서 사용되는 바와 같이, 나머지는 한 수가 다른 수로 나누어질 때 남는 수를 지칭한다. 19가 7로 나누어질 때, 예를 들어 나머지 5가 획득된다. 34가 9로 나누어질 때, 예를 들어 나머지 7이 획득된다. 제산 알고리즘으로서 알려진, 수 이론에서 일반적인 결과는 정수가 다른 정수로 나누어질 때마다 나머지를 제공한다. 제산 알고리즘에 의하면, 임의의 정수 a(피제수)는 a=q*b+r에 따라 정수 b(제수)로 표현될 수 있는데, 상기에서 q는 정수(몫)이고 r은 제수 b의 크기 미만의 값을 지닌 음수가 아닌 정수이다. 수 이론에 의하면, q와 r의 값들은 주어진 피제수 및 제수에 대해 유일하다.
모듈러 연산에 있어서, 정수들은 연산 시스템의 모듈러스에 대해 그들의 나머지로 표현된다. 상기 모듈러스는 제산 관계에서 제수에 가깝다. 예를 들어, 7로 나누는 제산에 대해 나머지들은 7과 동일한 모듈러스를 지닌 연산 시스템을 정의하는데 사용될 수 있다. 이러한 연산 시스템은 또한 모듈로 7 시스템으로 지칭될 수 있다. 모듈로 7 시스템에서, 정수들은 7로 나누는 나눗셈에 대해 그들의 나머지로 표현된다. 19가 7로 나누어지는 이전의 예에서, 나머지 5가 결정되었다. 그러므로, 모듈로 7 시스템에서, 숫자 19는 그것의 나머지 5로 표현된다. 이 결과는 또한 합동 관계의 형태로 표현될 수 있다: 19 ≡ 5 mod 7, 상기 수학 기호 ≡는 합동을 나타낸다. 유사한 고려들이 어떤 모듈러스를 지닌 연산 시스템들에 적용될 수 있고 상기 형태 a ≡ r mod m의 일반적인 합동 관계가 작성될 수 있는데 m은 모듈러스이고, a는 정수이며, r은 a가 m으로 나누어질 때 결과로서 나오는 나머지이다. 상기 나머지 r은 또한 모듈러 m 시스템에서 정수 a의 합동으로서 지칭될 수 있다. 상기 나머지 r은 또한 피제수 a가 제수 m으로 나누어질 때 결과로서 나오는 나머지로서 간주될 수 있다.
모듈로 m 시스템에서, 상기 나머지 r은 0부터 m-1까지 범위에 있는 정수값들을 지니고 모든 정수들 a는 r의 허용된 값들 중 하나를 지녀야 한다. 예를 들어, 모듈로 5 시스템에서, r은 0, 1, 2, 3 또는 4가 될 수 있고 모든 정수값들 a는 0, 1, 2, 3 또는 4에서 선택된 나머지들 r을 갖는다. 모듈로 5에서 합동 관계들의 예들은 다음을 포함한다: 19 ≡ 4 mod 5, 22 ≡ 2 mod 5, 46 ≡ 1 mod 5 등. 나머지 r의 주어진 값은 상기 정수 a의 몇몇 값들과 반드시 연관된다. 따라서, 예를 들어, 19 ≡ 4 mod 5, 54 ≡ 4 mod 5, 799 ≡ 4 mod 5 등이다. a 모듈로 m 연산 시스템에서 동일한 나머지 b를 지닌 정수들은 동일한 등가 클래스 또는 나머지 클래스에 있는 것으로 지칭될 수 있다. 예를 들어, 19, 54 및 799는 모듈로 5 시스템에서 동일한 등가 클래스에 있다. 완전한 등가 클래스는 특정 모듈로 시스템에서 동일한 나머지를 지닌 모든 정수들을 포함한다. 모듈로 m 시스템에서 상이한 등가 클래스들의 수는 m이다. 예를 들어, 모듈로 3 시스템은 3개의 가능한 나머지 값들 0, 1 및 2에 의해 정의된 3개의 등가 클래스들을 지닌다.
상기 나머지 r의 결정은 모듈러 연산에서 기본적인 계산들 중 하나이다. 상기에 설명된 예 2에 예시된 바와 같이, 다중상태 계산 매체는 나머지들을 제공하는데 사용될 수 있다. 상술된 바와 같이, 상 변화 물질들은 본 방법들의 관계에서 바람직한 다중상태 계산 매체이다. 상술된 인수 분해 방법들 중 하나의 구현동안 증가의 종결시, 상 변화 물질이 그것의 설정 상태에 있지 않은 경우, 상기 상 변화 물질이 프로그램된 숫자는 원래의 입력 수의 인수가 아닌 것으로 알려져 있다. 증가의 종결시 그것이 어떤 프로그래밍 상태에 있는 지를 결정하기 위하여 상기 상 변화 물질을 읽음으로써, 나머지가 결정될 수 있다. 모듈러 연산 시스템에서 입력 수의 합동을 결정하기 위한 방법의 예시적인 예는 다음 예 5에 제공된다.
예 5
본 예에서, 모듈로 6 시스템에서 16의 합동이 결정된다. 상기 계산은 또한 합동 계산으로서 지칭될 수 있다. 상기 합동 계산에서, 합동 관계 16 ≡ r mod 6에서 양 r이 구해진다. 상기 합동 결정을 완료하기 위하여, 상 변화 물질은 모듈러스 6에 따라 프로그램된다. 상술된 바와 같이, 상기 프로그래밍은 6 증가들이 리셋 상태에서 설정 상태로 상기 상 변화 물질을 변환하는데 요구되도록 프로그래밍 상태들이 정의되는 전략을 통해 달성된다. 상기 리셋 상태는 0 증가들과 연관될 수 있고, 상기 설정 상태는 6 증가들과 연관될 수 있으며, 부가적인 상태들은 1, 2, 4, 4 및 5 증가들에 대응하는 고 저항 평탄 영역을 따라 정의될 수 있다. 상태들간의 에너지 분리는 균일 또는 비-균일 일 수 있다. 그렇게 프로그램된 상 변화 물질은 모듈로 6 상 변화 물질로서 지칭될 수 있다.
모듈러 연산을 위하여, 정수값들은 상기 상 변화 물질의 상태의 해석을 용이하게 하기 위하여 상기 프로그래밍 상태들과 연관될 수 있다. 상기 리셋 상태는 값 0과 연관될 수 있고, 1 증가에 대응하는 프로그래밍 상태는 값 1과 연관될 수 있다. 기타등등. 모듈로 6 시스템은 5 이하의 나머지들을 제공하기 때문에, 상기 설정 상태(본 예에서 6 증가들에 대응하는 프로그래밍 상태)는 값 0과 적합하게 연관된다.(상기 설정 상태가 6과 연관된 경우, 상기 설정 상태에 있는 상 변화 물질의 중요도는 6 mod 6으로서 해석될 수 있다. 0은 6 mod 6과 합동이기 때문에, 상기 값 0을 상기 설정 상태에 연관시키는 것에 의해 아무런 충돌도 발생하지 않는다. 상기 연관은 또한 상술된 바와 같이 인수 분해에 대한 기준으로서 상기 설정 상태의 사용과 일관된다.)
일단 요망되는 모듈러스에 따라 프로그램되면, 상기 상 변화 물질은 프로그램된 모듈러스내의 어떤 합동 관계를 결정하는데 사용될 수 있다. 본 예에 있어서, 모듈로 6 시스템에서의 16의 합동이 결정될 것이다. 상기 결정은 상기 합동 관계가 구해지는 숫자에 따라 상기 상 변화 물질을 증가시킴으로써 진행된다. 본 예에서, 16 증가들이 상기 상 변화 물질에 제공되고 상기 상 변화 물질은 그것이 설정 상태로 변환될 때마다 리셋된다. 상기 상 변화 물질은 필요한 경우 증가 이전에 리셋 상태로 변환된다. 상술된 바와 같이, 상기 상 변화 물질의 고 저항은 상기 상 변화 물질이 설정 상태로 변환될 때 평가하기 위하여 증가동안 측정될 수 있다. 본 예에서 6 에너지 증가들의 인가는 상기 상 변화 물질을 그것의 리셋 상태에서 그것의 설정 상태로 변환하는데, 그 시점에 상기 상 변화 물질은 추가 증가전에 리셋된다. 7 내지 12의 증가들의 인가는 본 예에서 두번째로 상기 상 변화 물질을 설정 상태로 변환한다. 상기 상 변화 물질은 다시 리셋되고 요구되는 16 증가들 중 마지막 4 증가들이 상기 상 변화 물질에 제공된다. 증가 13은 상기 상 변화 물질을 값 1과연관된 프로그래밍 상태로 변환하고, 증가 14는 상기 상 변화 물질을 값 2와 연관된 프로그래밍 상태로 변환하며, 증가 15는 상기 상 변화 물질을 값 3과 연관된 프로그래밍 상태로 변환하고 증가 16은 상기 상 변화 물질을 값 4와 연관된 프로그래밍 상태로 변환한다. 따라서, 요구되는 16 증가들의 종결시, 상기 상 변화 물질은 값 4와 연관된 프로그래밍 상태에 있게 된다. 최종 프로그래밍 상태는 요망되는 나머지 또는 합동을 제공하고 본 예에서 구해지는 합동 관계가 16 ≡ 4 mod 6라는 결론이 뒤따른다.
예 5에서와 같은 합동 관계의 계산은 증가의 완료시 상기 상 변화 물질이 있는 프로그래밍 상태의 결정을 요구한다. 최종 프로그래밍 상태는 상기 상 변화 물질을 읽음으로써 결정될 수 있다. 상기 상 변화 물질이 증가의 종결시 설정 상태에 있는 경우, 읽는 것은 전기 저항을 측정함으로써 달성될 수 있다. 이 경우, 상기 나머지는 0이고 상기 합동 관계는 r을 0으로 놓음으로써 완료된다. 상기 경우는 모듈러스 m이 a의 곱셈 인수인 경우에 대응한다.
상기 모듈러스 m이 a의 곱셈 인수가 아닌 경우, 상기 상 변화 물질은 증가의종결시 그것의 설정 상태 이외의 최종 프로그래밍 상태에 있게 된다. 상기 최종 프로그래밍 상태는 상기 상 변화 물질을 읽음으로써 결정될 수 있다. 읽는 것은 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 설명되어 있고 상기 합동 계산의 구현동안 달성된 최종 프로그래밍 상태로부터 상기 상 변화 물질의 증가를 필요로 한다. 상기 최종 프로그래밍 상태는 다음에 의해 결정될 수 있다: 1. 상기 상 변화 물질이 설정될 때까지 증가시키는 것; 2. 요구되는 증가 수를 세는 것; 및 3.상기 계산의 모듈러스에서 요구되는 증가들의 수를 빼는 것. 예를 들어, 상술된 예 5에서, 상기 상 변화 물질은 그것의 최종 프로그래밍 상태에서 그것의 설정 상태로 변환하는데 2 증가들이 요구된다. 상기 모듈러스 6에서 2를 빼는 것은 4를 제공한다. 따라서, 상기 최종 프로그래밍 상태는 숫자 4와 연관된 프로그래밍 상태라는 것이 결론지어질 수 있고 4가 예 5의 합동 계산시 구해진 나머지라는 것이 결론지어질 수 있다. 공동 계류중인 모 출원 미국 특허 출원 번호 10/144319에 설명된 일 실시예에서, 단계 2에 포함된 카운팅은 상기 상 변화 물질의 최종 프로그래밍 상태에 제공된 에너지의 각 증가에 대해 한 번 카운팅 레지스터를 증가시킴으로써 달성될 수 있다. 상기 실시예에서, 단계 3의 감산에 의해 표현된 차이는 상기 카운팅 레지스터가 상기 합동 계산에 사용된 상기 상 변화 물질과 같은 동일한 수의 프로그래밍 상태들을 지니는 경우 상기 카운팅 레지스터를 설정하는데 요구되는 증가의 횟수에 대응한다. 바람직한 실시예에서, 상기 카운팅 레지스터는 상기 합동 계산에 사용된 모듈러스에 따라 프로그램된 상 변화 물질을 포함한다.
상기에 나타낸 바와 같이, 모듈러스 m에 대한 상기 합동 계산은 모든 정수들의 집합을 m으로 나누는 것에 대해 공통 나머지를 지닌 합동 클래스들 또는 나머지들로 분리한다. 예를 들어, 모듈로 5 시스템에서, 나머지들 0, 1, 2, 3 및 4에 대응하는 5개의 나머지 클래스들이 존재하고 모든 정수는 상기 나머지 클래스들 중 하나 그리고 단지 하나에 포함된다. 예를 들어 나머지 클래스 2는 멤버들로서 2, 7, 12, 17, ... 을 포함한다; 나머지 클래스 3은 멤버들로서 3, 8, 13, 18, ... 등을 포함한다. 몇몇 입력 수들 각각에 대해 모듈러 연산 시스템에서 입력 수의 합동을 결정하기 위한 본 방법의 적용은 일 집합의 숫자들을 나머지 클래스들로 분류하는데 사용될 수 있다.
모듈러 연산 시스템에서의 가산이 또한 본 발명에 따라 상 변화 물질을 사용하여 완료될 수 있다. 모듈러 연산 시스템들은 모듈러 연산 시스템의 다른 요소에 모듈러 연산 시스템의 한 요소를 가산하는 것이 또한 모듈로 연산 시스템의 멤버인 결과를 반드시 제공하도록 가산에 대해 닫혀 있다. 예로서, 우리는 상기에 언급된 모듈로 5 시스템을 고려할 수 있다. 상기 모듈로 5 시스템은 멤버들로서 0, 1, 2, 3 및 4를 지닌다. 상술된 바와 같이, 상기 숫자들은 모듈로 5 연산 시스템에 존재하는 가능한 나머지들 또는 나머지 클래스들로서 간주될 수 있다. 모듈러 연산에서의 가산은 결과가 모듈러 연산 시스템의 멤버로 한정된다는 것을 제외하고는, 정상적인 십진수 가산과 유사한 방식으로 완료된다. 모듈로 5 시스템에서의 1을 모듈로 5 시스템에서의 2에 가산하는 것은 모듈로 5 시스템에서의 3과 같다. 상기 가산은 1 mod 5 + 2 mod 5 = 3 mod 5로서 표현될 수 있다.
모듈러 연산 시스템의 두 멤버들의 합이 모듈러 연산 시스템의 모듈러스 이상인 경우 특별한 고려가 필요하다. 예를 들어, 모듈로 5 시스템에서, 3과 4의 가산은 정상적인 십진수 연산에서 예기되는 결과, 7이 상기 모듈러 연산 시스템의 모듈러스 5를 초과하기 때문에 적합한 처리를 요구한다. 이들 경우들은 상기 예기되는 십진수 결과를 그것의 모듈로 5 등가로 변환함으로써 적합하게 처리될 수 있다. 따라서, 3 mod 5 + 4 mod 5 = 7 mod 5 = 2 mod 5이다. 상기 결과 2는 모듈로 5 연산 시스템의 멤버이므로 적합한 결과이다. 모듈러 연산 시스템의 프레임워크에서일반적으로 십진수들의 가산은 십진수들을 그들의 모듈로 등가들 및 가산으로 변환함으로써 유사하게 완료될 수 있다. 예로서, 우리는 19 mod 5 + 37 mod 5 = 4 mod 5 + 2 mod 5 = 6 mod 5 = 1 mod 5와 같이, 모듈로 5 시스템에서 19와 37을 가산할 수 있다. 상기 계산은 또한 우선 상기 십진수들을 가산한 후 그 결과를 그것의 모듈로 5 등가로 변환함으로써 완료될 수 있다: 19 mod 5 + 37 mod 5 = 56 mod 5 = 1 mod 5.
모듈러 연산 시스템에서의 가산은 상기 모듈러 연산 시스템의 모듈러스에 따라 상 변화 물질을 프로그래밍하고, 상기 상 변화 물질을 리셋시키며, 그것을 가산된 숫자들에 따라 증가시킴으로써 본 방법에서 쉽사리 달성될 수 있다. 예를 들어, 19와 37이 모듈로 5 연산 시스템에서 가산되는 이전의 예에서, 우리는 모듈러스 5에 따라 상 변화 물질을 프로그래밍함으로써 시작할 수 있다. 상술된 바와 같이, 상기 프로그래밍은 5 증가들이 상기 상 변화 물질을 그것의 리셋 상태에서 그것의 설정 상태로 변환하는데 요구되도록 프로그래밍 상태들을 정의하는 것을 포함한다. 따라서, 총 6개의 프로그래밍 상태들이 정의되는데, 리셋 상태, 설정 상태 및 4개의 중간 상태들이 포함된다. 상기 상 변화 물질은 리셋되고, 상술된 바와 같이 필요한 경우, 상기 상 변화 물질이 그것의 설정 상태로 변환될 때마다 가산되는 두 숫자들 각각에 따라 증가시키고 리셋시킴으로써 가산이 달성된다. 본 예에서, 상기 상 변화 물질은 상 변화 물질에 프로그래밍 상태 5(숫자 4에 대응하는 프로그래밍 상태)를 제공하기 위하여 우선 19회 증가된 후 상기 상 변화 물질이 프로그램 상태 2(숫자 1에 대응하는 프로그래밍 상태)에 있는 마지막 상태를 제공하기 위하여 추가로 37회 증가된다.
모듈러 연산 시스템에서의 가산은 또한 그것이 궁극적으로 모듈러 연산에서 두 숫자들의 합을 결정하는 나머지들이기 때문에 나머지 클래스들로 간주될 수 있다. 상술된 한 예에서, 우리는 1 mod 5 + 2 mod 5 = 3 mod 5라는 것을 발견했다. 이 결과는 또한 다음과 같은 나머지 클래스들로 해석될 수 있다: 나머지 클래스 1에 있는 어떤 수와 나머지 클래스 2에 있는 어떤 수와의 합은 반드시 모듈로 5 시스템에서 나머지 클래스 3에 있는 수를 생성한다. 예로서, 16은 나머지 클래스 1에 있고, 32는 나머지 클래스 32에 있으며 상기 합 16 + 32 = 48은 나머지 클래스 3에 있다. 가산은 다른 나머지 클래스들에 대해 그리고 다른 모듈러 연산 시스템들에서 유사하게 해석될 수 있다.
여기에 설명된 개시는 예시적인 것이고 본 발명의 실시를 제한하지 않을 것이다. 수많은 균등물들 및 사소한 변형들은 본 발명의 범위내에 있는 것으로 간주된다. 상기한 개시와 공동으로 모든 균등물들을 포함하여, 다음 청구항들은 본 발명의 범위를 정의한다.

Claims (26)

  1. 입력 수를 인수분해하는 방법에 있어서,
    한 볼륨의 디지털 다중상태 상 변화 물질을 제공하는 단계로서, 상기 상 변화 물질은 복수의 상태들을 가지고, 상기 상태들은 리셋 상태, 상기 리셋 상태의 설정 에너지에 대응하는 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능하며 상기 리셋 상태보다 더 낮은 저항을 갖는 설정 상태 및 실질적으로 상기 리셋 상태와 동일한 저항을 갖는 하나 이상의 중간 상태들을 포함하고, 상기 하나 이상의 중간 상태들은 상기 리셋 상태의 상기 설정 에너지보다 적은 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능한 단계;
    상기 입력 수의 잠재적인 곱셈 인수를 제공하는 단계;
    상기 잠재적인 곱셈 인수에 따라 상기 상 변화 물질을 프로그램하는 단계로서, 프로그래밍 상태들을 정의하는 단계를 포함하고, 상기 프로그래밍 상태들은 상기 상 변화 물질의 복수의 상태들로부터 선택되며, 상기 프로그래밍 상태들은 상기 리셋 상태 및 상기 설정 상태를 포함하고, 상기 프로그래밍 상태들의 수는 상기 잠재적인 곱셈 인수보다 하나 더 큰 단계;
    상기 상 변화 물질을 상기 리셋 상태로 변환하는 단계;
    A. 상기 상 변화 물질을 증가시키는 단계로서, 상기 상 변화 물질을 상기 프로그래밍 상태들 중 다른 상태로 변환하기에 충분한 에너지를 제공하는 단계를 포함하는 단계;
    B. 상기 상 변화 물질이 상기 설정 상태로 변환될 때까지 상기 증가 단계 A를 반복적으로 반복하는 단계;
    C. 상기 상 변화 물질을 리셋시키는 단계; 및
    상기 상 변화 물질이 증가된 횟수가 상기 입력 수와 같아질 때까지 상기 단계들 A, B 및 C를 반복적으로 반복하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 증가 단계 A는 상기 상 변화 물질의 저항을 측정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 측정 단계는 상기 상 변화 물질이 상기 프로그래밍 상태들 중 다른 상태로 변환된 후 완료되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 잠재적인 곱셈 인수가 곱셈 인수인지를 결정하는 단계를 더 포함하고, 상기 결정 단계는 상기 상 변화 물질이 상기 입력 수와 동일한 횟수 증가된 후 상기 상 변화 물질의 저항을 측정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 상 변화 물질이 상기 설정 상태로 변환되는 횟수를 세는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 상 변화 물질은 인듐, 은, 텔루르, 셀레늄, 게르마늄, 안티몬, 창연, 납, 주석, 비소, 황, 인 및 이들의 혼합물 또는 합금으로 이루어진 그룹에서 선택된 하나 이상의 요소들을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 상 변화 물질은 칼코겐을 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 칼코겐은 텔루르와 셀레늄의 혼합물인 것을 특징으로 하는 방법.
  9. 제7항에 있어서, 상기 상 변화 물질은 게르마늄을 더 포함하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서, 상기 상 변화 물질은 안티몬을 더 포함하는 것을 특징으로 하는 방법.
  11. 제7항에 있어서, 상기 상 변화 물질은 전이 금속 요소를 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서, 상기 전이 금속은 크롬, 철, 니켈, 니오브, 팔라듐 및 백금으로 이루어진 그룹에서 선택되는 것을 특징으로 하는 방법.
  13. 제1항에 있어서, 상기 프로그래밍 상태들은 균일한 에너지 간격들로 분리되는 것을 특징으로 하는 방법.
  14. 제1항에 있어서, 상기 증가 단계 A는 전기 에너지의 형태로 에너지를 제공함으로써 달성되는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 전기 에너지는 전류 또는 전압의 펄스를 포함하는 것을 특징으로 하는 방법.
  16. 제1항에 있어서, 상기 증가 단계 A는 광 에너지의 형태로 에너지를 제공함으로써 달성되는 것을 특징으로 하는 방법.
  17. 제1항에 있어서, 상기 증가 단계 A는 열 에너지의 형태로 에너지를 제공함으로써 달성되는 것을 특징으로 하는 방법.
  18. 입력 수를 인수 분해하는 방법에 있어서,
    복수의 볼륨들의 디지털 다중상태 상 변화 물질을 제공하는 단계로서, 상기 상 변화 물질의 볼륨들 각각은 복수의 상태들을 가지고, 상기 상태들은 리셋 상태,상기 리셋 상태의 설정 에너지에 대응하는 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능하며 상기 리셋 상태보다 더 낮은 저항을 갖는 설정 상태 및 실질적으로 상기 리셋 상태와 동일한 저항을 갖는 하나 이상의 중간 상태들을 포함하고, 상기 하나 이상의 중간 상태들은 상기 리셋 상태의 상기 설정 에너지보다 적은 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능한 단계;
    상기 입력 수의 복수의 잠재적인 곱셈 인수들을 제공하는 단계; 및
    상기 상 변화 물질의 볼륨들에 제1항의 방법을 적용하는 단계를 포함하며,
    상기 상 변화 물질의 볼륨들 각각은 상기 잠재적인 곱셈 인수들 중 다른 하나에 따라 프로그램되는 것을 특징으로 하는 방법.
  19. 제18항에 있어서, 상기 복수의 잠재적인 곱셈 인수들 각각은 소수인 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상기 소수들 중 어느 것이 상기 입력 수의 곱셈 인수인지를 결정하는 단계를 더 포함하고, 상기 결정 단계는 상기 소수들에 따라 프로그램된 상기 상 변화 물질의 볼륨들의 전기 저항을 측정하는 단계를 포함하는 것을 특징으로 하는 방법.
  21. 제20항에 있어서, 상기 입력 수의 곱셈 인수가 되도록 결정된 소수의 공통 인수를 계산하는 단계를 더 포함하고, 상기 계산 단계는 제1항 단계의 방법을 적용하는 동안 상기 소수 곱셈 인수에 따라 프로그램된 상기 상 변화 물질의 볼륨이 설정된 횟수를 세는 단계를 포함하는 것을 특징으로 하는 방법.
  22. 제21항에 있어서, 제18항의 방법에 따라 상기 공통 인수를 인수 분해하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제21항에 있어서, 제19항의 방법에 따라 상기 공통 인수를 인수 분해하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 모듈러 연산 시스템에서 입력 수의 합동을 결정하기 위한 방법에 있어서,
    한 볼륨의 디지털 다중상태 상 변화 물질을 제공하는 단계로서, 상기 상 변화 물질은 복수의 상태들을 가지고, 상기 상태들은 리셋 상태, 상기 리셋 상태의 설정 에너지에 대응하는 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능하며 상기 리셋 상태보다 더 낮은 저항을 갖는 설정 상태 및 실질적으로 상기 리셋 상태와 동일한 저항을 갖는 하나 이상의 중간 상태들을 포함하고, 상기 하나 이상의 중간 상태들은 상기 리셋 상태의 상기 설정 에너지보다 적은 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능한 단계;
    상기 모듈러 연산 시스템의 모듈러스를 제공하는 단계;
    상기 모듈러스에 따라 상기 상 변화 물질을 프로그램하는 단계로서, 프로그래밍 상태들을 정의하는 단계를 포함하고, 상기 프로그래밍 상태들은 상기 상 변화물질의 복수의 상태들로부터 선택되며, 상기 프로그래밍 상태들은 상기 리셋 상태 및 상기 설정 상태를 포함하고, 상기 프로그래밍 상태들의 수는 상기 모듈러스보다 하나 더 큰 단계;
    상기 상 변화 물질을 상기 리셋 상태로 변환하는 단계;
    A. 상기 상 변화 물질을 증가시키는 단계로서, 상기 상 변화 물질을 상기 프로그래밍 상태들 중 다른 상태로 변환하기에 충분한 에너지를 제공하는 단계를 포함하는 단계;
    B. 상기 상 변화 물질이 상기 설정 상태로 변환될 때까지 상기 증가 단계 A를 반복적으로 반복하는 단계;
    C. 상기 상 변화 물질을 리셋하는 단계;
    상기 상 변화 물질이 증가된 횟수가 상기 입력 수와 같아질 때까지 상기 단계들 A, B 및 C를 반복적으로 반복하는 단계; 및
    상기 상 변화 물질을 읽는 단계를 포함하고,
    상기 읽는 단계는,
    상기 상 변화 물질을 상기 설정 상태로 변환하는데 필요한 증가 횟수를 세는 단계; 및
    상기 모듈러스에서 상기 증가 횟수를 빼는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 모듈러 연산 시스템에서 제1 수와 제2 수의 가산 방법에 있어서,
    한 볼륨의 디지털 다중상태 상 변화 물질을 제공하는 단계로서, 상기 상 변화 물질은 복수의 상태들을 가지고, 상기 상태들은 리셋 상태, 상기 리셋 상태의 설정 에너지에 대응하는 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능하며 상기 리셋 상태보다 더 낮은 저항을 갖는 설정 상태 및 실질적으로 상기 리셋 상태와 동일한 저항을 갖는 하나 이상의 중간 상태들을 포함하고, 상기 하나 이상의 중간 상태들은 상기 리셋 상태의 상기 설정 에너지보다 적은 양의 에너지를 인가함으로써 상기 리셋 상태로부터 획득가능한 단계;
    상기 제1 수 및 상기 제2 수를 제공하는 단계;
    상기 모듈러 연산 시스템의 모듈러스를 제공하는 단계;
    상기 모듈러스에 따라 상기 상 변화 물질을 프로그램하는 단계로서, 프로그래밍 상태들을 정의하는 단계를 포함하고, 상기 프로그래밍 상태들은 상기 상 변화 물질의 복수의 상태들로부터 선택되며, 상기 프로그래밍 상태들은 상기 리셋 상태 및 상기 설정 상태를 포함하고, 상기 프로그래밍 상태들의 수는 상기 모듈러스보다 하나 더 큰 단계;
    상기 상 변화 물질을 상기 리셋 상태로 변환하는 단계;
    A. 상기 상 변화 물질을 증가시키는 단계로서, 상기 상 변화 물질을 상기 프로그래밍 상태들 중 다른 상태로 변환하기에 충분한 에너지를 제공하는 단계를 포함하는 단계;
    B. 상기 상 변화 물질이 상기 설정 상태로 변환될 때까지 상기 증가 단계 A를 반복적으로 반복하는 단계;
    C. 상기 상 변화 물질을 리셋시키는 단계;
    상기 상 변화 물질이 증가된 횟수가 상기 입력 수와 같아질 때까지 상기 단계들 A, B 및 C를 반복적으로 반복하는 단계;
    D. 상기 상 변환 물질을 증가시키는 단계로서, 상기 상 변화 물질을 상기 프로그래밍 상태들 중 다른 하나로 변환하기에 충분한 에너지를 제공하는 단계를 포함하는 단계;
    E. 상기 상 변화 물질이 상기 설정 상태로 변환될 때까지 상기 증가 단계 D를 반복적으로 반복하는 단계;
    F. 상기 상 변화 물질을 리셋시키는 단계; 및
    상기 상 변화 물질이 증가된 횟수가 상기 제2 수와 같아질 때까지 상기 단계 들 D, E 및 F를 반복적으로 반복하는 단계를 포함하는 것을 특징으로 하는 방법.
  26. 제25항에 있어서, 상기 상 변화 물질을 읽는 단계를 더 포함하고, 상기 읽는 단계는,
    상기 상 변화 물질을 상기 설정 상태로 변환하는데 필요한 증가 횟수를 세는 단계; 및
    상기 모듈러스에서 상기 증가 횟수를 빼는 단계를 포함하는 것을 특징으로 하는 방법.
KR10-2004-7018954A 2002-05-24 2003-05-14 인수 분해 및 모듈러 연산 방법 KR20050012750A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/155,527 2002-05-24
US10/155,527 US6714954B2 (en) 2002-05-10 2002-05-24 Methods of factoring and modular arithmetic
PCT/US2003/015060 WO2003100595A1 (en) 2002-05-24 2003-05-14 Methods of factoring and modular arithmetic

Publications (1)

Publication Number Publication Date
KR20050012750A true KR20050012750A (ko) 2005-02-02

Family

ID=29582166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7018954A KR20050012750A (ko) 2002-05-24 2003-05-14 인수 분해 및 모듈러 연산 방법

Country Status (6)

Country Link
EP (1) EP1508085A1 (ko)
JP (1) JP2005527033A (ko)
KR (1) KR20050012750A (ko)
CN (1) CN1672125A (ko)
AU (1) AU2003234431A1 (ko)
WO (1) WO2003100595A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299692B (zh) * 2011-06-29 2013-06-12 北京大学 一种基于阻变器件的加法器电路
GB2544814B (en) * 2015-11-30 2019-06-19 Imagination Tech Ltd Modulo hardware generator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141241A (en) * 1998-06-23 2000-10-31 Energy Conversion Devices, Inc. Universal memory element with systems employing same and apparatus and method for reading, writing and programming same
US5912839A (en) * 1998-06-23 1999-06-15 Energy Conversion Devices, Inc. Universal memory element and method of programming same

Also Published As

Publication number Publication date
EP1508085A1 (en) 2005-02-23
JP2005527033A (ja) 2005-09-08
WO2003100595A1 (en) 2003-12-04
AU2003234431A1 (en) 2003-12-12
CN1672125A (zh) 2005-09-21

Similar Documents

Publication Publication Date Title
US6963893B2 (en) Methods of factoring and modular arithmetic
Fouquet et al. An extension of Satoh's algorithm and its implementation
US10678885B2 (en) Memory device for matrix-vector multiplications
Wang et al. Compact modelling of ferroelectric tunnel memristor and its use for neuromorphic simulation
TW202234298A (zh) 計算方法及電子裝置
KR20050012750A (ko) 인수 분해 및 모듈러 연산 방법
Zanotti et al. Low-Bit precision neural network architecture with high immunity to variability and random telegraph noise based on resistive memories
TWI771014B (zh) 記憶體電路及其操作方法
Papandroulidakis et al. Multi-state memristive nanocrossbar for high-radix computer arithmetic systems
US10522223B1 (en) Resistive memory device for matrix-vector multiplications
US20220293174A1 (en) Resistive memory device for matrix-vector multiplications
CN111625760A (zh) 基于闪存电学特性的存算一体方法
CN116185338B (zh) 基于忆阻器的乘法器
Mandal et al. ReRAM-based in-memory computation of galois field arithmetic
Dixit et al. Comparision of Numerical Accuracy of Bisection, Newton Raphson, Falsi-Position and Secant Methods
EP4086910A1 (en) Multiply-accumulate (mac) unit for in-memory computing
Cheng et al. A Low-Power High-Throughput In-Memory CMOS-ReRAM Accelerator for Large-Scale Deep Residual Neural Networks
CN115910151A (zh) 存储器电路及其操作方法
Temenos et al. Time-based Memristor Crossbar Array Programming for Stochastic Computing Parallel Sequence Generation
CN116627384A (zh) 去相关性随机比特流的生成方法及系统
Alsuwaiyan et al. L 3 EP: Low latency, low energy program-and-verify for triple-level cell phase change memory
CN116719504A (zh) 存内矩阵向量乘加运算系统及其运算方法
SU1292005A1 (ru) Устройство дл реализации быстрых преобразований в базисах дискретных ортогональных функций
CN116719505A (zh) 随机矩阵向量乘加运算系统及其运算方法
Nussabaumer Fast multipliers for number theoretic transforms

Legal Events

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