KR101574912B1 - 잠재적으로 큰 스위칭 지연시간에 의해 특징지워지는 메모리 요소를 포함하는 효율적인 데이터 저장장치 - Google Patents
잠재적으로 큰 스위칭 지연시간에 의해 특징지워지는 메모리 요소를 포함하는 효율적인 데이터 저장장치 Download PDFInfo
- Publication number
- KR101574912B1 KR101574912B1 KR1020147002368A KR20147002368A KR101574912B1 KR 101574912 B1 KR101574912 B1 KR 101574912B1 KR 1020147002368 A KR1020147002368 A KR 1020147002368A KR 20147002368 A KR20147002368 A KR 20147002368A KR 101574912 B1 KR101574912 B1 KR 101574912B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- switching
- data storage
- write
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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/0061—Timing 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/0064—Verifying 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/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5624—Concurrent multilevel programming and programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Materials Engineering (AREA)
- Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본원에 개시된 일 예는 하나 이상의 어레이의 메모리 소자를 포함하는 전자 데이터 저장 장치로, 이때 각각의 메모리 소자는 스위칭 유도 힘 또는 그래디언트(gradient)가 인가되면 두 개의 상이한 상태 사이에서 스위칭되는 데이터 저장 매체와, 스위칭 유도 힘 또는 그래디언트가 인가되는 상부 제어 소자 및 하부 제어 소자와, 피드백 신호를 포함한다. 데이터 저장 장치는 또한 수신된 데이터를 인코딩하는 오류 제어 코딩 인코더와, 피드백 신호가 기입 동작이 완료됨을 지시하거나, 혹은 스위칭 유도 힘 또는 그래디언트가 최대 인가 시간동안 인가될 때까지, 하나 이상의 어레이의 메모리 소자에 스위칭 유도 힘 또는 그래디언트를 인가함으로써, 오류 제어 코딩 인코더로부터 수신된 인코딩된 데이터를 다수의 메모리 소자에 기입하는 판독/기입 제어기를 포함한다.
Description
본원은 예컨대 멤리스티브 비트 저장 매체(memristive bit-storage media)같은 비선형 비트 저장 매체(non-linear bit-storage media)에 데이터를 저장하는 장치에 관한 것으로, 특히 비선형 데이터 저장 물질을 포함하는 메모리 요소의 잠재적으로 긴 스위칭 시간의 효과를 개선하기 위한 방법 및 시스템에 관한 것이다.
전자 회로 소자의 디멘전은 반세기동안 급격하게 축소되었다. 한때 수작업으로 납땜되는 대규모 장치였던 저항, 캐패시터, 인덕터, 다이오드 및 트랜지스터 등의 친숙한 회로 소자들이 이제는 집적 회로내에 마이크로 이하 규모의 디멘전으로 조립된다. 포토리소그래피 기반 반도체 제조 기법은 1 평방 센티미터당 수 천만개의 회로 소자를 갖는 집적 회로를 만들 수 있다. 회로 소자의 꾸준한 크기 감소와 집적 회로의 컴포넌트 밀도 증가는 집적 회로가 동작되는 클록 속도의 급속한 증가를 가능하게 했을 뿐만 아니라 집적 회로 및 집적 회로 기반 전자 장치의 동작과 관련해 기능, 전산 대역폭, 데이터 저장 용량 및 효율에서도 엄청난 증가를 가능하게 했다.
유감스럽게도, 포토리소그래피법을 이용해 제조된 집적 회로의 컴포넌트의 밀도를 증가시키는 것과 관련한 물리적 제약은 그 해결책을 찾고 있는 중이다. 근본적으로, 포토리소그래피법은 포토레지스트를 고정 및 에칭하기 위해 포토리소그래피 마스크를 통과하는 방사선의 파장에 의해 제약을 받는다. 더욱이, 회로 배선과 컴포넌트의 디멘전이 나노 스케일 디멘전으로 감소됨에 따라, 터널링을 통한 전류 누설과 나노 스케일 컴포넌트의 비교적 고 저항으로 인한 전력 손실은 전통적인 집적 회로 제조 및 설계 방법으로 컴포넌트 크기를 더 감소시키면서 컴포넌트 밀도는 증가시키는 것과 관련하여 난항을 겪고 있다
회로 밀도를 증가시키기 위한 이러한 난항들은 나노 스케일 회로와 회로 소자의 설계 및 제조에 대해 완전히 새로운 해결책을 만들었다. 현재는 나노 스케일 컴포넌트의 자기 정렬(self-assembly), 나노 스케일 임프린팅(imprinting) 및 다른 비교적 새로운 방법을 통해 초고밀도 나노 스케일 전자 회로를 생성하려는 연구 및 개발 노력으로 확대되고 있다. 또한, 쌍안정 나노 스케일 메모리 소자(bistable nanoscale memory elements)로 활용될 수 있는 멤리스티브 스위칭 물질을 포함하여 나노 스케일 디멘전에서 동작하는 새로운 유형의 회로 소자들이 개발되었다. 유감스럽게도, 인가되는 전압과 온도에 대해, 그리고 물질의 상태를 변화시키기 위해 인가되는 다른 힘과 그래디언트(gradient)에 대해 비선형 응답 특징을 나타내는 멤리스티브 스위칭 물질과 그 밖의 다른 가능성있는 쌍안정 메모리 소자 물질은 종종 비교적 넓게 분포된 비대칭 확률 밀도 함수(asymmetrical PDF;asymmetrical probability density functions)를 나타내는데, 여기서 PDF는 스위칭 힘 또는 그래디언트가 인가되는 상이한 시간들에 대해 메모리 소자가 스위칭할 확률을 나타낸다. 비대칭 PDF는 스위칭을 위한 평균 시간보다 비교적 긴 후미부(tail)를 나타낼 수 있으며, 이러한 비교적 긴 후미부는 스위칭을 보장하기 위해 힘이나 그래디언트가 상당히 오랜 시간동안 인가되어야 함을 나타내는 것이다. 선택적으로, PDF는 긴 후미를 갖는 대량의 메모리 소자의 스위칭 반응 특성을 나타내며, 이 긴 후미는 대량의 메모리 소자 중 소수의 일부 소자가 대량의 메모리 소자의 대다수보다 힘이나 그래디언트가 훨씬 더 긴 시간 동안 인가될 때 스위칭하는 것에 해당한다. 결과적으로, 최대 허용 가능한 비트 오류율(maximum tolerable bit error rate)에 대응하는 확률까지 스위칭하는 것을 보장하기 위해 힘이나 그래디언트가 인가되어야 하는 시간은 스위칭이 발생하는 평균 인가 시간보다 그리 길지 않기 때문에, 이러한 사실은 좁게 분포된 대칭형 PDF를 갖는 이론상의 장치에 대하여 상당히 감소된 동작 대역폭 및/신뢰성을 수반한다. 예컨대 멤리스티브 물질처럼 비선형 데이터 저장 물질에 기반한 메모리 장치 및 다른 데이터 저장 장치에 관한 이론가, 설계자 및 개발자는 이들 장치 중 일부의 비대칭이면서 광범위하게 분포된 스위칭 시간 특성을 개선하는 방법과 장치 아키텍처를 계속해서 연구하고 있다.
도 1a 및 도 1b는 두 개의 안정한 전자 상태(two stable electronic states)를 특징으로 하는 예시의 나노 스케일 단일 비트 데이터 저장 장치를 예시한다.
도 2는 도 1a 및 도 1b에 예시된 쌍안정 나노 스케일 전자 장치의 전류 대 전압 반응을 도시한다.
도 3a는 로그 정규 확률 밀도 함수(log-normal probability density functions)(PDF)를 예시한다.
도 3b는 도 3a에 도시된 로그 정규 분포 PDF에 대한 대응하는 누적 분포 함수(CDF;cumulative distribution function)를 도시한다.
도 4는 멤리스티브 메모리 소자 및 다른 비선형 데이터 저장 물질의 로그 정규 분포 스위칭 시간의 영향을 개선하는 두 가지 방법 중 첫 번째 방법을 예시한다.
도 5는 멤리스티브 메모리 소자 및 다른 쌍안정 데이터 저장 물질에 대한 로그 정규 분포 스위칭 시간의 영향을 개선하는 두 번째 방법을 예시한다.
도 6a 및 도 6b는 멤리스티브 메모리 소자 혹은 다른 비선형 데이터 저장 물질에 대한 스위칭 펄스 인가를 예시한다.
도 7a 내지 도 7f는 로그 정규 분포 스위칭 시간의 특징을 나타내는 메모리 소자를 포함하는 메모리 장치에 데이터를 기입하는 6개의 상이한 데이터 기입 방법을 예시한다.
도 8은 2-펄스 기입 법에서 제 1 펄스의 길이 T1에 대한 기입 전압 Tavg의 인가의 총 예상 시간(total expected time)의 의존도를 예시한다.
도 9는 연속 기입 법과 관련해 최대 인가 시간 Tmax에 대한 기입 전압 Tavg의 인가의 예상 누적 시간(expected cumulative time)의 의존도를 예시한다.
도 10은 로그 정규 분포 스위칭 시간의 특징을 나타내는 메모리 소자를 포함하는 메모리에 데이터를 기입하는 다수의 상이한 기입 방법을 비교한 비교표를 제공한다.
도 11은 도 10에 제공된 표의 첫 번째 가로 섹션의 데이터를 그래프로 예시한다.
도 12는 여러 가지 상이한 τ의 비율인 숙고중인 판독 시간들에 대해 원하는 스위칭-실패 확률(switching-failure probability)을 달성하는 다중 펄스 기입 방법과 관련한 최대 펄스 개수 및 평균 펄스 개수를 기재한 표를 제공한다.
도 13은 비코드화(uncoded) 2-펄스 기입 방법 및 코드화(coded) 2-펄스 기입 방법과 관련한 기입 도착 간격 시간(inter-arrival times)에 대한 예상 대기 시간의 그래프를 도시한다.
도 14는 피드백 신호 및 ECC 인코딩을 모두 포함하는 데이터 저장 장치를 예시한다.
도 15는 판독/기입 제어기(도 14의 도면부호(1430))의 동작을 예시하는 흐름 제어도를 제공한다.
도 16은 "기입" 루틴(도 15의 도면부호(1506))에 대한 흐름 제어도를 제공한다.
도 2는 도 1a 및 도 1b에 예시된 쌍안정 나노 스케일 전자 장치의 전류 대 전압 반응을 도시한다.
도 3a는 로그 정규 확률 밀도 함수(log-normal probability density functions)(PDF)를 예시한다.
도 3b는 도 3a에 도시된 로그 정규 분포 PDF에 대한 대응하는 누적 분포 함수(CDF;cumulative distribution function)를 도시한다.
도 4는 멤리스티브 메모리 소자 및 다른 비선형 데이터 저장 물질의 로그 정규 분포 스위칭 시간의 영향을 개선하는 두 가지 방법 중 첫 번째 방법을 예시한다.
도 5는 멤리스티브 메모리 소자 및 다른 쌍안정 데이터 저장 물질에 대한 로그 정규 분포 스위칭 시간의 영향을 개선하는 두 번째 방법을 예시한다.
도 6a 및 도 6b는 멤리스티브 메모리 소자 혹은 다른 비선형 데이터 저장 물질에 대한 스위칭 펄스 인가를 예시한다.
도 7a 내지 도 7f는 로그 정규 분포 스위칭 시간의 특징을 나타내는 메모리 소자를 포함하는 메모리 장치에 데이터를 기입하는 6개의 상이한 데이터 기입 방법을 예시한다.
도 8은 2-펄스 기입 법에서 제 1 펄스의 길이 T1에 대한 기입 전압 Tavg의 인가의 총 예상 시간(total expected time)의 의존도를 예시한다.
도 9는 연속 기입 법과 관련해 최대 인가 시간 Tmax에 대한 기입 전압 Tavg의 인가의 예상 누적 시간(expected cumulative time)의 의존도를 예시한다.
도 10은 로그 정규 분포 스위칭 시간의 특징을 나타내는 메모리 소자를 포함하는 메모리에 데이터를 기입하는 다수의 상이한 기입 방법을 비교한 비교표를 제공한다.
도 11은 도 10에 제공된 표의 첫 번째 가로 섹션의 데이터를 그래프로 예시한다.
도 12는 여러 가지 상이한 τ의 비율인 숙고중인 판독 시간들에 대해 원하는 스위칭-실패 확률(switching-failure probability)을 달성하는 다중 펄스 기입 방법과 관련한 최대 펄스 개수 및 평균 펄스 개수를 기재한 표를 제공한다.
도 13은 비코드화(uncoded) 2-펄스 기입 방법 및 코드화(coded) 2-펄스 기입 방법과 관련한 기입 도착 간격 시간(inter-arrival times)에 대한 예상 대기 시간의 그래프를 도시한다.
도 14는 피드백 신호 및 ECC 인코딩을 모두 포함하는 데이터 저장 장치를 예시한다.
도 15는 판독/기입 제어기(도 14의 도면부호(1430))의 동작을 예시하는 흐름 제어도를 제공한다.
도 16은 "기입" 루틴(도 15의 도면부호(1506))에 대한 흐름 제어도를 제공한다.
본 출원은 비교적 넓은 및/또는 비대칭인 스위칭 시간 확률 밀도 함수의 특징을 나타내는 메모리 소자에 데이터를 저장하는 전자적인 데이터 저장 장치를 다룬다. 멤리스티브 물질을 포함한 이런 유형의 메모리 소자는 대부분이 비선형 쌍안정 물질이고, 또한 평균 스위칭 시간보다 훨씬 더 큰 최악의 스위칭 시간(worst-case switching times)을 나타낼 수도 있다. 확률 분포는 첫 번째 쌍안정 상태에서 두 번째 쌍안정 상태로 메모리 소자가 반복적으로 스위칭될 때 관측되는 스위칭 시간을 반영한다. 확률 분포는 또한 스위칭 전압, 전류 혹은 다른 힘이나 그래디언트가 대량의 메모리 소자에 인가될 때 이 대량의 각각의 메모리 소자의 관측되는 스위칭 시간을 반영한다. 종래의 데이터 저장 장치의 경우, 잠재적으로 긴 스위칭 시간은 비교적 긴 스위칭 사이클을 초래하고, 그에 따라서 낮은 데이터 저장 입력 대역폭을 초래한다.
전류 인가가 지정된 전자적 데이터 저장 장치는 다음의 6가지 서브섹션(subsections)으로 나뉘어 논의되는데, 즉, (1) 비대칭적으로 분포된 스위칭 시간을 갖는 메모리 소자의 개요; (2) 오류 제어코딩; (3) 가상 기입 방법; (4) 다양한 기입 방법의 해석; (5) 다양한 기입 방법들의 해석의 결과; (6) 전류 인가가 지시된 전자 데이터 저장 장치의 예들로 논의된다.
비대칭적으로 분포된 스위칭 시간을 갖는 메모리 소자의 개요
도 1a 및 도 1b는 두 개의 안정한 전자 상태를 특징으로 하는 예시적인 나노 스케일의 단일 비트 데이터 저장 장치를 예시한다. 도 1a는 비교적 높은 저항 상태의 장치를 도시하고, 도 1b는 비교적 낮은 저항 상태의 장치를 도시한다. 전극 사이의 유전체의 저항은 전기적으로 감지되고, 따라서 도 1a 및 도 1b에 도시된 두 개의 상이한 저항 상태는 단일의 정보 비트를 저장하는데 이용될 수 있다.
도 1a 및 도 1b는 둘다 동일한 예시 기준에 따른다. 도 1a에서, 유전체(102)는 두 개의 도전성 전극(104, 106) 사이에 끼워져 있다. 쌍안전 유전체(102)의 상부 전극 부분과 하부 전극 부분이 도 1a에 도시된다. 일반적으로, 이 전극들은 나노 스케일 전자 장치를 다른 나노 스케일 전자 장치, 나노 스케일 회로 및 극초미세 및 초대규모 회로와 전기적으로 상호 연결하는 나노와이어(nanowires) 혹은 다른 도전성 소자일 것이다. 도 1에서, 유전체(102)는 두 개의 상이한 부분, 즉, (1) 저 저항 부분(108)과 고 저항 부분(110)을 갖는 것으로 도시된다. 저 저항 부분은 일 예로서, 전류 도전을 도와주는 산소 원자 결함(oxygen vacancies)을 포함하는 공핍 영역(depletion region)이다. 유전체의 고 저항 부분(110)은 이러한 산소 원자 결함이 없으므로, 도핑되지 않은 반도체나 유전체의 컨덕턴스(conductance)를 갖는다. 도 1a 및 도 1b에서, 충분히 큰 전압이 수직 상승 방향 혹은 z 방향으로 유전체 양단에 인가될 때, 산소 원자 결함은 도 1b에 도시된 것처럼 두 개의 전극 사이의 유전체 내부에 재분산된다. 산소 원자 결함의 재분산은 유전체가 전체적으로 비교적 낮은 저항을 갖게 한다. 도 1에서 충분히 큰 전압을 반대 방향으로 인가하거나 혹은 수직 상승 방향으로 음의 전압을 인가하면, 도 1a에 도시된 것처럼 하부 전극에 근접하여 산소 원자 결함이 분포되게 된다.
도 2는 도 1a 및 도 1b에 예시된 쌍안정 나노 스케일 전자 장치의 전류 대 전압 반응을 도시한다. 비교적 큰 기울기(202)를 갖는 I-V 곡선 부분은 도 1b에 도시된 나노 스케일 전자 장치의 저 저항 상태에 대응하는 I-V 곡선 부분이다. 이 곡선의 기울기는 두 전극 사이의 유전체의 도전율(conductivity)에 비례하고 저항률(resistivity)에는 반비례한다. 기울기가 작은 I-V 곡선 부분(204)은 도 1a에 도시된 나노 스케일 전자 장치의 고 저항 상태에 대응한다. 나노 스케일 전자 장치가 도 1a에 도시된 고 저항 상태라고 가정하고 전압 축(208)과 전류 축(210)의 원점(206)에서 시작해서, 하부 전극에서 상부 전극으로 인가되는 양 전압(positive voltage)을 증가시키면, I-V 곡선의 우측 부분(204)에 표시된 것처럼, 인가된 양 전압이 전압 Vw +(212)의 부근에 도달할 때까지 유전체 양단의 전류는 조금씩 증가하게 되는데, 이 전압 Vw +(212)의 위치에서 산소 원자 결함은 유전체 혹은 반도체 전체로 신속히 재분산되며, 그 결과로, I-V 곡선의 거의 수직 부분(214)으로 표시된 것처럼, 저 저항 상태를 나타내는 I-V 곡선의 부분이 지점(216)에 도달할 때까지 전류는 급속히 증가하게 된다. 양 전압을 계속 증가시키면, 저 저항 상태 I-V 곡선(220)의 멀리 우측 부분을 따라 전압 VD +(222)에 도달할 때까지 비교적 큰 대응하는 전류 증가가 유도되는데, 이 전압 VD +(222)의 지점에서 장치는 고 전류가 장치를 관통함으로써 저항성 발열로 인해 과도한 열이 발생하여 작동하지 않게 된다. 일단 지점(216)에서 저 저항 상태에 도달하면, 전극 양단에 인가된 전압은 감소되고, 저 저항 상태 I-V 곡선(202)은 좌측 방향으로 감소하여 다시 원점(206)으로 되돌아가며, 전압이 점점 더 큰 음 전압(negative voltage)으로 더욱 감소될수록, 전류는 방향을 바꾸어 지점(224)까지 점점 더 크기가 커지는데, 이 지점(224)에서는 도 1a에 도시된 것처럼 산소 원자 결함이 다시 하부 전극 근처의 조밀한 층으로 다시 재분산되어, 장치를 관통하여 흐르는 전류의 크기가 급속히 감소되어 지점(226)에서 고 저항 상태로 복귀된다. 장치의 양단에 인가되는 음 전압의 크기를 더 증가시키면, 마침내 전압 VD -(230)에 도달하는데, 이 지점(230)에서는 장치가 다시 저항성 발열로 인해 동작하지 않게 된다.
나노 스케일 전자 장치가 저 저항 상태에서 고 저항 상태로 천이하는 전압은 Vw -(232)로 부른다. 고 저항 상태를 불리언 값(Boolean value) "0"으로 표시하고, 저 저항 상태를 불리언 값 "1"로 표현하면, 양 전압 Vw +의 인가는 기입-1 동작으로 간주될 수 있고, 음 전압 Vw -의 인가는 기입-0 동작으로 간주될 수 있다. 중간 크기 전압 VR(236)의 인가는 나노 스케일 전자 장치에 현재 저장된 값을 질의(interrogate)하는데 이용될 수 있다. 전압 VR이 장치에 인가될 때, 그리고 그 결과로 비교적 큰 크기의 전류가 장치에 흐를 때 이 장치는 저 저항 상태이거나 혹은 블리언 1 상태이지만, 비교적 작은 전류가 장치에 흐른다면 이 장치는 불리언 0 상태이다. 따라서, 도 1a, 도 1b 및 도 2에 도시된 나노 스케일 전자 장치는 나노 스케일 메모리 소자로 작동할 수 있고, 이러한 장치의 2차원 혹은 3차원 어레이는 2차원 및 3차원 메모리 어레이로 채용될 수 있다.
비록 이 예와 이후의 예가 장치에 인가된 전압의 이력(history)에 따라 두 개의 다른 안정한 전자 상태중 하나일 수 있는 쌍안정 물질을 특징으로 하더라도, 3개 이상의 안정한 상태를 갖는 장치가 다양한 응용에서 이용될 수 있다. 예를 들어, 3개의 안정 상태를 갖는 장치는 기수-3의 수 체계(base-3 number system)의 3개의 다른 값 "0", "1" 또는 "2" 중 하나를 저장할 수 있고, 또는 3상태 장치의 세 개의 안정 상태중 두 개는 추후에 정보 저장 상태들로 분리되는 비배정 상태를 갖는 비트 값을 저장하는데 이용될 수 있다. 많은 경우, 전압은 쌍안정 메모리 소자의 상태를 바꾸기 위해 인가된다. 그러나, 상 변화 물질 기반 장치(phase-change-material-based device)에 대해서는 온도인 경우를 포함하여, 다른 유형의 쌍안정 물질은 다른 힘 및/또는 그래디언트의 인가에 의해 전환될 수도 있다. 다른 유형의 장치는 전기 저항 상태 이외의 상태 유형을 특징으로 할 수도 있다.
전술한 도 2는 이상적인 멤리스터 스위칭을 설명하는 것이다. 그러나 멤리스터 메모리 소자와 그리고 인가된 전압이나 다른 힘 또는 그래디언트에 대해 비선형 특성을 나타내는 다른 유형의 메모리 소자는 시간에 대해 하나의 쌍안정 상태에서 다른 상태로 균일하게 스위칭하지 않고, 대신에 많은 다른 물리적 현상으로 인해 확률적으로 분산된 스위칭 시간을 나타낸다. 일 예로, 특정 멤리스티브 메모리 소자는 로그 정규 확률 분포로 모델링될 수 있는 스위칭 시간을 나타낸다. 도 3a는 로그 정규 확률 밀도 함수(PDF)를 예시한다. 도 3a에서, 수직축(302)은 힘 또는 그래디언트가 인가되는 경우 특정 멤리스티브 메모리 소자가 시작 시간에 대해 시간 t에서 스위칭하는 확률 밀도를 나타내는데, 다시 말해서 시간 t는 멤리시티브 메모리 소자를 저 1 상태에서 제 2 상태로 스위칭하는데 이용되는 힘 또는 그래디언트의 인가하는 동안에 장치에 대한 스위칭 시간 tsw에 해당한다. 도 3a에서, 수평축(304)은 시간 t를 나타내는데, 힘 또는 그래디언트의 인가가 개시되는 시간 t=0에 해당하는 원점에서 시작한다. 도 3a에 도시된 가상 로그 정규 분포(hypothetical log-normal distribution)인 경우, 평균 스위칭 시간 t는 1.0인데, 여기서 예컨대 나노 초(ns), 마이크로 초(μs) 또는 밀리 초(ms) 등의 시간 단위는 특정 멤리시티브 물질에 좌우되며 현재 논의에서는 중요하지 않다. 정규 확률 분포 혹은 가우시안 분포(Gaussian distribution)에서, 확률 밀도 함수의 정점(peak)은 확률 변수(random variable)의 평균값과 일치한다. 그러나, 도 3a에서 알 수 있듯이, 로그 정규 분포에 대한 확률 밀도 함수의 정점(306)은 독립 변수(independent variable) t에 대한 평균값의 좌측으로 이동되어 있다. PDF는 정규 혹은 가우시안 PDF와 달리 비대칭이며, 확장된 우측 후미(308)를 특징으로 하는데, 이것은 전압이나 다른 힘 또는 그래디언트가 인가되는 특정 멤리스티브 메모리 소자의 실제 스위칭 시간이 평균 스위칭 시간(average or mean switching time)보다 훨씬 더 큰 시간에서 발생할 가능성이 상당히 크다는 것을 의미한다.
메모리를 포함한 많은 유형의 전자 장치의 경우, 상업적인 응용은 극히 낮은 오류율을 요청한다. 그 결과로, 메모리에 기입 전압을 특히 인가하는 동안 기입된 메모리 소자의 상당 부분이 확실히 스위칭하는 것을 보장하기 위해서, 기입 전압은 메모리 소자의 평균 스위칭 시간의 몇 배에 해당하는 지속 기간동안 메모리에 인가되는 것이 필요할 수도 있는데, 이것은 다시 말하면, 정규화된 PDF(normalized PDF)인 경우에 0과 인가 시간 사이에 PDF의 영역은 1.0에 근접하고 인가 지속 기간의 우측에 대한 PDF의 영역은 0에 근접하게 할 정도의 지속 기간동안 인가되는 것이 필요할 수도 있다. 도 3b는 도 3a에 도시된 로그 정규 분포 PDF에 대한 대응하는 누적 분포 함수(CDF)를 도시한다. 수직축(314)은 멤리스티브 메모리 소자의 스위칭 시간 tsw이 시간 t 이하일 확률을 나타내고, 수평축은 시간 t를 나타낸다. CDF는 PDF의 확장된 우측 후미에 대응하는 1.0의 확률을 나타내는 수편 점선에 비교적 넓고 고르게 접근하는 모양(310)을 나타낸다.
멤리스티브 메모리 소자에 대한 PDF를 모델링하기 위한 적합한 표현은 다음과 같다.
멤리스티브 메모리 소자에 대한 CDF를 모델링하기 위한 적합한 표현은 다음과 같다.
위의 수식에서, 함수 erfc는 여오차함수(complementary error function)를 표시한다. PDF와 CDF는 t/τ의 분포에 대한 수식으로 보여질 수 있는데, 여기서 의 중간값(median value)은 0이고 은 가우시안 분포된다. t/τ의 비율은 중간 스위칭 시간에 의해 정규화된 스위칭 시간을 나타낸다. 파라미터 τ는 다음의 수식에 의해 멤리스티브 메모리 소자의 특정 유형으로 모델링된다.
은 멤리스티브 메모리 소자를 ON 혹은 "1" 상태로 스위칭하는 양의 인가 전압에 대한 파라미터이고, 는 멤리스티브 메모리 소자를 ON 혹은 "1" 상태로부터 "0" 혹은 OFF 상태로 스위칭하는 음의 인가 전압에 대한 τ 파라미터이다. 상수들 및 는 경험적으로 결정되는 양의 실상수(positive real constants)이고, 는 인가된 스위칭 전압이다.
바람직한 데이터 입력 대역폭을 가지면서 로그 정규적 및/또는 넓게 분산된 스위칭 시간 PDF로 특징되는 메모리 소자를 이용하는 비용 효율이 높은 메모리 및 다른 데이터 저장 장치를 설계 및 생산하기 위해 다양한 예에서 활용되는 두 개의 해법이 존재한다. 이 두 해법은 각각 따로따로 이용되거나 조합되어 이용될 수 있다. 도 4는 멤리스티브 메모리 소자 및 다른 비선형 데이터 저장 물질에 의해 나타나는 로그 정규 분포 스위칭 시간의 영향을 개선하는 두 가지 방법 중 첫 번째 방법을 예시한다. 도 4는 메모리 소자로 전달되는 판독 전압 및 기입 전압이 인가되는 두 개의 도전체(404, 406) 사이에 개재하는 단일 1-비트 메모리 소자(402)를 도시한다. 또한, 메모리 소자는 회로 소자(408)와 연계되어 있는데, 이 회로 소자는 도 4에서 두 개의 입력 신호(412, 414) 사이의 전압차에 따라 피드백 신호(410)를 출력하는 회로 소자로 모델링되어 있다. 이 모델에서, 예컨대, 양의 기입 전압이 도전체(404, 406)를 통해 인가되고 메모리 소자(402)가 두 개의 쌍안정 저항 상태중 제 1 상태에 있을 때, 피드백 신호는 하나의 전압값을 가질 수 있고, 기입 전압이 도전체(404, 406)를 통해 인가되고 메모리 소자(402)가 두 개의 쌍안정 저항 상태중 제 2 상태에 있을 때, 이 피드백 신호는 다른 전압값을 가질 수 있다. 그러므로, 피드백 신호(410)는 기입 제어기 또는 다른 메모리 회로에게 메모리 소자의 전류 상태를 통지한다. 이것은, 일 예로서, 메모리 소자를 제 1 상태에서 제 2 상태로 스위칭하는데 필요한 동안에 기입 전압이 메모리 소자에 인가되는 것을 허용한다. 그러므로, 일 예로서, 메모리 소자가 어느 정도 확실한 정도로 스위칭되는 것을 보장할 정도로 충분한 시간(여기서 충분한 시간이란 메모리 소자를 특성화하는 PDF로부터 계산된 시간임)동안 기입 전압을 인가하는 것이 아니라 기입 전압이 메모리 소자를 실제로 스위칭하기에 충분한 시간동안 인가된다. 도 3a를 참조하여 전술한 바와 같이, 고도의 확실한 스위칭을 보장하는데 필요한 기입 전압 인가 시간은 특정 멤리스티브 메모리 소자의 평균 스위칭 시간보다 몇 배 이상 더 길 수 있고, 따라서 피드백 신호는 일반적으로 상당히 더 짧은 평균 전압 인가 시간을 초래한다.
도 5는 멤리스티브 메모리 소자 및 다른 쌍안정 데이터 저장 물질에 대한 로그 정규 분포 스위칭 시간의 영향을 개선하는 두 번째 방법을 예시한다. 도 5에서, 긴 어레이의 비트값들(이 어레이의 각각의 셀은 단일 비트값을 저장함)로 표시된 이진 데이터(502)의 입력량은 길이 k를 갖는 다수의 서브어레이(subarrays)(504 내지 507)로 나뉜다. 이러한 k 어레이는 이후에 다양한 상이한 유형의 오류 제어 코드(ECC)중 하나를 이용하여 인코딩(encoded)되는데, ECC는 k 길이를 갖는 각각의 서브어레이에 r개의 리던던트 비트를 추가하게 된다(510). 인코딩된 서브어레이는 이후에 메모리(512)에 저장된다. 판독 동작(514)동안 메모리로부터 저장된 데이터가 검색될 때, 인코딩되어 저장된 정보는 디코드 로직(decode logic)(516)에 의해 디코딩되어, k-길이의 서브어레이(520 내지 523)가 만들어진다. 일반적으로, 이후의 서브섹션에서 논의되듯이, 각각의 k-길이 서브어레이에 r개의 리던던트 비트의 정보를 추가하는 것은 각각의 k-길이 서브어레이 내부의 몇 개의 부정확하게 저장된 비트 혹은 부정확하게 판독된 비트가 디코드 로직에 의해 오류 정정되는 것을 허용한다. 그러므로, 기입/판독 프로세스에서 몇 개의 비트 오류는 오류 데이터를 초래함이 없이 메모리에 의해 처리될 수도 있다. ECC를 이용하면, 일 예로서, 코드화되지 않은 정보를 판독 및 기입하지만 기입 전압을 더 오래 인가하여 얻는 것과 동일한 오류율을 달성하면서 기입 전압이 인가되는 시간의 길이는 상당히 단축시킬 수도 있다.
오류 제어 코드(
Error
Control
Codes
)
오류 제어 코딩에 대한 좋은 참조는 린(Lin) 및 코스텔로(Costello)가 편수한 교재 "Error Control Coding:Fundamentals and Applications"(Prentice-Hall Inc., New Jersey, 1983)과, 론 엠 로스(Ron M. Roth)가 편수한 "Introduction to Coding theory"(Cambridge University Press, 2006)이다. 오류 제어 코딩에 이용되는 오류 검출 및 오류 정정 기술의 간단한 설명은 다음에 제공된다. 추가적인 세부 사항은 전술한 참조 교대로부터 얻을 수 있거나 또는 이 분야의 많은 다른 교재, 논문 및 정기간행물 기사 등에서 얻을 수 있다.
오류 제어 인코딩 기술은 보충 비트(supplemental bit) 혹은 심볼을 평문 메시지(plain-text messages)에 체계적으로 도입하거나 또는 저장 혹은 전송시 발생한 오류가 감지되거나 어떤 경우에는 정정되도록 하는 정보를 인코딩된 메시지내에 제공하기 위해 절대적으로 필요한 것보다 더 큰 수의 비트 혹은 심볼을 이용하여 평문 메시지를 인코딩한다. 보충 비트 혹은 절대적으로 필요한 것보다 많은 비트나 심볼의 한 가지 효과는 코드워드가 벡터 공간에서 벡터로 보여지고 코드워드 사이의 간격이 코드워드의 벡터 뺄셈에서 유도되는 메트릭일 때, 유효 코드워드 사이의 간격을 증가시키는 것이다.
오류 검출 및 정정을 설명함에 있어서, 하나 이상의 메시지로서 전송, 저장 및 검색될 데이터를 설명하는 것이 유용한데, 여기서 메시지 는 필드(field) F의 원소인 심볼들의 순서화된 시퀀스 를 포함한다. 메시지 는 다음과 같이 표현될 수 있다.
필드 F는 곱셈과 덧셈하에서 닫혀진(closed) 집합으로, 곱셈 역원(multiplicative inverse)과 덧셈 역원(additive inverse)을 포함하는 집합이다. 컴퓨터를 사용한 오류 검출 및 정정에서, 차수 m의 GF(p)에 대한 기약 다항식(irreducible polynomial)을 덧셈 및 곱셈 모듈로(modulo)로 정의하는 덧셈 및 곱셈 연산자를 가지면서, 소수(prime number) p의 m 거듭제곱과 동일한 크기를 갖는 정수 부분 집합을 포함하는 유한 필드를 이용하는 것이 일반적이다. 실제로, 이진 필드 GF(2) 혹은 이진 확대 필드(binary extension field) GF(2m)가 일반적으로 이용되며, 이후의 논의는 필드 GF(2)가 채용되는 것을 가정한다. 흔히, 원본 메시지는 필드 GF(2)의 원소들의 순서화된 시퀀스를 포함하는 메시지 c로 인코딩되며, 다음과 같이 표현된다.
블록 인코딩 기술은 데이터를 블록으로 인코딩한다. 이 논의에서, 블록은 n 개 심볼의 순서화된 시퀀스를 포함하는 메시지 c로 인코딩되는 고정된 수의 심볼 k를 포함하는 메시지 로 관찰될 수 있다. 인코딩된 메시지 c는 일반적으로 원본 메시지 보다 더 큰 수의 심볼을 포함하고, 따라서 n은 k보다 더 크다. 인코딩된 메시지내의 r개의 여분 심볼(여기서 r은 n-k이다)은 리던던트 검사 정보를 운반하는데 이용되어, 전송, 저장 및 검색동안 발생한 오류가 극도로 높은 검출 확률로 검출될 수 있게 하고, 어떤 경우에는 정정될 수 있게 한다.
선형 블록 코드에서, 2k 코드워드는 GF(2) 위에서 모든 n-튜플(tuples)의 벡터 공간의 k-차원 부분 공간(subspace)을 형성한다. 코드워드의 해밍 웨이트(hamming weight)는 코드워드내의 0이 아닌 원소의 개수이고, 두 개의 코드워드 사이의 해밍 거리(hamming distance)는 두 개의 코드워드가 상이한 원소의 개수이다. 예를 들어, 이진 필드로부터 원소들을 가정하고 다음의 두 코드워드 a 및 b를 고려하자.
코드워드 a는 3의 해밍 웨이트를 갖고, 코드워드 b는 2의 해밍 웨이트를 가지며, 코드워드 a와 b는 4번째 원소가 다르므로 코드워드 a와 b 사이의 해밍 거리는 1이다. 선형 블록 코드는 종종 3원소 튜플 [n, k, d]로 설계되는데, 여기서 n은 코드워드 길이이고, k는 메시지 길이이거나 또는 코드워드의 개수의 기수-2 로그(base-2 logarithm)과 등가이며, d는 상이한 코드워드 사이의 최소 해밍 거리로서, 코드내의 최소 해밍 웨이트를 갖는 0이 아닌 코드워드이다.
데이터의 전송, 저장 및 검색 동안 오류가 발생하지 않을 때 전송, 저장 및 검색을 위한 데이터의 인코딩과, 그 이후에 일어나는 인코딩된 데이터의 디코딩은 다음과 같이 표기될 수 있다.
여기서 c(s)는 전송 이전에 인코딩된 메시지이고, c(r)은 초기에 검색되거나 수신된 메시지이다. 그러므로, 초기 메시지 는 인코딩되어 인코딩된 메시지 c(s)를 발생하고, 이 인코딩된 메시지는 이후에 전송되거나, 저장되거나, 혹은 전송되어 저장되며, 그 이후에 초기에 수신된 메시지 c(r)로서 검색되거나 수신된다. 오류가 생기지 않았을 때, 초기에 수신된 메시지 c(r)는 나중에 디코딩되어, 원본 메시지 를 발생한다. 위에서 지적한 바와 같이, 오류가 발생하지 않을 때, 원래의 인코딩된 메시지 c(s)는 초기에 수신된 메시지 c(r)과 동일하고, 이 초기에 수신된 메시지 c(r)는 오류 정정없이 곧장 원본 메시지 로 디코딩된다.
인코딩된 데이터의 전송, 저장 또는 검색 동안에 오류가 발생하면, 메시지 인코딩 및 디코딩은 다음과 같이 표현될 수 있다.
따라서, 전술한 것처럼, 원본 메시지 를 인코딩하고 최종 수신된 메시지 를 발생하기 위해 초기에 수신된 메시지 c(r)를 디코딩 또는 재구성하는데 이용되는 오류 검출 및 오류 정정 기술의 정확도에 따라서 최종 메시지 은 초기 메시지 와 동일할 수도 있고 동일하지 않을 수도 있다. 오류 검출은 다음을 결정하는 프로세스이다.
오류 정정은 오류가 생긴 초기에 수신된 메시지로부터 초기 인코딩된 메시지를 재구성하는 프로세스이다.
인코딩 프로세스는 로 코드화된 메시지를 인코딩된 메시지 c로 변환하는 프로세스이다. 선택적으로, 메시지 는 F의 원소들를 이루는 알파벳으로부터 선택된 순서화된 심볼 집합을 포함하는 워드로 간주될 수 있고, 인코딩된 메시지 c는 마찬가지로 F의 원소들의 알파벳으로부터 선택된 순서화된 심볼 집합을 포함하는 코드워드로 간주될 수 있다. 워드 는 F의 원소들로부터 선택된 k개 심볼의 임의의 순서화된 조합일 수 있는 반면에, 코드워드 c는 다음의 인코딩 프로세스를 통해 F의 원소들로부터 선택된 n개의 심볼들의 순서화된 시퀀스로서 정의된다.
선형 블록 인코딩 기술은, 워드 가 k-차원 벡터 공간의 벡터인 것을 간주하고 이 벡터 를 다음과 같은 생성 행렬(generator matrix)로 곱함으로써 길이 k의 워드를 인코딩한다.
전술한 식의 심볼을 표기법상으로 확장하면 다음의 다른 표현들 중 하나가 만들어진다.
선형 블록 코드에 대한 생성 행렬 G은 다음의 형태를 가질 수 있다.
혹은 선택적을 다음과 같을 수도 있다.
그러므로, 생성 행렬 G는 k×k 단위 행렬(identity matrix) Ik ,k로 증가된 행렬 P의 형태로 대체될 수 있다. 선택적으로, 생성 행렬 G은 다음의 형태를 가질 수 있다.
이러한 형태로 생성 행렬에 의해 발생된 코드는 "조직적 코드(systematic code)"로 불린다. 전술한 첫 번째 형태를 갖는 생성 행렬이 워드 에 적용될 때, 최종 코드워드 c는 다음의 형태를 갖는다.
여기서 이다. 두 번째 형태의 생성 행렬을 이용하면, 코드워드는 트레일링 패리티 검사 비트(trailing parity check bit)와 함께 발생된다. 그러므로, 조직적 선형 블록 코드에서, 코드워드는 r개의 패리티 검사 심볼 ci와 그에 후속하는 원본 워드 를 포함하는 k개의 심볼을 포함하거나, 또는 원본 를 포함하는 k개의 심볼과 그에 후속하는 r개 패리키 검사 심볼을 포함한다. 오류가 발생하지 않을 때, 원본 워드 혹은 메시지 는 평문 형태로 발생하고, 대응하는 코드워드로부터 용이하게 추출된다. 패리티 검사 심볼은 원본 메시지 혹은 워드 의 심볼들의 선형 조합으로 된다.
두 번째의 유용한 행렬 중 한 가지 형태는 다음과 같이 정의되는 패리티 검사 행렬 Hr ,n이다.
혹은 이것은 다음과 등가이다.
패리티 검사 행렬은 조직적인 오류 검출 및 오류 정정을 위해 이용될 수 있다. 오류 검출 및 정정은 초기에 수신된 혹은 검색된 메시지 c(r)로부터 다음과 같은 신드롬(syndrome) S를 계산하는 것을 수반한다.
여기서 HT는 다음으로 표현되는 패리티 검사 행렬 Hr ,n의 전치행렬(transpose)이다.
2진 필드가 활용될 때, x=-x이고, HT에서 전술한 "-" 기호는 일반적으로 도시되지 않음을 유의하라.
신드롬 S는 오류 검출 및 오류 정정에 이용된다. 신드롬 S가 모드 0-벡터일 때, 코드워드에는 오류가 검출되지 않는다. 신드롬이 "1"의 값을 갖는 비트를 포함하면, 오류를 나타낸다. 신드롬과 코드워드로부터 추정 오류 벡터(estimated error vector) 를 계산하는 기술이 존재하는데, 이것은 코드워드에 대해 모듈로-2 덧셈으로 더해질 때, 원본 메시지 의 가장 양호한 추정이 이루어진다. 오류 벡터 를 발생하는 세부 사항은 전술한 교재들에 제공되어 있다. 오류의 일부 최개 개수까지 검출될 수 있고, 검출될 수 있는 이 최대 개수의 오류보다 적은 오류가 정정될 수 있음을 유의하라.
가상
기입
방법(
hypothetical
WRITE
Methods
)
도 6a 및 도 6b는 멤리스티브 메모리 소자 혹은 다른 비선형 데이터 저장 물질에 스위칭 펄스를 인가하는 것을 예시한다. 다음 논의중 대부분에서 하나의 스위칭 펄스 또는 다중 스위칭 펄스를 인가하는 것이 고려된다. 스위칭 펄스는 지속 시간 t(604) 동안 양 전압 vON(602)을 인가하던가 혹은 지속 시간 t(608) 동안 음 전압 vOFF(606)를 인가할 수 있을 것이다. 어느 경우든, 펄스의 지속 기간 T가 결정될 수 있는 적절한 로그 정규 스위칭 시간 PDF와 그에 대응하는 CDF를 계산하기 위해 적정한 τ파라미터가 τON과 τOFF로부터 선택되는데, 이때 T는 평균 스위칭 시간의 몇 배인 단위이며, 메모리 소자가 가장 바람직한 비트 오류율(BER)에 대응하는 특정 최소 스위칭 확률을 넘어서 스위칭할 확률을 제공한다.
소정의 메모리 소자에 대한 스위칭 실패 확률 Pb(T) 또는 다중 메모리 소자 장치에 대한 비트 오류율은 다음과 같이 전술한 로그 정규 CDF로부터 게산된다.
여기서 는 전술한 CDF이다. 다음의 논의에서, 단순화하기 위해, 성공적으로 인가된 기입 동작이 메모리 소자의 상태를 변화시키지 않은 경우처럼 온-스위칭과 오프-스위칭 사이의 비대칭성은 무시되며, 따라서 기입 동작의 실패는 메모리 소자의 상태를 변경시키지 않는다. 이러한 경우들을 무시하는 것이 이후에 논의되는 다양한 방법들 사이의 비교를 바꾸지는 않는다. 이후의 논의에서, 멤리스티브 메모리 소자 및 다른 비선형 데이터 저장 물질의 스위칭 실패는 2진 대칭 잡음 채널(binary symmetric noisy channel)로 모델링된다.
다음 논의에서, ECC가 이용될 때, 코드 C는 [n,k,d] 코드이고 따라서 각각의 코드워드를 기입 및/또는 판독시 최대 (d-1)/2 비트 오류까지 정정될 수 있음이 가정된다. 물론, 비트 오류를 복구하는 능력은 길이 k의 2진 정보 비트의 각 그룹에 부가되는 리던던트 비트 r의 댓가이며, 다음과 같이 정의되는 정보율(information rate) R을 초래한다.
전술한 바와 같이, 코드화되지 않은 정보는 메모리에 대해 저장 및 검색될 때, 저장된 정보의 판독 동안에는 오류가 발생하지 않는다는 가정하에, 메모리로부터 검색된 정보내의 오류 발생 비트의 비율은 스위칭 실패의 확률 Pb 즉 BER이다. 코드화된 정보가 메모리에 저장되었다가 나중에 오류 정정 디코더에 의해 검색 및 처리될 때, BER 은 다음과 같다.
이 수식에서, ECC에 의해 정정될 수 있는 최대 개수의 오류를 초과하는 많은 오류를 포함하는 모든 오류 패턴의 확률들은 서로 더해져서 코드워드의 길이 n으로 나누어진다.
다음, 도 4 및 도 5를 참조하여 전술한 피드백 신호와 ECC 중 하나 혹은 둘 모두를 채용하는 다수의 상이한 데이터 기입 방법들이 고려된다. 먼저, 이들 논의에서 이용되는 다양한 표기법의 개요가 서술된다.
단일 펄스 방법의 경우, 기입 전압 혹은 메모리 소자를 스위칭하는데 이용되는 다른 힘이나 그래디언트의 총 인가 시간 은 단일 펄스의 지속 기간인 T이다. 다중 펄스 방법의 경우, T1은 다중 펄스의 함과 동일하다.
평균 전압 인가 시간 Tavg는 예상된 총 인가 시간이다.
즉, 리던던트 비트를 기입하기 위한 추가 시간을 고려한다. 마지막으로, 특정 데이터 기입 방법에 대한 정보 비트당 이득 G 또는 에너지 소비나 메모리 대역폭에서의 예상 절약 w는 다음과 같다.
따라서, 다음의 비교들, 즉, 비코드화된 BER , 코드화된 BER , 전압의 총 인가 시간 혹은 데이터를 기입하는데 이용되는 다른 힘 및/또는 그래디언트의 총 인가 시간 , 다중 펄스 방법에 대한 평균 인가 시간 , 비트 당 평균 펄스 시간 및 이득 G가 상이한 데이터 기입 방법들의 비교를 용이하게 하기 위해 평가된다. 가 상이한 기입 방법들 사이의 에너지 소비와 메모리 대역폭를 비교할 때 이용하기 유리한 적당한 특징인 반면, 및 는 장치의 감손(wear) 및 최악의 경우의 대기시간(latency) 사안들을 반영한다.
전술한 바와 같이, 로그 정규 분포의 스위칭 시간을 나타내는 메모리 소자를 갖는 장치에 높은 신뢰도로 데이터를 저장하는 것을 보장하는데 필요한 잠재적으로 긴 기입-전압 인가 시간을 개선하는 한 가지 방법은 메모리 제어기로하여금 선택된 시점에 특정 메모리 소자가 스위칭되었는지를 결정하게 하는 피드백 신호를 이용하는 것이다. 기입 전압의 평균 인가 지속 기간을 감소시키는 이러한 피드백 신호 기반 방법은 추가 회로 및 회로 소자의 측면에서 상당한 비용을 발생시킴을 유의해야 한다. 마찬가지로, 전술한 바와 같이, ECC의 이용으로 제공되는 오류 정정 능력은 메모리 장치에 대한 정보율을 감소시키는 추가의 리던던트 비트의 저장을 수반한다.
다음의 논의에서는, 다양한 단순화가 행해진다. 예를 들면, 와 관련한 전술한 수식에서, 코드워드의 s개 비트 이상이 오류가 발생될 때, 디코더는 항상 실패하는 것으로 가정되는데, 다시 말해서 디코딩은 항상 정정될 수 없는 오류 패턴을 검출할 수 있다고 가정된다. 디코더가 정정 불가능한 오류 패턴을 검출하면, 디코더는 코드워드를 디코딩하는 것을 중단하여 추가 오류를 도입하지 않는다. 실제로, 이것은 항상 있는 경우가 아니다. 디코더가 정정 불가능 오류 패턴에 대해 부정확하게 디코딩된 코드워드를 발생할 확률은 작다. 이러한 가정은 이런 확률이 무시되는 것으로, 이 가정이 전체 BER 계산 결과에 크게 영향을 미치지않으므로 실제로는 합리적이다.
로그 정규 분포 스위칭 시간을 갖는 메모리 소자를 특징으로 하는 장치에 대해 최적화될 수 있는 많은 상이한 파라미터가 존재한다. 예를 들면, 기입 전압이나 다른 힘 또는 그래디언트가 인가되는 동안의 길이 T와 펄스 개수를 변경하는 것과 함께, 특정 BER을 달성하는데 필요한 평균 펄스 시간을 일반적으로 감소시키지만 정보를 저장하는 메모리 혹은 다른 데이터 저장 장치에 의해 소비되는 에너지는 증가시키는 높은 전압을 갖도록 전압 그 자체가 변경될 수도 있다. 그러나, 많은 경우에, 인가될 수 있는 기입 전압의 범위내에는 최적의 기입 전압이 존재하지 않고, 대신에 더 큰 크기의 기입 전압을 이용하는 것이 일반적으로 에너지를 덜 소비하는 것으로 드러났다. 다시 말해서, 메모리 소자에 인가되는 기입 전압이 더 클수록, 인가될 필요가 있는 기입 전압은 더 작아지고, 메모리 소자를 스위칭하는데 더 적은 총 에너지가 소비된다. 물론, 어떤 점에서, 기입 전압의 증가가 장치의 실패를 유도하고, 장치의 수명(longevity) 역시 높은 기입 전압의 이용에 의해 부정적인 영향을 받을 수도 있다. 다른 예로서, 위에 제공된 PDF와 CDF 수식에 의해 전술된 것처럼 모델링된 스위칭 시간의 자연 로그의 변화량(variance) σ는 인가 기입 전압에 따라 좌우된다. 그러나 이러한 의존성은 약하고, 따라서 최적화를 위한 좋은 후보 파라미터(기입 전압)으로 여겨지지 않는다.
다음의 논의에서, 전술한 바와 같이, 인가 시간은 τ의 단위로 기록되고, 다시 말해서 임의 변수는 t/τ이다. 그러므로, 다음의 논의에서, 그 결과는 시간 척도 의존적 방식(time-scale-independent fashion)으로 제공된다. 다양한 정보 기입 방법에 대한 다음의 다양한 파라미터의 계산에서, 2진 BCH(Bose, Ray-Chaudhuri, hocquenghem) ECC 코드 C가 이용된다. 이 코드는 를 갖는 [4304,4096,33] ECC 인데, 이것은 4096 비트 코드 블록당 최대 16개의 임의 오류를 정정할 수 있다. 비록 실제 메모리 시스템에서는 코드를 선택하는 추가적인 사안들로서 코드의 실패 모드 유형과, 다양한 유형의 상관된 다중 비트 오류를 적절히 다루는 코드의 능력을 포함하더라도, 이러한 특별한 코드는 다음 논의에서 스위칭 실패 오류를 정정함에 있어 좋은 성능을 위해 이용된다. 다음의 해석에서, 두 개의 상이한 목표 BER 레벨이 고려되는데, 즉, (1) , 이것은 현재 저장 장치를 위한 BER 레벨의 하부 종점(lower end)을 나타내며, 예상되는 오류없이 2시간 짜리 고 해상도 영화를 저장하는데 대응하며, (2) , 이것은 장래의 원하는 BER 레벨을 나타낸다.
도 7a 내지 도 7f는 로그 정규 분포 스위칭 시간의 특징을 나타내는 메모리 소자를 포함하는 메모리 장치에 데이터를 기입하는 6개의 상이한 데이터 기입 방법을 예시한다. 이들 방법들은 6개의 상이한 데이터 기입 방법을 위한 다양한 파라미터들은 메모리에 데이터를 우선 기입한 다음에 이 데이터를 메모리로부터 다시 판독함으로써 결정되는 가상 실험들로 이루어진다. 이후에 논의되는 것처럼, 파라미터들은 다른 가정 및 고려 사항들과 함께 로그 정규 분포 PDF 및 CDF에 기반한 이러한 가상 실험에 대해 추정될 수 있다.
"1-펄스 비코드화 기입 방법(one-pulse-uncoded WRITE method)"으로 불리는 도 7a에 도시된 제 1 방법에서, 단계(702)에서 길이 T의 단일 펄스를 이용하여 데이터가 메모리에 기입되고, 단계(703)에서 메모리로부터 다시 판독되며, 단계(704)에서 1-펄스 비코드화 기입 방법에 대한 BER을 결정하기 위해 메모리로부터 다시 판독된 데이터가 초기에 메모리에 기입된 데이터와 비교된다. 물론, 통계적으로 의미있는 결과를 얻기 위해 이 실험은 여러 번 반복될 수 있거나 많은 메모리 소자에 대해 테스트될 수도 있으며, 이 두 가지 모두가 해당될 수도 있다. 1-펄스 비코드화 기입 방법은 이후에 하나 이상의 ECC와 피드백 신호를 이용하는 추가적인 방법들이 비교되는 기준점을 나타낸다. 도 7b에 도시된 1-펄스 코드화 방법(one-pulse-coded method)에서, 단계(706)에서 데이터는 먼저 코드워드로 인코딩된 다음, 단계(707)에서 길이 T의 단일 기입 펄스를 이용하여 메모리에 기입된다. 단계(708)에서, 데이터는 메모리로부터 판독되어 단계(709)에서 디코딩되며, 그 후에 단계(710)에서 디코딩된 이 데이터는 원래 메모리에 저장된 데이터와 비교되어, 1-펄스 코드화 방법에 대한 BER을 획득한다. 도 7c에 도시된 다중 펄스 비코드화 방법(multi-pulse, uncoded method)에서는, 데이터가 다중 펄스로 기입된다. 단계(712-716)의 for-루프(for-loop)에서, 펄스의 시퀀스는 메모리에 데이터를 기입하려고 시도하는데 이용된다. for-루프의 각각의 반복에서, 데이터는 길이 Ti의 다음 펄스를 이용하여 기입되도록 시도되는데, 여기서 i는 현재 반복의 회수 혹은 지수(index)를 나타내는 반복 변수(iteration variable)이다. 다음, 단계(714)에서, 피드백 가능형 메모리 소자로부터 제공된 피드백 신호가 데이터가 메모리에 정확히 기입되었는지 결정하기 위해 고려된다. 선택적으로, 메모리 소자는 스위칭이 발생했는지를 검증하기 위해 판독될 수도 있다. 단계(715)에서 결정되는 것처럼, 데이터가 정확하게 메모리에 기입되지 않았을 때, 그리고 현재 반복 지수 i가 반복 종료값 num보다 작을 때, for-루프의 다음 반복이 수행된다. 만약 그렇지 않다면, 단계(717)에서 데이터는 메모리로부터 판독되고, 다중 위상 비코드화 방법으로부터 BER을 결정하기 위해 메모리에 기입된 데이터와 비교된다. 위에서 논의된 것처럼 펄스 시간의 합 T0+...+Tt는 총 펄스 시간 Tt와 동일하고, 따라서 특정 최대 전압 인가 지속 기간 Tmax보다 작거나 같다. 이것과 그 관련 방법을 모델링하기 위해서, 스위칭 확률은 기입 동작에서 메모리 소자에 인가되는 하나 이상의 펄스에 대한 전압 인가의 총 누적 시간과 관계있다고 가정된다. 다시 말해서, 3개의 1초 펄스로 기입 전압을 인가하는 것은 단일의 3초 펄스로 기입 전압을 인가하는 것가 등가이다. 도 7d에 도시된 다중 펄스 코드화 방법은 도 7c를 참조하여 전술한 다중 펄스 비코드화 방법과 유사한데, 단계(720)에서 ECC를 이용하여 데이터가 먼저 인코딩되는 것과 그 이후에 단계(722)에서 디코딩되는 것만 다르다.
도 7e는 연속 비코드화 방법(continuous uncoded method)을 도시한다. 연속 비코드화 방법은 다중 펄스 비코드화 방법을 최대한 늘인 것과 등가임에, 여기서 펄스 시간 T1은 최대 전압 인가 시간 Tmax까지 추가하여 극소의 주기로 단축시킨 것이다. 단계(724)에서, 기입 전압이 메모리 장치에 인가되어 장치내부의 메모리 소자에 데이터 기입을 시작한다. 다음, 단계(725-726)의 while-루프(while-loop)에서, 메모리 소자로부터의 피드백 신호가 연속적으로 모니터되어, 기입 전압의 인가에 의해 메모리 소자가 스위칭될려고 하는 때, 즉, 실제로 원하는 상태로 스위칭되는 때를 결정한다. 이것이 발생하면, while-루프는 종료되고, 데이터는 단계(727)에서 메모리로부터 판독되며, 단계(728)에서 원래 기입된 데이터와 비교되어 연속 비코드화 방법에 대한 BER을 결정하게 된다. 도 7f에 도시된 연속 코드화 방법(continuous coded method)은 연속 비코드화 방법과 유사한데, 데이터가 단계(730)에서 먼저 ECC를 이용하여 인코딩된 다음, 메모리로부터 판독된 후 단계(732)에서 디코딩되는 것만 다른다.
도 7a 내지 도 7f에 예시된 모든 방법들은 1-펄스 비코드화 방법인 경우에는 피드백도 ECC도 이용하지 않거나 피드백과 ECC중 하나 혹은 둘다를 이용하는 가상 데이터 저장 방법을 나타낸다. 피드백은 다중 펄스 코드화 방법에서 이용되며, 연속 비코드화 방법 및 연속 코드화 방법에서도 이용된다. ECC는 1-펄스 코드화 방법, 다중 펄스 코드화 방법 및 연속 코드화 방법에서 이용된다. 1-펄스 방법의 경우, Tavg=Tmax=T이다. 1-펄스 코드화 방법의 경우, 이다. 1-펄스 비코드화 방법의 경우, 이다.
다양한
기입
방법의 해석
이 섹션에서는, 도 7a 내지 도 7f를 참조하여 설명한 다양한 기입 방법을 해석하는 방법이 논의된다. 이 해석은 전술한 및 G를 포함해서 다양한 파라미터의 추정을 제공한다. 다양한 해석의 결과는 다음의 서브섹션에 논의된다.
1-펄스 방법에서, T의 선택은 코드화 방법에서 C로 인코딩된 것으로 가정되는 저장된 데이터의 입력 BER 을 결정한다. 코드화 방법의 출력 BER은 이후에 전술한 BCH 코드의 파라미터 및 을 이용하여 추정된다.
두 개의 펄스를 이용하는 다중 펄스 기입 방법은 피드백을 갖는 가장 간단한 데이터 기입 방법이다. 지속 기간 T1의 초기 펄스가 인가되고, 장치의 상태가 감지된다. 장치가 원하는 목표 상태로 스위칭된 것이 발견되면, 기입 동작이 완료된 것으로 간주된다. 장치가 스위칭하지 않았다면, 지속 기간 의 추가 펄스가 인가되고, 여기서 이다. 비록 시간 T1에서 동작을 중단시키는 것이 평균 총 펄스 시간을 감소시키더라도, 스위칭 실패 확률은 여전히 에 의해 결정되고, 그 결과로 임을 유의하자. 예상 총 펄스 지속 기간은 다음과 같다.
의 목표값이 주어지면, Tavg를 최소화시키는 T1의 값이 계산될 수 있다. 실제로, 이고 T1, Tavg의 함수로서 간격(0, Tmax)에서 분명한 최소를 가짐이 쉽게 증명된다. 도 8은 2-펄스 기입 법에서 제 1 펄스의 길이 T1에 대한 기입 전압 Tavg의 인가의 총 예상 시간(total expected time)의 의존도를 예시한다. Tavg를 최소화하는 T1의 값을 찾기 위해, 전술한 수식의 우측항은 위에 제시된 것처럼 에 대한 완전한 수식으로 대체한 후 미분되고, 로 표시되는 0의 도함수에 대해 수치적으로 풀린다. 최적의 예상 총 펄스 길이는 으로 주어진다.
2진 대칭 잡음 채널의 경우, 2-펄스 방법은 1-펄스 방법과 동일한데, 예상에서 훨씬 더 짧은 펄스와 그에 따라 훨씬 더 적은 에너지가 동일한 BER를 획득하는데 이용되는 것만 다르다. 최악의 경우의 펄스 지속 기간은 1-펄스 경우와 동일하다. 1-펄스 경우에서 처럼, ECC를 이용하는 것은 예상 펄스 길이와 에너지 소비량을 더 감소시키지만, 추가적으로 최악의 경우 평균 펄스 길이 비율까지 대폭적인 감소를 초래한다.
3-펄스 기입 방법은 2-펄스 기입 방법과 유사한 방식으로 해석되는데, 메모리 소자의 상태를 감지하는 것이 이산적인 시간 T1 및 T2에서 허용된다는 것만이 다르고, 이때 이다. 예상 총 펄스 길이는 다음의 공식에 의해 제공된다.
의 목표값에 대응하는 주어진 Tmax의 값에 대해, Tavg는 T1 및 T2에서 심각한 전반적인 최소화를 나타내는데, 이것은 T1 및 T2와 관련하여 편도함수(partial derivatives)를 취하고, 수치적 방법으로 최종 방정식 체계를 풀이함으로써 쉽게 발견된다.
연속 피드백 기입 방법에서, 최대 지속 기간 Tmax의 펄스가 이용되면서 스위칭이 발생한 직후에 인가 전압을 제거한 상태로 장치의 상태가 연속적으로 모니터된다. 연속 피드백 기입 방법에 대한 예상 펄스 기간은 다음으로 주어진다.
이때 Tmax는 무한대를 향할 때, 전술한 수식은 예상대로 로그 정규 밀도 의 평균인 이 된다. 실제로, 이 제한은 Tmax/τ>1일 때 급속히 근접된다. 도 9는 연속 기입 법과 관련해 최대 인가 시간 Tmax에 대한 기입 전압 Tavg의 인가의 예상 누적 시간(expected cumulative time)의 의존도를 예시한다.
피드백은 기입 동작의 에상 지속 기간에 상당한 이득을 제공한다. 이러한 이득은 예상 에너지 소비를 줄이고 장치에 대한 감손을 줄이는 것으로 곧장 해석된다. ECC의 이용은 또한 때대로 상당한 이득폭만큼 이러한 이득을 보강한다. 또한, 최소한 Tmax가 시간 단위로 분리되어 발생하도록 기입 요청이 제한되는 경우일지라도, 코딩으로 인한 꽤 큰 Tmax의 감소는 시스템 처리량에서 대응하는 이득을 유발한다. Tavg 감소로부터의 처리량을 이득보고 Tmax 제한 이상으로 동작율을 증가시키기 위해, 일부 동작들이 시간 Tmax가 소요되므로 기입 동작에 대한 큐잉(queueing)이나 버퍼링(buffering) 메커니즘이 구현될 수도 있으며, 더 빠른 속도로 도착하는 기입 요청들은 이들 동작이 완료될 때까지 큐에 저장되어 대기하게 될 것이다. 이러한 시스템의 버퍼링 요건과 신뢰도는 큐잉 이론의 수단을 이용하여 해석될 수 있다.
파라미터 t1, Tmax 및 Tavg를 갖는 2-펄스 방법을 고려하자. 단순화를 위해 기입 요청은 A의 시간 단위의 도착 간격을 갖고 정해진 속도로 도착한다고 가정하자. 만약 A≥Tmax이면, 큐잉은 필요하지 않으므로, A<Tmax가 가정된다. 분명히, 유계의 나머지 것에 대한 기회를 갖기 위한 큐의 경우는, A>Tmax이다(사실 이것은 큐잉 이론에서 잘 알려진 결과이고, 이후의 해석으로부터 알려지듯이, 이다). 더 단순화한 가정은 비율 가 정수인 것이다. 비율 Tmax/Tavg는 크기 때문에, 특정값의 Tmax으로 달성되는 목표 BER을 고려하면 이것은 매우 제한적인 가정이 아니다. 대부분의 경우, Tmax는 d를 정수로 만들도록 살짝 증가될 수 있다. 이러한 가정으로, 큐에서 대기하는 시간에 대한 해석은 간단한 정수값 랜덤 워크(integer-valued random walk)를 검토하는 것으로 축소된다.
wi이 i번째 기입 요청에 대한 큐 속에서의 대기 시간(실제 대기 시간은 이다)을 나타내는 정수의 임의 변수를 나타낸다고 하고, 여기서 ti는 i번째 기입의 실제 총 펄스 길이로, i번째 기입 요청에 대한 서비스 시간이다. 는 a>b일 때 a-b를 표시하고, 그렇지 않을 때는 0을 표시하는 것으로 한다. 다음, 초기 조건으로서, w0=0을 취하면,
여기서, 는 {1, -d}의 값을 추정하는 임의 변수이고, 이고, 이다. 이전의 가정하에, 이 확률들은 i에 독립적이다. 랜덤 워크 는 마르코프 연쇄(Markov chain)로, 충분히 큰 p인 경우에 끊임없이 지속되어 상태로 종종 무한 복귀된다. 이러한 가정하에, 연쇄는 정상 분포(stationary distribution)를 갖는다.
함수를 발생하는 명백한 수식은 전술한 수식으로부터 다음과 같이 얻을 수 있다.
이로부터, 대기 시간의 예상이 다음과 같이 유도된다.
예상대로, A가 Tmax에 근접할 때 E[W]는 0에 근접하고(일때 큐는 필요치 않다), A가 Tavg에 근접할 때 E[W]는 무한에 근접한다. 리틀의 법칙(Little's theorem) [3]에 의해, 큐 사이즈에 대한 예상은 다음과 같이 주어진다.
위에 제공된 수식으로부터 변수 u가 모든 확률 Pw를 증가시키는 것은 분명하다. 다음을 고려하자.
용어들을 재배열하고, 일부 대수학적 처리(algebraic manipulations)를 하면 다음의 수식이 얻어진다.
여기서 정수 에 대해 은 G1(z)에 대한 수식의 분자(numerator)와 분모(denominator)로부터 공통 인수 (1-z)를 제거한다. 전술한 수식은 u의 최대 인수까지 G(z)를 결정한다. G(1)=1로 설정하면, 다음의 수식이 얻어진다.
이것은 G(z)의 결정을 완성한다. w의 예상은 다음에 의해 제공된다.
이것은 E[w]에 대해 첫 번째 제공된 수식을 산출한다. 위에 제시된 E[w]에 대한 두 번째 수식은 첫 번째 제공된 수식에 을 대입하고, 시간 스케일 A-T1을 곱하고 소환한다. u가 양인 경우, 은 로 이어진다.
펄스의 개수에 대한 명확한 한도를 도입하는 것이 아니라 스위칭을 증명하기 위해 판독이 개재하는 이산 펄싱 기입 방법을 고려하고, 대신에 증명/판독 동작에 패널티를 제기하는 것을 고려하고, 이러한 패널티를 경험하는 최적 펄싱 방법을 결정하자.
는 최종 펄스가 Tmax에서 종료하는 것만 빼면 판독과 일치하는 시간에 종료하는 펄스의 시퀀스를 표시하고, 이때 후속 판독을 없는 것으로 하자. 그러므로, 첫 번째 펄스는 T1의 지속 기간을 갖고, 두 번째 펄스는 T2-T1의 지속 기간을 갖는 식이다. 전술한 것처럼 일부 원하는 원시 비트 오류율 에 대해 를 통해서 Tmax가 결정된다. 또한 판독 동작이 시간 tr이 걸리는 것으로 가정하자. 그러므로 펄싱과 판독을 위한 총 예상 시간 패널티는 다음과 같이 표현될 수 있다.
여기서 T0=0이고, Tsw는 스위칭하는데 이용되는 종합적인 펄스 지속 기간의 임의량이다. 다음을 고려하자.
최소 평균 펄스 및 모든 가능한 펄스 종료 시간과 펄스 개수에 대한 증명 시간을 고려하자.
이므로 은 작은 시간 간격의 일부 양의 정수배인 것으로 제한되고, 에 대해 최적화된다. 펄스의 최대 개수는 이다. 는 펄스 종료 시간에 대한 이러한 제약하에서 최종의 최적 Tavg를 표시하는 것이라고 하자. 분명히 이고, 다음과 같이 표시할 수 있다.
펄스 종료 시간의 비한정 집합(unconstrained set) 가 주어지면, 는 정량화된 종료 시간(quantized end times)의 집합이라 하고, 는 Tmax보다 더 작은 T의 원소들이라 한다. 이 구성은 다음을 의미한다.
임의의 에 대해, g(x)<f(x)+t이고, 이것은 예상을 해석하는 수단으로서 를 설립하기에 충분하다. 라고 가정하면, 이다. 이 되게 하는 i가 존재할 것이고, 여기서 이고 이다. 그러므로, 이고, 이것은 i>j-1 혹은 i≥j인 i>j를 의미하는 로부터 비롯된다. 또한, 인 경우인데, 그렇지 않으면 는 위에서 정의된 정량화된 종료 시간 T의 집합내에 있지 않기 때문이다. 이러한 두 개의 사실을 함께 묶으면 다음과 같다.
따라서, 목표는 다음을 계산하는 것이다.
이것은 평균 나머지 기입 시간에 대응하는데, 이때 후속 펄스 종료 시간 {m,t}를 가지면서 mt에서 새로운 펄스가 시작하는 것을 가정하고, 시간 mt 이전에는 스위칭이 발생되지 않음을 가정한다. 펄스가 mt에서 시작함을 가정하면 펄스 mt에 후속하는 가장 좋은 펄스 종료 시간의 선택으로서 다음을 정의한다.
분명히 이다. 동적 프로그래밍은 에 대해 를 기반으로 을 재귀적으로 계산하는 것을 수반한다. 에 대해 정확히 하나의 가능한 펄스 종료 시간이 존재하며, 다시 말해서 mmaxt에서의 한 번의 종료가 존재하므로 다음과 같음에 유의하라.
m<mmax-1에 대해, mmaxt에서 종료하는 단일 펄스를 이용할 수 있고, 이 경우에는 다음과 같다.
또는 중간 시간에서 종료하는 n≥2 펄스를 이용할 수 있다. 이 경우에 다음이 판명된다.
이것은 다음처럼 보여진다.
그러므로, m=0에 이르기까지 에 대해 로부터 를 계산할 수 있다. 펄스 종료 시간을 최적화하는 것은 각각의 m에 대해 mt를 최적화하는 것을 게속 추적함으로써 발견될 수 있고, 여기서 만약에 Tmax에서 종료하는 하나의 펄스에 대응하는 첫 번째 항목에 의해 외곽 최소치가 달성된다면, m1을 최적화하는 것은 mmax이도록 선택될 수 있다.
알고리즘의 복잡성은 동작보다 더 나쁜 것은 없다는 것이 쉽게 보여진다. 전역 검색과 비교하여 m1에 대한 최소화의 계산을 극적으로 빠르게 하는 간단한 방법은 m1=m+1에서 시작하여 m1의 각각의 연속적으로 큰 값에 대해 최소 실행을 계산하고, 이 최소 실행을 초과하게 하는 m1인 검색은 무시하는 것이다. m1에서 은 증가하고 비용의 다른 컴포넌트들은 항상 비음수(non-negative)이므로, 이런 방식으로 무시하는 것은 최적성을 보존한다.
다양한
기입
방법들의 해석 결과
도 10은 로그 정규 분포 스위칭 시간의 특징을 나타내는 메모리 소자를 포함하는 메모리에 데이터를 기입하는 다수의 상이한 기입 방법을 비교한 비교표를 제공한다. 이 표는 두 개의 수평 섹션(1002, 1004)으로 수평 분할되어 있는데, 수평 섹션(1002)은 메모리 소자로부터의 피드백 신호를 모니터링하는 것을 포함하는 방법에 대한 판독 비용이 고려되지 않은 다양한 기입 방법에 대해 계산된 특징들을 보여주고, 수평 섹션(1004)은 그 판독 비용이 추정되어 다양한 기입 방법의 특성 계산에 포함된 다중 펄스 기입 방법에 대한 계산된 특징을 보여준다. 도 10에 도시된 표는 수직적으로 두 개의 수직 섹션으로 분할되는데, 제 1 수직 섹션(1006)은 스위칭 실패 확률 를 보장하도록 특성이 계산된 것이고, 제 2 수직 섹션(1008)은 스위칭 실패 확률 을 보장하도록 특성이 계산된 것이다. 각각의 수편 섹션의 각각의 수직 섹션에서, 혹은 다시 말해서 표의 각각의 사분면에서, 및 이득이 고려된 기입 방법의 각각에 대해 도시되어 있는데, 코드화 방법에 대해 명확히 보여지는 를 갖는다. 제 2 수평 섹션(1004)은 다중 펄스에 대해 획득되는 특성을 보여주는데, 지정된 Tmax를 갖고 τ의 다양한 비율과 일치하는 펄스 사이의 판독 비용을 갖는다.
도 10에 도시된 표에 보여진 데이터의 해석으로 알 수 있듯이, 코드화된 기입 방법에 대한 이득은 일반적으로 비코드화된 기입 방법에 대한 것보다 더 크고, 평균 혹은 예상 펄스 시간 Tavg는 일반적으로 비코드화된 방법보다 코드화된 방법에 대해 더 작다. 코드화된 방법에 대한 Tmax 전압-인가 시간은 모든 경우에 비코드화된 방법에 대한 Tmax보다 상당히 작다. 비코드화된 방법에 비해 코드화된 방법에 대한 Tmax에서의 감소는 판독 비용이 계산에 고려된 경우라도 발생한다. 더 나아가, 피드백을 이용하는 다중 펄스 방법에 대한 이득은 1-펄스 코드화 방법에 대한 것보다 훨씬 더 크다.
도 11은 도 10에 제공된 표의 첫 번째 가로 섹션의 데이터를 그래프로 예시한다. 도 11에서, 스위칭 실패 확률은 수직축(1102)에 대해 그려지며, 비트당 예상 펄스 시간 Tavg이 수평축(1104)에 대해 그려진다. 예컨대 곡선(1106)처럼 각각의 곡선은 8개의 상이한 기입 방법의 각각에 대해 스위칭 실패 확률과 Tavg 사이의 함수 관계를 예시한다. Tavg는 이용되는 펄스의 개수가 증가할수록 상당히 감소되는 것을 알 수 있고, 코드화 방법에 대한 Tavg 값은 일반적으로 비코드화된 방법에 대한 것보다 더 작다.
에서, 코드화 2-펄스 방법은 비코드화 2-펄스 방법보다 3dB의 추가 이득을 제공하고, 특히 코딩은 최악의 경우 대 평균의 비율을 약 50:1에서 3:1로 줄인다. 사실상, 2-펄스 비코드화 방법은 1-펄스 코드화 방법보다 정확히 1.8dB의 이득을 더 갖는다. 3-펄스 비코드화 및 코드화 방법을 비교할 때, 코딩은 예상 총 펄스 길이에 추가 이득을 제공하고(에서 1dB), 최악의 경우 대 평균의 비율을 더 개선한다. 실제로, 도 11에 도시된 것처럼, 관심있는 Pb의 범위에 대해서 3-펄스 비코드화 곡선은 2-펄스 코드화 곡선에 매우 근접한데, 2-펄스 코드화 방법의 경우 3:1의 비율인데 비해 3-펄스 비코드화 방법은 에서 107:1의 최악 경우 대 평균 비율을 초래한다. 연속 기입 방법의 경우, 로그 정규 밀도의 평균에 대한 가장 빠른 수렴(convergence)의 효과가 도 11에 보여지는데, 여기서 연속 기입 방법의 곡선은 비코드화 경우에 에서, 그리고 코드화 방법인 경우에는 에서 사실상 수직 기울기로 떨어지는 것을 볼 수 있다(파라미터 예에서 이용되는 에 대해 임). 결과적으로, 평균 펄스 길이는 사실상 목표 BER과 무관하고, 이 경우에 비코드화 방법과 코드화 방법 사이의 코딩 이득의 차이는 비코드화에 유리하도록 이다. 여전히 코드화된 방법은 최악 경우 대 평균 비율을 많이 개선하는데, 에서 비코드화된 경우에 239:1에서 코드화된 경우에는 6.9;1로 개선한다.
연속 피드백을 이용하면, 3-펄스 코드화 방법보다 약 2.3dB의 추가적인 코딩 이득을 제공한다(평균 펄스 길이에서 1.7:1의 비율). 원칙적으로, 이러한 차이는 펄스 개수를 임의적으로 증가시킴으로써 이산적인 펄스 설정에서 줄여질 수 있다. 실제로, 연속 펄스 경우는 이산 펄스 경우의 한도처럼 펄스의 개수가 무한대인 것으로 보여질 수 있다.
종합하면, 특정 멤리스터 장치의 로그 정규 스위칭 동작으로 제기되는 문제점을 해결하려는 두 개의 메커니즘의 효과 및 상호 작용이 해석된다. 다양한 설정에서, 코딩의 이용은 평균 및 최악 스위칭 시간을 줄여줌으로써 시스템의 총 성능을 상당히 개선한다. 이러한 개선은 에너지 소비 및 장치 감손면에서 절약으로 해석되며, 기입 처리량면에서도 상당히 증가시킨다. 피드백 메커니즘과 오류 정정 코딩의 신중한 조합으로, 멤리스터의 로그 정규 스위칭 동작은 오늘날의 저장 시스템의 신뢰도 요건을 충족시키는데 장애물이 될 수 없다.
도 12는 여러 가지 상이한 τ의 비율인 숙고중인 판독 시간들에 대해 원하는 스위칭-실패 확률을 달성하는 다중 펄스 기입 방법과 관련한 최대 펄스 개수 및 평균 펄스 개수를 기재한 표를 제공한다. 도 12에 제공된 표에서 알 수 있듯이, 펄스의 최대 개수는 비코드화 방법보다 코드화 방법의 경우에 더 작다.
도 13은 비코드화 2-펄스 기입 방법 및 코드화 2-펄스 기입 방법과 관련하여 기입 도착 간격 시간(inter-arrival times)에 대한 예상 대기 시간의 그래프를 도시한다. 도 13에서 알 수 있듯이, 모든 기입 도착 간격 시간에 대해 코드화 2-펄스 기입 방법에 대한 예상 대기 시간은 비코드화 2-펄스 방법에 대한 예상 대기 시간보다 훨씬 더 작다. 코딩 오버헤드(coding overhead)는 코드화 방법의 경우에 에 포함되는 반면, 비코드화 방법의 경우에는 에 포함되며, 이것은 두 가지 방법 사이의 공정한 비교를 허용하며, 시간 Tmax와 Tavg도 비슷하게 크기가 조정된다. 정보 기입 처리량은 에 비례한다. 이러한 처리량에 대한 코딩의 긍정적 영향은 도면에서 명확한데, 큐잉 시스템은 없는 것과() ( 이다. 큐잉이 이용될 때, 예상 E[Q]은 기입 요청에 대한 적절한 버퍼의 설계를 위해 안내(guidance)를 제공한다.
전류 인가가 지시된 전자 데이터 저장 장치의 예들
도 14는 피드백 신호 및 ECC 인코딩을 모두 포함하는 데이터 저장 장치를 예시한다. 피드백 신호를 이용하고 기입 전에 데이터를 인코딩함으로써, 도 10에 제공되고 도 11에 예시된 데이터에 의해 도시되어 전술된 것처럼 최대 기입 대기시간 Tmax는 ECC 인코딩이 이용되지 않을 때 필요한 Tmax에 비해 훨씬 더 감소된다. 최대 기입 대기시간의 감소와 Tavg의 감소는 데이터 저장 장치에 대해 더 짧은 평균 및 최대 기입 사이클을 유도하고, 그에 따라 더 높은 데이터 입력 대역폭을 유도한다. 피드백 신호는 모든 의도된 메모리 소자에 대한 스위칭이 완료되자마자 기입 전압 혹은 메모리내의 특정 메모리 소자를 스위칭하는데 필요한 다른 힘이나 그래디언트의 인가가 종료되게 하거나 혹은 단락되게 한다. ECC 인코딩의 이용은 기입 전압 인가와 관련한 최대 지속기간 또는 메모리 소자를 스위칭하기 위한 다른 힘이나 그래디언트의 인가와 관련한 지속기간이 상당히 감소되게 하면서도 데이터 저장 장치에 대해 원하는 비트 오류율을 제공하게 한다. Tmax를 단축시키는 것은 도 3a에서 PDF의 수평축을 따라서 Tmax를 좌측으로 이동시켜서, Tmax를 지나서 PDF의 후미에 더 많은 영역을 남겨두는데, 이것은 스위칭이 최대 Tmax까지의 지속 기간으로 기입 전압을 인가하는 동안에 발생하지 않을 확률에 대응한다. 그러나, ECC 인코딩의 이용은 스위칭 오류의 대부분이 이후에 정정되게 하여, 판독 동작 이후에 원하는 비트 오류율에 대응하는 레벨까지 후미 영역을 효과적으로 감소시킨다.
일 예를 나타내는 정보 저장 장치는 1차원 혹은 2차원 이상의 메모리 소자 어레이(1402)를 포함한다. 도 14에서, 각각의 메모리 소자는 에컨대 디스크(1404)처럼 디스크로 표현된다. 메모리 소자는 행(rows) 및 열(columns)로 배열되고, 열 내부의 메모리 소자는 수평 전극과 상호 연결되고, 각각의 행 내의 메모리 소자는 수직 전극 혹은 신호 라인과 상호 연결된다. 예를 들어, 도 14에서, 메모리 소자(1406-1413)는 수평 신호 라인(1414)에 의해 상호 연결된다. 메모리 소자(1413, 1416-1423)는 수평 신호 라인(1424)에 의해 상호 연결된다. 제 1 디멀티플렉서 혹은 다른 제어 소자(1426)는 수평 신호 라인에 인가되는 전압을 제어하고, 제 2 디멀티플렉서 혹은 다른 제어 소자(1428)는 수직 신호 라인에 인가되는 전압을 제어한다.
각각의 메모리 소자는 도 4를 참조하여 설명된 것처럼 피드백 신호를 발생하는데, 이 피드백 신호는 수평 및 수직 피드백 신호 라인의 출력이다. 도 14에서, 메모리 소자에 의해 발생된 피드백 신호는 예컨대 메모리 소자(1413)에서 나오는 대각선 세그먼트(1429)처럼 대각선 세그먼트(diagonal line segments)로 도시된다. 제 1 및 제 2 제어기(1426, 1428)는 판독/기입 제어기로 복귀되는 기입 완료 신호를 발생하기 위해 기입 동작동안 이러한 피드백 신호들을 모니터한다. 데이터 저장 장치에 기입될 데이터의 데이터 저장 소자 유닛의 값(worth)과 함께 판독/기입 제어기(1430)에 의해 제 1 및 제 2 제어 소자(1426, 1428)로 데이터 저장 유닛 어드레스가 공급될 때, 제 1 및 제 2 제어 소자(1426, 1428)는 어드레스 데이터 저장 유닛에 대응하는 메모리 소자를 데이터 저장 장치로 기입될 데이터 내부의 비트값에 대응하는 상태로 하기 위해 특정 신호 라인으로 적절한 전압을 인가한다. 장치에 기입될 데이터는 먼저 ECC 인코더(1440)로 공급하는데, 이 인코더는 전술한 것처럼 데이터를 일련의 코드워드로 인코딩하여 판독/기입 제어기(1430)로 전송한다. 판독/기입 제어기는 제 1 및 제 2 제어기(1426, 1428)를 제어하여 데이터가 데이터 저장 장치에 기입되게 하고, 더불어 제 1 및 제 2 제어기(1426, 1428)를 제어하여 데이터 저장 장치로부터 데이터를 판독하여 이 판독된 데이터를 ECC 디코더(1442)로 전송되게 하며, ECC 디코더는 데이터 저장 장치로부터 판독된 코드워드를 디코딩하여 비코드화 데이터(1444)를 출력한다. 판독/기입 제어기(1430)는 데이터(1446)를 수신하여 데이터(1448)를 출력하며, 제어 신호(1450)을 수신하여 비 데이터 정보(non-data information)(1452)를 출력하며, 데이터 및 제어 신호(1454, 1456)를 제 1 및 제 2 제어기(1426, 1428)에 각각 출력하며, 데이터 및 제어 신호(1458, 1460)를 제 1 및 제 2 제어기(1426, 1428)로부터 각각 수신한다.
대안적인 예에서, 제 1 제어기와 제 2 제어기 중 하나 혹은 판독/기입 제어기는 전술한 다중 펄스 방법을 이용하여 메모리 소자에 데이터를 반복적으로 기입하고, 이 데이터를 다시 판독하여 기입이 성공했는지를 결정한다. 이 대안적인 예에서, 메모리 소자는 피드백 신호를 발생하지 않는다. 실제로, 제 1 및 제 2 제어기(1426, 1428)는 다중 기입 펄스를 메모리 소자에 인가하고, 각각의 펄스 이후에 펄스가 인가된 그 메모리 소자의 내용을 판독하여, 데이터가 정확히 기입되었는지 결정한다. 다중 펄스 기입과 정확한 데이터 저장을 검증하는데 이용되는 중간중간의 판독 동작에 기반하여, 메모리 소자의 상태가 연속적으로 모니터되는 첫 번째 설명된 예에서 처럼, 제 1 및 제 2 제어기는 판독/기입 제어기로 복귀되는 기입 완료 신호를 발생한다.
도 15는 판독/기입 제어기(도 14의 도면부호(1430))의 동작을 예시하는 흐름 제어도를 제공한다. 단계(1502)에서, 판독/기입 제어기는 파워-업 또는 리셋 즉시 초기화된다. 다음, 판독/기입 제어기는 단계(1504-1508)를 포함하는 연속 루프로 진입한다. 판독/기입 제어기는 입력 기입 요청과 그에 대응하는 데이터와 입력 판독 요청에 대한 입력을 계속 모니터한다. 기입 요청이 검출될 때, 단계(1505)에서 판독/기입 제어기는 루틴 "기입"(1506)을 통해 하나 이상의 기입 동작을 착수한다. 마찬가지로, 단계(1507)에서 결정되는 바와 같이 판독 요청이 수신될 때에는 판독 요청은 루틴 "판독"(1508)을 통해 처리된다.
도 16은 "기입" 루틴(도 15의 도면부호(1506))에 대한 흐름 제어도를 제공한다. 루틴 "기입"은 단계(1602-1609)로 이루어진 연속 루프를 포함하고, 이 연속 루프는 단계(1605-1607)로 이루어진 내부 루프를 포함한다. 단계(1602-1609)의 외부 연속 루프에서, 계류중인 기입 요청이 처리되는데, 한 번에 하나의 기입 요청이 처리된다. 단계(1603)에서 다음 기입 요청이 수신된다. 기입 요청과 연계된 데이터는 k비트의 청크(chunks)로 나뉘어지고, 각각의 청크는 ECC를 이용해 인코딩되어, 그 청크에 대해 대응하는 코드워드가 발생된다. 다음, 단계(1604)에서, 타이머 t가 초기화되고, 판독/기입 제어기는 코드워드와 제어 신호를 제 1 및 제 2 제어기(도 14에서 도면부호(1426, 1428))로 전송하여, 코드워드를 하나 이상의 2차원 어레이의 메모리 소자에 기입하기 위해, 선택된 메모리 소자에 기입 전압을 인가하기 시작한다. 도 16에서, 기입 요청에 대한 데이터는 제 1 및 제 2 제어기에 의해 대응하는 메모리 소자로 동시에 기입된다. 특정 예에서, 기입 요청은 단일 병렬 기입 동작에서 기입 가능한 것보다 더 많은 양의 데이터를 포함할 수 있고, 이런 경우에 도 16에서 추가적인 재귀 루프에 대응하는 추가 로직이 단일 기입 요청과 연계된 모든 데이터를 대응하는 메모리 소자에 기입하는데 필요한 두 개 이상의 기입 동작을 수행하도록 이용될 것이다. 특히, 선택적인 예에서, 메모리 셀은 동시가 아니라 순차적으로 기입될 수도 있다. 단계(1605-1607)의 내부 루프에서, 판독/기입 제어기는 메모리 소자에 의해 발생된 피드백 신호를 타이머와 함께 모니터한다. 단계(1606)에서 결정되듯이, 기입 동작에 수반되는 모든 메모리 소자에 대한 모든 피드백 신호가 기입 동작이 성공되었음을 나타낼 때, 제어 흐음은 단계91608)로 진행하여, 여기서 기입 동작이 종료된다. 그렇지 않고, 단계(1607)에서 결정되듯이, 타이머가 기입 전압이 Tmax와 동일하거나 더 큰 지속 시간동안 인가되었다고 나타내면, 제어 흐름은 기입 종료 단계(1608)로 진행한다. 그렇지 않으면, 모니터링이 계속된다. 일단 기입이 종료되면, 단계(1609)에서, 다른 기입 동작이 계류중일 때, 제어는 다시 단계(1603)으로 되돌아간다. 이런 경우가 아니라면, 루틴 "기입"은 종료된다. 전술한 바와 같이, ECC 인코딩과 디코딩이 채용되는 경우, 데이터 저장 장치에 의한 오류 발생 데이터의 복귀를 초래함이 없이, 특정 비율의 기입 실패가 허용될 수 있다. 데이터 저장 장치 내부에서 ECC 데이터 인코딩 및 디코딩을 이용하는 것은, ECC 인코딩 및 디코딩없이 허용가능한 BER을 달성하는데 이용되는 것보다 더 작은 크기의 Tmax를 이용할 수 있게 해준다.
도 16은 메모리 소자의 상태가 계속 모니터되는 연속 기입 방법의 일반적인 설명을 제공한다. 다중 펄스 기입 방법이 채용되는 전술한 선택적인 예에서, 단계(1605-1609)로 이루어진 내부 루프는 기입의 성공 여부와 무관하게 기입 종료 신호가 판독/기입 제어기로부터 수신될 때까지 반복된다. 전술한 바와 같이, 펄스의 개수와 다른 펄스 특성은 ECC 디코딩 이후에 최대 수용 가능 BER이거나 그 보다 아래인 BER을 제공하기 위해 선택된다. 일반적으로, 판독/기입 제어기는 많은 기입 요청에 대한 데이터를 버퍼하여 이 많은 기입 요청을 일련의 내부 기입 요청에서 실행하도록 구현될 것인데, 이때 각각의 내부 기입 요청은 단일 내부 기입 동작 동안 제 1 및 제 2 제어기에 의해 메모리 소자에 대해 수신 및 기입될 수 있는 다수의 코드워드를 수반한다. 선택적으로, 데이터 저장 장치는 단일 동작시 메모리 소자에 기입 가능한 각각의 외부 기입 동작에 대한 데이터량까지 허용할 수 있을 것이다. 일반적으로 제 1 및 제 2 제어기는 내부 기입 동작 동안 다중 메모리 소자에 대한 저장을 동시에 제어한다. 제 1 및 제 2 제어기에 의해 발생된 피드백 신호는 내부 기입 동작과 관계된 모든 메모리 소자가 성공적으로 수행되었는지 여부를 나타낸다. 제 1 및 제 2 제어기는 내부 기입 동작 동안에 개별 메모리 소자에 상이한 시간 기간동안 기입 전압을 인가할 수도 있고, 또는 개별 메모리 소자에 대해 상이한 개수의 펄스가 인가할 수도 있다.
비록 본 개시물이 특정 예들을 들어 설명되었더라도, 본 개시물이 이러한 예들로 제한되는 것으로 의도되지는 않았다. 본 개시물의 사상내에 포함되는 수정안들이 당업자에게는 명확할 것이다. 예를 들어, 피드백 신호와 ECC 인코딩을 둘 다 이용하는 것은 예컨대 멤리스티브 메모리 소자, 상변화 메모리 소자 및 기타의 유형의 메모리 소자를 포함하여 비대칭 스위칭 시간 PDF를 갖는 메모리 소자를 포함하는 다양한 상이한 방식의 정보 저장 장치에서 이용될 수 있다. 정보 저장 장치내에서 이용되는 특정 Tmax의 값과 이용되는 특정 ECC 코드는, 정보 저장 장치에 대한 비트 오류율이 특정의 최대 비트 오류율을 충족시키거나 그 이하인 것을 보장하기 위해 다양한 상이한 코드와 계산된 값들로 설정될 수 있다. 특정 유형의 정보 저장 장치에서, 최대 기입 전압 인가 시간 Tmax와 인코딩에 이용되는 ECC 코드는, 동적으로 결정된 최대 BER, 정보 저장 장치의 수명, 특히 메모리 소자의 수명, 정보 저장 장치에서 수행되는 판독/기입 사이클의 총 개수 및 기타 이러한 특징과 파라미터에 따라 동적으로 제어되거나 리셋될 수 있다.
개시된 예들의 전술한 설명은 당업자가 본 개시물을 제작하거나 이용할 수 있게 하기 위해 제공된 것임을 인지해야 한다. 이러한 예들에 대한 다양한 수정은 당업자에게 쉽게 명확할 것이고, 본원에 정의된 일반적인 원리들은 본 개시물의 사상이나 범주를 벗어나지 않고 다른 예들에도 적용될 수 있을 것이다. 따라서, 본 개시물은 본원에 도시된 예들로만 한정되도록 의도된 것이 아니며, 본원에 개시된 원리와 신규한 특징들과 일치하는 가장 넓은 범주에 부합되도록 의도된 것이다.
Claims (15)
- 메모리 소자의 하나 이상의 어레이―상기 메모리 소자의 각각은, 스위칭 유도 힘 또는 그래디언트(switching-inducing force or gradient)의 인가에 의하여 적어도 두 개의 상이한 상태 사이에서 스위칭되는 데이터 저장 매체와; 상기 스위칭 유도 힘 또는 그래디언트가 인가되는 상부 제어 소자 및 하부 제어 소자와; 피드백 신호를 포함함―와,
수신된 데이터를 인코딩하는 오류 제어 코딩 인코더(error-control-coding encoder)와,
피드백 신호가 기입 동작이 완료됨을 표시할 때까지, 또는 상기 스위칭 유도 힘 또는 그래디언트가 최대 인가 시간 동안 인가될 때까지, 상기 메모리 소자의 하나 이상의 어레이에 상기 스위칭 유도 힘 또는 그래디언트를 인가함으로써, 상기 오류 제어 코딩 인코더로부터 수신된 인코딩된 데이터를 다수의 메모리 소자에 기입하는 판독/기입 제어기(READ/WRITE controller)를 포함하는
데이터 저장 장치.
- 제1항에 있어서,
상기 메모리 소자는 로그 정규 분포 스위칭 시간(log-normally-distributed switching times)에 의해 특징지워지는
데이터 저장 장치.
- 제1항에 있어서,
상기 최대 인가 시간은 비코드화 기입 동작(uncoded WRITE operations)에 대해 특정의 비트 오류율을 제공하는 시간보다 짧은
데이터 저장 장치.
- 제3항에 있어서,
상기 판독/기입 제어기에 의해 상기 메모리 소자의 하나 이상의 어레이로부터 판독된 데이터를 디코딩하는 오류 제어 코딩 디코더를 더 포함하는
데이터 저장 장치.
- 제1항에 있어서,
상기 데이터 저장 매체는 스위칭 유도 전압이 상기 데이터 저장 매체에 인가될 때 제 1 저항성 상태와 제 2 저항성 상태 사이를 스위칭하는 멤리스티브 물질(memristive material)인
데이터 저장 장치. - 메모리 소자의 하나 이상의 어레이―상기 메모리 소자의 각각은, 스위칭 유도 힘 또는 그래디언트의 인가에 의하여 적어도 두 개의 상이한 상태 사이에서 스위칭되는 물질과; 상기 스위칭 유도 힘 또는 그래디언트가 인가되는 상부 제어 소자 및 하부 제어 소자와; 피드백 신호를 포함함―를 포함하는 데이터 저장 장치에 데이터를 기입하는 방법에 있어서,
오류 제어 코딩 인코더에 의해, 상기 데이터를 인코딩하는 단계와,
피드백 신호가 기입 동작이 완료됨을 지시할 때까지, 또는 상기 스위칭 유도 힘 또는 그래디언트가 최대 인가 시간 동안 인가될 때까지, 상기 메모리 소자의 하나 이상의 어레이에 상기 스위칭 유도 힘 또는 그래디언트를 인가함으로써, 상기 인코딩된 데이터를 다수의 메모리 소자에 기입하는 단계를 포함하는
데이터 기입 방법.
- 제6항에 있어서,
상기 하나 이상의 어레이에 비코드화 데이터를 기입하기 위한 특정 비트 오류율을 보장하기 위해 계산된 최소 인가 시간보다 짧지만, 상기 하나 이상의 어레이로부터 데이터가 판독되고, 상기 하나 이상의 어레이로부터 판독된 데이터 내의 특정 수까지의 비트 오류를 정정하는 오류 제어 코딩 디코더에 의해 디코딩될 때, 상기 데이터 저장 장치로의 데이터 기입 및 상기 데이터 저장 장치로부터의 데이터 판독과 관련한 총 비트 오류율이 상기 특정 비트 오류율보다 작거나 같을 정도로 길게, 상기 최대 인가 시간을 선택하는 단계를 더 포함하는
데이터 기입 방법.
- 제6항에 있어서,
상기 데이터 저장 매체는 스위칭 유도 전압이 상기 데이터 저장 매체에 인가될 때 제 1 저항성 상태와 제 2 저항성 상태 사이를 스위칭하는 멤리스티브 물질인
데이터 기입 방법.
- 제6항에 있어서,
상기 메모리 소자는 로그 정규 분포 스위칭 시간에 의해 특징지워지는
데이터 기입 방법.
- 제6항에 있어서,
상기 피드백 신호가 연속적으로 모니터되는 동안, 상기 스위칭 유도 힘 또는 그래디언트는 상기 메모리 소자의 하나 이상의 어레이에 연속적으로 인가되는
데이터 기입 방법. - 제6항에 있어서,
상기 스위칭 유도 힘 또는 그래디언트는 상기 메모리 소자의 하나 이상의 어레이에 이산적인 간격들동안 인가되되, 상기 이산적인 간격들 사이에서는 상기 피드백 신호가 상기 데이터가 성공적으로 기입되었는지 여부를 결정하는데 이용되는
데이터 기입 방법.
- 메모리 소자의 하나 이상의 어레이―상기 메모리 소자의 각각은 스위칭 유도 힘 또는 그래디언트의 인가에 의하여 적어도 두 개의 상이한 상태 사이에서 스위칭되는 데이터 저장 매체와 상기 스위칭 유도 힘 또는 그래디언트가 인가되는 상부 제어 소자 및 하부 제어 소자를 포함함―와,
수신된 데이터를 인코딩하는 오류 제어 코딩 인코더와,
다수의 펄스로 상기 메모리 소자의 하나 이상의 어레이에 상기 스위칭 유도 힘 또는 그래디언트를 인가함으로써, 상기 오류 제어 코딩 인코더로부터 수신된 인코딩된 데이터를 다수의 메모리 소자에 기입하여, 상기 기입 동작이 완료될 때까지, 또는 최대 개수의 펄스가 인가될 때까지, 각 펄스 이후에 판독 동작을 수행하여 상기 기입 동작이 성공하였는지 확인하는 판독/기입 제어기를 포함하는
데이터 저장 장치.
- 제12항에 있어서,
상기 메모리 소자는 로그 정규 분포 스위칭 시간에 의해 특징지워지는
데이터 저장 장치.
- 제12항에 있어서,
다중 펄스에 대한 누적 스위칭 유도 힘 또는 그래디언트 인가 시간(cumulative switching-inducing force or gradient application time)은 비코드화 기입 동작(uncoded WRITE operation)에 대해 특정 비트 오류율을 제공하는 시간보다 짧은
데이터 저장 장치.
- 제14항에 있어서,
상기 판독/기입 제어기에 의해 상기 메모리 소자의 하나 이상의 어레이로부터 판독된 데이터를 디코딩하는 오류 제어 코딩 디코더를 더 포함하는
데이터 저장 장치.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/045549 WO2013015805A1 (en) | 2011-07-27 | 2011-07-27 | Efficient data-storage devices that include memory elements characterized by potentially large switching latencies |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140025608A KR20140025608A (ko) | 2014-03-04 |
KR101574912B1 true KR101574912B1 (ko) | 2015-12-04 |
Family
ID=47601413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147002368A KR101574912B1 (ko) | 2011-07-27 | 2011-07-27 | 잠재적으로 큰 스위칭 지연시간에 의해 특징지워지는 메모리 요소를 포함하는 효율적인 데이터 저장장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140164869A1 (ko) |
EP (1) | EP2737483A4 (ko) |
KR (1) | KR101574912B1 (ko) |
CN (1) | CN103703513A (ko) |
TW (1) | TWI489480B (ko) |
WO (1) | WO2013015805A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074842B (zh) * | 2016-04-07 | 2019-12-24 | 赫姆霍兹-森德拉姆德雷斯顿-罗森多夫研究中心 | 用于运行电子的忆阻性的元器件的方法 |
ITUA20164800A1 (it) * | 2016-06-30 | 2017-12-30 | Octo Telematics Spa | Procedimento per la stima della durata di un viaggio di un veicolo basato sulla determinazione dello stato del veicolo. |
US10120749B2 (en) | 2016-09-30 | 2018-11-06 | Intel Corporation | Extended application of error checking and correction code in memory |
CN108427843A (zh) * | 2018-03-14 | 2018-08-21 | 常州大学 | 一种具有隐藏共存非对称行为的三维忆阻Hindmarsh-Rose模型电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060044878A1 (en) | 2004-09-02 | 2006-03-02 | Perner Frederick A | Programming of programmable resistive memory devices |
US20090109738A1 (en) | 2007-09-13 | 2009-04-30 | Stmicroelectronics S.R.L. | Phase-change memory device with error correction capability |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3673431A (en) * | 1971-05-28 | 1972-06-27 | Owens Illinois Inc | Low voltage pulser circuit for driving row-column conductor arrays of a gas discharge display capable of being made in integrated circuit form |
US7079436B2 (en) * | 2003-09-30 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Resistive cross point memory |
US7057258B2 (en) * | 2003-10-29 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Resistive memory device and method for making the same |
US8045651B2 (en) * | 2004-08-20 | 2011-10-25 | Broadcom Corporation | Method and system for redundancy-based decoding in 8-PSK GSM systems |
CN101501779B (zh) * | 2006-05-12 | 2013-09-11 | 苹果公司 | 具有自适应容量的存储设备 |
JP5253784B2 (ja) * | 2007-10-17 | 2013-07-31 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7719876B2 (en) * | 2008-07-31 | 2010-05-18 | Unity Semiconductor Corporation | Preservation circuit and methods to maintain values representing data in one or more layers of memory |
JP2010146654A (ja) * | 2008-12-19 | 2010-07-01 | Toshiba Corp | メモリ装置 |
JP5197448B2 (ja) * | 2009-03-13 | 2013-05-15 | 株式会社東芝 | 抵抗変化メモリ装置 |
-
2011
- 2011-07-27 CN CN201180072605.6A patent/CN103703513A/zh active Pending
- 2011-07-27 KR KR1020147002368A patent/KR101574912B1/ko not_active IP Right Cessation
- 2011-07-27 US US14/233,121 patent/US20140164869A1/en not_active Abandoned
- 2011-07-27 WO PCT/US2011/045549 patent/WO2013015805A1/en active Application Filing
- 2011-07-27 EP EP20110870039 patent/EP2737483A4/en not_active Withdrawn
-
2012
- 2012-07-26 TW TW101127021A patent/TWI489480B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060044878A1 (en) | 2004-09-02 | 2006-03-02 | Perner Frederick A | Programming of programmable resistive memory devices |
US20090109738A1 (en) | 2007-09-13 | 2009-04-30 | Stmicroelectronics S.R.L. | Phase-change memory device with error correction capability |
Also Published As
Publication number | Publication date |
---|---|
WO2013015805A1 (en) | 2013-01-31 |
CN103703513A (zh) | 2014-04-02 |
US20140164869A1 (en) | 2014-06-12 |
KR20140025608A (ko) | 2014-03-04 |
TW201322273A (zh) | 2013-06-01 |
TWI489480B (zh) | 2015-06-21 |
EP2737483A4 (en) | 2015-05-06 |
EP2737483A1 (en) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101620761B1 (ko) | 멤리스터 기반 데이터 저장 장치 내부의 기입 버퍼 용량을 감소시키는 방법 및 시스템 | |
JP5735186B2 (ja) | 相変化メモリの読出しエラーを減少させるための読出しバイアス管理 | |
EP2780810B1 (en) | Systems, methods, and devices for multi-tiered error correction | |
US8510628B2 (en) | Method and apparatuses for customizable error correction of memory | |
EP2780808B1 (en) | Data encoder and decoder using memory-specific parity-check matrix | |
EP2780809B1 (en) | Systems and methods for decoding codewords having multiple parity segments | |
EP3368984B1 (en) | Temperature dependent multiple mode error correction | |
KR101574912B1 (ko) | 잠재적으로 큰 스위칭 지연시간에 의해 특징지워지는 메모리 요소를 포함하는 효율적인 데이터 저장장치 | |
KR20160090054A (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
KR101913900B1 (ko) | 조기 디코딩 종료 검출을 갖는 디코더 | |
US10289348B2 (en) | Tapered variable node memory | |
CN108270449B (zh) | 支持多种编码率和编码长度的编码器 | |
US9619317B1 (en) | Decoder having early decoding termination detection | |
Chen et al. | Channel Models and Coding Solutions for 1S1R Crossbar Resistive Memory with High Line Resistance | |
KR20240045899A (ko) | 단일 패리티 체크 코드와 상이한 코드를 포함하는 저밀도 패리티 체크 코드의 디코딩 장치 및 이의 동작 방법 | |
Engel et al. | Opportunities for analog coding in emerging memory systems | |
Patsei | A method of data encoding/decoding using variable low density parity check codes | |
KR20140006447A (ko) | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |