KR102139887B1 - 저항 메모리 장치 및 그 데이터를 기록하는 방법 - Google Patents
저항 메모리 장치 및 그 데이터를 기록하는 방법 Download PDFInfo
- Publication number
- KR102139887B1 KR102139887B1 KR1020190086558A KR20190086558A KR102139887B1 KR 102139887 B1 KR102139887 B1 KR 102139887B1 KR 1020190086558 A KR1020190086558 A KR 1020190086558A KR 20190086558 A KR20190086558 A KR 20190086558A KR 102139887 B1 KR102139887 B1 KR 102139887B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- flag
- special
- logical value
- write data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
본 발명은 저항성 메모리 및 그의 데이터 기록 방법에 관한 것이다. 데이터를 기록하는 방법은, 기입 데이터를 수신하고 반전 기입 데이터를 생성하는 단계; 복수의 선택된 메모리 셀에서 현재 데이터를 판독하는 단계; 상기 현재 데이터와 상기 기입 데이터 및 상기 반전 기입 데이터를 비교하는 단계; 비교 결과에 따라 최종 데이터를 생성하기 위해 상기 기입 데이터 및 상기 반전 기입 데이터 중 하나를 선택하는 단계; 및 선택된 메모리 셀에 최종 데이터를 기록하는 단계를 포함한다.
Description
본 발명은 저항 메모리 및 그의 데이터 기록 방법에 관한 것으로서, 보다 상세하게는 기록된 비트 수를 줄일 수 있는 저항 메모리 및 그 데이터 기록 방법에 관한 것이다.
반도체 기술의 진보에 따라, 다양한 종류의 다양한 메모리가 제안되어 왔다. 최근에, 비휘발성 메모리 매체로서 사용될 수 있는 저항성 메모리가 또한 제안되었다.
저항 메모리의 사이클링 내구성을 향상시키기 위해, 종래의 기술은 2T2R(2-트랜지스터, 2-레지스터) 아키텍처를 갖는 저항성 메모리 셀을 제안한다. 이러한 저항성 메모리 셀은 사이클링 내구성을 증가시킬 수 있지만, 비교적 큰 회로 면적이 요구되어 비용이 증가하게 된다. 따라서, 비용 및 사이클링 내구성을 고려하여 저항성 메모리의 설계를 완성하는 방법을 찾는 것은 당해 기술 분야에서 다루어져야 할 중요한 문제이다.
본 발명은 전력 소비를 줄이면서 기록 사이클 내구성 및 기록 성능을 효과적으로 개선할 수 있는 저항성 메모리 및 그의 데이터 기록 방법을 제공한다.
본 발명의 저항성 메모리(resistive memory)의 데이터 기록 방법은 기입 데이터(write-in data)를 수신하고 반전 기입 데이터(inverted write-in data)를 생성하는 단계; 복수의 선택된 메모리 셀에서 현재 데이터(current data)를 판독하는 단계; 상기 현재 데이터를 상기 기입 데이터 및 상기 반전 기입 데이터와 비교하는 단계; 비교 결과에 따라 최종 데이터를 생성하기 위해 상기 기입 데이터 및 상기 반전 기입 데이터 중 하나를 선택하는 단계; 및 선택된 메모리 셀에 최종 데이터(final data)를 기록하는 단계를 포함한다.
본 발명의 저항성 메모리는 메모리 셀 어레이, 제어기 및 데이터 변경 회로를 포함한다. 제어기는 상기 메모리 셀 어레이에 결합(coupled)되고, 및 기입 데이터를 수신하고 반전 기입 데이터를 생성하고, 복수의 선택된 메모리 셀에서 현재 데이터를 판독하고; 현재 데이터와 기입 데이터 및 반전 기입 데이터를 비교하고; 비교 결과에 따라 최종 데이터를 생성하기 위해 기입 데이터 및 반전 기입 데이터 중 하나를 선택하고; 및 선택된 메모리 셀에 최종 데이터를 기록하도록 구성된다.
상기에 기초하여, 본 발명의 실시예에서는, 기입 데이터와 현재 데이터 사이의 변경이 결정되고, 우선 순위 선택 플래그는 결정 결과에 따라 설정된다. 그리고, 우선 순위 선택 플래그에 따라 비교적 적은 변경 비트 수 또는 상대적으로 작은 수의 재설정 비트 수를 갖는 모드를 선택함으로써 기입 데이터의 기입 동작이 수행된다. 이러한 방식으로, 기입 실행이 실제로 수행되는 메모리 셀의 수는 효과적으로 감소될 수 있다. 그 결과, 전력 소비를 감소시키는 것 이외에, 메모리 셀의 사이클 수명을 연장하여 메모리 셀의 수명주기를 연장시킬 수 있다.
상기한 본 발명의 특징 및 이점을 보다 이해하기 쉽게 하기 위해, 도면을 수반하는 여러 실시 형태를 이하와 같이 상세히 설명한다.
첨부 도면은 본 개시물의 추가 이해를 제공하기 위해 포함되며, 본 명세서에 통합되어 본 명세서의 일부를 구성한다. 도면은 본 발명의 실시예를 도시하고 설명과 함께 본 발명의 원리를 설명하는 역할을 한다.
도 1a는 본 발명의 일 실시예에 따른 저항성 메모리의 데이터 기록 방법을 도시하는 흐름도이다.
도 1b는 설정 절차의 실시예를 도시하는 개략도이다.
도 2a는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 구현 예를 도시하는 흐름도이다.
도 2b는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 또 다른 구현 예를 도시하는 흐름도이다.
도 2c는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 또 다른 구현 예를 도시하는 흐름도이다.
도 3은 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 또 다른 구현 예를 도시하는 흐름도이다.
도 4a 내지 도 4h는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 구현 세부 사항을 도시하는 개략도이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에서 데이터를 판독하는 방법의 복수의 구현 예를 각각 도시하는 흐름도이다.
도 6은 본 발명의 일 실시예에서 저항성 메모리를 도시하는 개략도이다.
도 7은 본 발명의 일 실시예에서 저항성 메모리에서 비교 실행을 수행하는 회로의 개략도이다.
도 8a 및 도 8b는 본 발명의 다른 실시예에서의 데이터 변경 회로를 도시하는 개략도이다.
도 9a 및 도 9b는 각각 본 발명의 다른 실시예에서의 판독 데이터 생성기를 도시하는 개략도이다.
도 10은 본 발명의 일 실시예에서 재설정 전압을 조정하는 방법을 도시하는 개략도이다.
도 1a는 본 발명의 일 실시예에 따른 저항성 메모리의 데이터 기록 방법을 도시하는 흐름도이다.
도 1b는 설정 절차의 실시예를 도시하는 개략도이다.
도 2a는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 구현 예를 도시하는 흐름도이다.
도 2b는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 또 다른 구현 예를 도시하는 흐름도이다.
도 2c는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 또 다른 구현 예를 도시하는 흐름도이다.
도 3은 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 또 다른 구현 예를 도시하는 흐름도이다.
도 4a 내지 도 4h는 본 발명의 일 실시예에서 데이터를 기록하기 위한 방법의 구현 세부 사항을 도시하는 개략도이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에서 데이터를 판독하는 방법의 복수의 구현 예를 각각 도시하는 흐름도이다.
도 6은 본 발명의 일 실시예에서 저항성 메모리를 도시하는 개략도이다.
도 7은 본 발명의 일 실시예에서 저항성 메모리에서 비교 실행을 수행하는 회로의 개략도이다.
도 8a 및 도 8b는 본 발명의 다른 실시예에서의 데이터 변경 회로를 도시하는 개략도이다.
도 9a 및 도 9b는 각각 본 발명의 다른 실시예에서의 판독 데이터 생성기를 도시하는 개략도이다.
도 10은 본 발명의 일 실시예에서 재설정 전압을 조정하는 방법을 도시하는 개략도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 가능하면, 도면 및 설명에서 동일하거나 유사한 부분을 나타내기 위해 동일한 참조 번호가 사용된다.
도 1a를 참조하면, 도 1a는 본 발명의 일 실시예에 따른 저항성 메모리의 데이터 기록 방법을 도시하는 흐름도이다. 도 1a의 단계 S110에서, 기입 데이터가 수신되고 반전 기입 데이터가 생성되고, 반전 기입 데이터는 기입 데이터로 반전된다. 다음으로, 단계 S120에서, 복수의 선택된 메모리 셀의 현재 데이터가 판독된다. 여기서, 기입 실행에서 기입 어드레스에 따라 선택된 메모리 셀이 얻어진다. 특히, 선택된 메모리 셀은 상기 기입 실행에 의해 데이터가 기록되는 메모리 셀이다. 또한, 현재 데이터는 선택된 메모리 셀에 원래 저장된 데이터이다.
단계 S130에서는 현재 데이터와 기입 데이터 및 반전 기입 데이터를 비교하여 최종 데이터를 생성한다. 예를 들어, 기입 데이터가 2 진수로 01010000이면, 반전 기입 데이터는 10101111 이다. 다시, 선택된 메모리 셀의 현재 데이터가 2 진수로 10100000이면, 단계 S130에서, 기입 데이터를 현재 데이터와 비트 단위로 비교하고, 반전 기입 데이터를 현재 데이터와 비트 단위로 비교함으로써, 비교 결과에 따라 최종 데이터가 생성될 수 있다.
본 발명의 구현 예 중에서, 최종 데이터를 생성하기 위한 구현 세부 사항은 체인지리스 모드(changeless mode) 및 리셋리스 모드(resetless mode)를 포함하는 두 개의 모드로 분할될 수 있다. 채택될 모드는 우선 순위 선택 플래그의 논리 값에 따라 결정될 수 있다. 여기서, 우선 순위 선택 플래그가 제1 논리 값(예컨대, 0) 인 경우에는 체인지리스 모드가 적용되고, 제2 논리 값(예를 들어, 1) 인 경우에는 리셋리스 모드가 적용될 수 있다. 이 실시예에서, 우선 순위 선택 플래그의 사전 설정값(preset value)은 0이다. 그러나, 본 발명은 이에 국한되지 않는다. 본 발명은 또한 다른 모드(예를 들어, 세트리스(setless) 모드)에 적용 가능할 수도 있고, 3 개 이상의 플래그 값 및 기타 다른 모드를 가질 수도 있다.
체인지리스 모드에서는, 기입 데이터와 현재 데이터의 비트 사이의 차이를 나타내는 제1 수를 계산하고, 반전 기입 데이터와 현재 데이터의 비트 사이의 차이를 나타내는 제2 수를 계산함으로써, 차이가 가장 작은 기입 데이터 또는 반전 기입 데이터가 상기 제1 및 제2 수의 크기에 따라 최종 데이터를 생성하도록 선택될 수 있다.
리셋리스 모드에서, 현재 데이터를 기입 데이터 및 반전 기입 데이터로 변경할 때 재설정 될 필요가 있는 비트 수가 결정될 수 있고, 기입 데이터 또는 반전 기입 데이터 중 재설정이 필요한 비트 수가 적은 하나를 선택하여 최종 데이터를 생성할 수 있다.
또한, 최종 데이터는 일반 데이터, 우선 순위 선택 플래그 및 데이터 반전 플래그를 포함한다. 일반 데이터는 기입 데이터 및 반전 기입 데이터 일 수 있고, 데이터 반전 플래그는 일반 데이터가 기입 데이터 또는 반전 기입 데이터임을 나타내기 위해 구성된다. 여기서, 일반 데이터가 기입 데이터인 경우 데이터 반전 플래그는 제1 논리 값(예컨대, 0)이 될 수 있고, 상기 일반 데이터가 반전 기입 데이터인 경우 데이터 반전 플래그는 제2 논리 값(예컨대, 1)이 될 수 있다.
단계 S140에서, 재설정 절차는 최종 데이터에 따라 선택된 메모리 셀 중에서 데이터 1(예를 들어, 논리 1)로 변경될 필요가 있는 선택된 메모리 셀의 제1 부분 중 하나 이상에 대해 수행된다. 단계 S150에서, 최종 데이터에 따라 선택된 메모리 셀 중에서 데이터 0(예를 들어, 논리 0)으로 변경될 필요가 있는 선택된 메모리 셀의 제2 부분 중 하나 이상에 대해 설정 절차가 수행된다. 이 실시예에서, 기입 데이터(예를 들어, 01010000과 동일)에 따라 최종 데이터를 생성하도록 선택되면, 재설정 절차는 선택된 메모리 셀에서 기입 데이터의 제2 및 제4 비트(제1 비트로서 최상위 비트를 가짐)에 대응하는 메모리 셀의 일부(제1 부분)에 대해 수행될 수 있고, 설정 절차는 선택된 메모리 셀의 기입 데이터의 제1 및 제3 비트(제1 비트로서 최상위 비트를 가짐)에 대응하는 메모리 셀의 일부분(제2 부분)에 대해 수행될 수 있다. 본 발명에서, 재설정 절차(단계 S140) 및 설정 절차(단계 S150)를 수행하는 순서는 특별히 제한되지 않는다. 다른 실시예에서, 재설정 절차는 설정 절차가 수행된 후에 수행될 수 있다.
저항성 메모리의 설정 동작(set operation)이 수행된 후 전도성 필라멘트와 저항성 메모리 셀의 전극층의 접속 표면에 일정량의 산소 이온이 부착될 수 있으므로 저항성 메모리의 설정 전류가 증가하지 않을 수 있다. 복구 동작(recover operation)은 설정 동작이 실패한 것으로 확인된 후에 본 발명의 설정 절차에서 수행될 수 있다. 상기 복구 동작은 산소 이온을 멀리 이동시키는데 사용되어 저항성 메모리 셀의 설정 전류가 실제로 증가될 수 있다. 그러나, 복구 동작이 수행된 후, 저항성 메모리의 전류를 검출함으로써 저항성 메모리의 설정 전류가 여전히 증가되거나 감소될 수 없다는 것으로 발견되면, 저항성 메모리는 열화의 징후를 보여주기 시작한다.
이하의 내용은 도 1b를 참조하며, 이는 설정 절차의 구현 세부 사항을 도시하는 개략도이다. 본 발명의 설정 절차(단계 S150)에서는, 선택 메모리 셀의 열화 상태에 따라 우선 순위 선택 플래그를 설정하는 단계 S151~S153을 선택적으로 포함할 수 있다. 구체적으로는, 단계 S151에서, 설정 동작을 수행하기 위하여 비 반전 설정 전압이 선택된 메모리 셀의 제2 부분 중 하나 이상에 제공된다. 선택된 메모리 셀의 제2 부분 중 하나 이상에 대해 수행된 설정 동작이 실패할 때, 단계 S152는 설정 동작이 실패한 메모리 셀에 대해 복구 동작을 수행하기 위해 반전된 설정 전압을 제공하고, 검증 결과를 얻기 위해 상기 메모리 셀을 검증하도록 수행된다. 검증 결과가 선택된 메모리 셀이 열화를 나타내는 설정 실패이면, 우선 순위 선택 플래그는 단계 S153의 검증 결과에 따라 갱신(예를 들면, 1로 변경)된다.
다른 실시예에서, 우선 순위 선택 플래그는 또한 사용자들에 의해 직접 설정될 수 있다.
도 2a는 본 발명의 일 실시예에 따른 저항성 메모리의 데이터 기록 방법을 도시하는 흐름도이다. 도 2a에 도시된 데이터 기록 방법에서, 저항성 메모리 장치는 직접 기록 모드 또는 플래시 메모리 호환 모드에서 동작할 수 있다. 여기서, 선택된 메모리 셀에 저장된 현재 데이터 Odata는 일반 데이터, 데이터 반전 플래그 DFB 및 우선 순위 선택 플래그 PSB를 포함한다. 데이터 반전 플래그 DFB는 범용 데이터가 반전 데이터인지 여부를 나타내는데 사용된다. 데이터 반전 플래그 DFB가 제1 논리 값(예컨대, 0) 인 경우, 일반 데이터는 정상 데이터이고; 반대로, 데이터 반전 플래그 DFB가 제2 논리 값(예를 들면, 1) 일 때, 일반 데이터는 반전된 데이터이다. 본 실시예에서, 데이터 반전 플래그 DFB의 사전 설정된 값은 0이다. 우선 순위 선택 플래그 PSB는 어드레스에 대응하는 메모리 셀에 데이터 기록 실행이 수행될 필요가 있는 데이터 비교 모드를 나타내는데 사용된다. 설계 요건에 따라, 사용자는 복수의 데이터 비교 모드에 대응하는 복수의 논리 값으로 우선 순위 선택 플래그 PSB를 설정할 수 있다. 본 실시예에서, 우선 순위 선택 플래그 PSB는 두 개의 논리 값(0 및 1)을 가지며, 우선 순위 선택 플래그 PSB의 사전 설정된 값은 0이다.
도 2a를 참조하면, 우선 S210 단계에서 기입 명령 또는 프로그래밍 명령을 수신하고, 어드레스 및 기입 데이터 Udata를 수신한다. 상기 어드레스는 데이터 기록 실행이 수행될 선택된 메모리 셀의 어드레스를 나타낸다.
다음으로, S230 단계에서 선택된 메모리 셀에 저장된 현재 데이터 Odata가 로딩되고, 임시 데이터 Tdata와 반전 임시 데이터 /Tdata가 기입 데이터 Udata에 따라 생성된다. 여기서, 임시 데이터 Tdata = {Udata, 0}(0은 데이터 반전 플래그 DFB); 반전 임시 데이터 /Tdata = {/Udata, 1}(1은 데이터 반전 플래그 DFB); 반전 기입 데이터 /Udata가 기입 데이터 Udata로 반전된다.
단계 S231에서, 현재 데이터 Odata 내의 우선 순위 선택 플래그 PSB의 상태가 결정된다. 우선 순위 선택 플래그 PSB가 제1 논리 값(예컨대, 0)이면, 단계 S232가 수행된다. 그렇지 않으면, 우선 순위 선택 플래그 PSB가 제2 논리 값(예컨대, 1)을 갖는 경우, 단계 S233이 수행된다.
단계 S232에서, 현재 데이터 Odata의 일반 데이터와 임시 데이터 Tdata의 기입 데이터 Udata 및 반전 임시 데이터 /Tdata의 반전 기입 데이터 /Udata를 비교하고, 임시 데이터 Tdata 및 반전 임시 데이터 data /Tdata는 최종 데이터 Fdata를 체인지리스 비트 모드를 통해 생성하도록 선택된다. 다음에, 최종 데이터 Fdata에 우선 순위 선택 플래그 PSB(= 0)가 부가되고, 선택된 메모리 셀에 최종 데이터 Fdata가 기록된다.
단계(S233)에서, 현재 데이터 Odata의 일반 데이터는 임시 데이터 Tdata의 기입 데이터 Udata 및 반전 임시 데이터 /Tdata의 반전 기입 데이터 /Udata와 비교되고, 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata 중 어느 하나를 선택하여 리셋리스 비트 모드를 통해 최종 데이터 Fdata를 생성한다. 다음에, 최종 데이터 Fdata에 우선 순위 선택 플래그 PSB(= 1)가 부가되고, 선택된 메모리 셀에 최종 데이터 Fdata가 기록된다.
본 발명의 일 실시예에서, 단계 S232 및 S233이 수행될 때, ECC 실행이 최종 데이터 Fdata에 대해 수행될 수 있고 최종 데이터 Fdata가 대응하여 생성된 오류 정정 코드를 포함할 수 있음을 주목해야 한다.
도 2b는 본 발명의 다른 실시예에 따른 저항성 메모리의 데이터 기록 방법을 도시하는 흐름도이다. 도 2b에 도시된 데이터 기록 방법에서, 저항성 메모리 장치는 직접 기록 모드로 동작할 수 있다. 여기서, 도 2b에 도시된 데이터를 기록하는 방법은 큰 차이점이 있지만 도 2a와 실질적으로 유사하나, 특수 테이터 플래그 SF가 도 2b의 선택된 메모리 셀에 의해 저장된 현재 데이터 Odata를 추가로 포함하고 특수 데이터를 결정하기 위한 단계 S220 및 고속 기록을 위한 단계 S240 내지 S241이 추가로 포함되는 점에서 주된 차이가 있다. 특수 데이터 플래그 SF가 제1 논리 값(예를 들어, 0)이면, 현재 데이터 Odata가 판독될 때, 데이터는 일반 데이터 및 데이터 반전 플래그 DFB에 따라 판독될 필요가 있다. 그렇지 않고, 특수 데이터 플래그 SF가 제2 논리 값(예들 들어, 1)이면, 현재 데이터 Odata는 특수 데이터(예를 들어, #FF)로 직접 판독될 수 있으며, 일반 데이터 및 반전 데이터 플래그 DFB는 무시된다.
도 2b를 참조하면, 우선 S210 단계에서 기입 명령을 수신하고, 어드레스 및 기입 데이터 Udata를 수신한다. 상기 어드레스는 데이터 기록 실행이 수행될 선택된 메모리 셀의 어드레스를 나타낸다.
다음에, 단계 S220에서, 기입 데이터 Udata가 특수 데이터(예를 들면, 16 진수의 #FF)와 동일한지 여부를 결정한다. 상기 결정 결과가 "아니오"이면, 단계 S230 내지 단계 S231 및 단계 S232 '내지 단계 S233'이 수행된다. 여기서, 단계(S230 내지 S231)는 도 2a의 실시예와 동일하므로, 중복 설명하지 않는다. 단계 S232' 내지 단계 S233'은 도 2a의 실시예와 유사하지만, 본 실시예의 단계 S232' 내지 단계 S233'에서 최종 데이터 Fdata에 특수 데이터 플래그 SF = 0이 더 추가되고, 최종 데이터 Fdata가 선택된 메모리 셀에 기록된다.
[44]
단계 S220으로 되돌아가, 상기 결정 결과가 '"예"이면, 기입 데이터 Udata가 특수 데이터와 동일하기 때문에, 현재 데이터 Odata 및 최종 데이터 Fdata 내의 모든 데이터는 특수 데이터 플래그 SF를 제외하고 무시(X)될 수 있다. 대신에, 현재 데이터의 특수 데이터 플래그 SF가 제2 논리 값(1)으로 변경될 필요가 있는지 여부를 결정하기 위하여 빠른 기록을 위해 단계 S240 내지 S241을 수행하면 된다. 즉, 현재 데이터 Odata가 판독될 때, 일반 데이터 및 데이터 반전 플래그 DFB는 무시될 수 있고 현재 데이터 Odata는 특수 데이터로서 직접 판독될 수 있다. 구체적으로는, 단계 S240에서, 현재 데이터에서 특수 데이터 플래그 SF가 1인지의 여부가 결정된다. "예"이면, 현재 데이터를 변경할 필요가 없고 Odata 및 데이터 기록 절차가 직접 종료된다. "아니오" 이면, 단계 S241로 진행하여, 현재 데이터 Odata 내의 다른 부분을 변경하지 않고, 현재 데이터 Odata의 특수 데이터 플래그 SF만을 1로 갱신한다.
도 2c는 본 발명의 다른 실시예에 따른 저항성 메모리의 데이터 기록 방법을 도시하는 흐름도이다. 도 2c에 도시된 데이터 기록 방법에서, 저항성 메모리 장치는 직접 기록 모드로 동작할 수 있다. 여기서, 도 2c에 도시된 데이터 기록 방법은 도 2b와 실질적으로 유사하며 큰 차이가 있고, 도 2c의 특수 데이터 판별 단계는 단계 S221 내지 단계 S222를 포함하며, 단계 S250 내지 S251 및 단계 S260 내지 S261을 포함한다. 도 2b의 실시예와 유사하게, 특수 데이터 플래그 SF가 제1 논리 값(예컨대, 0)이면, 현재 데이터 Odata가 판독될 때, 데이터는 일반 데이터 및 데이터 반전 플래그 DFB에 따라 판독될 필요가 있다. 그러나, 이 실시예에서, 특수 데이터 플래그 SF가 제2 논리 값(1)이고 데이터 반전 플래그 DFB가 제1 논리 값(0)이면, 현재 데이터 Odata는 일반 데이터가 무시된 상태로 제1 특수 데이터(예를 들어, 16 진수의 #00)로 직접 판독될 수 있고, 다른 한편으로는, 특수 데이터 플래그 SF가 제2 논리 값(1)이고 데이터 반전 플래그 DFB가 제2 논리 값(1)이면, 현재 데이터 Odata는 일반 데이터가 무시된 상태에서 제2 특수 데이터(예를 들어, 16 진수의 #FF)로서 직접 판독될 수 있다.
도 2c를 참조하면, 먼저 기입 명령이 수신되고, 단계 S210에서 어드레스 및 기입 데이터 Udata가 수신된다. 상기 어드레스는 데이터 기록 실행이 수행될 선택된 메모리 셀의 어드레스를 나타낸다.
다음으로, 단계 S221에서, 기입 데이터 Udata가 제1 특수 데이터(예를 들면, 16 진수의 #00)와 동일한지 여부를 결정한다. 상기 결정 결과가 "예"이면, 고속 기록을 위한 단계 S250 내지 S251이 수행된다. 단계 S250에서, 현재 데이터 Odata에서 특수 데이터 플래그 SF가 1이고 데이터 반전 플래그 DFB가 0인지가 결정된다. "예" 이면, 현재 데이터 Odata를 변경할 필요가 없고, 데이터 기록 절차가 직접 종료된다. "아니오"이면, 단계 S251에서 현재 데이터 Odata의 특수 데이터 플래그 SF를 1로 갱신하고, 현재 데이터 Odata의 다른 부분을 변경하지 않고 데이터 반전 플래그 DFB를 0으로 갱신하여 데이터 기록 절차를 종료한다.
단계 S221로 되돌아가서, 기입 데이터 Udata가 제1 특수 데이터와 동일하지 않으면, 단계 S222는 기입 데이터 Udata가 제2 특수 데이터(예를 들면 16 진수의 #FF)와 동일한 지의 여부를 결정한다. 상기 결정 결과가 "예"이면, 고속 기록을 위한 단계 S260 내지 S261이 수행된다. 상기 결정 결과가 "아니오"이면, 단계 S230 내지 단계 S231 및 단계 S232' 내지 단계 S233'이 수행된다. 여기서, 단계 S230 내지 S231 및 단계 S232' 내지 S233'는 도 2b의 실시예와 동일하므로, 중복 설명은 생략한다.
단계(S260)에서, 현재 데이터 Odata에서 특수 데이터 플래그 SF가 1이고 데이터 반전 플래그 DFB가 1인지가 결정된다. "예"이면, 현재 데이터를 변경할 필요가 없고 Odata 및 데이터 기록 절차가 직접 종료된다. "아니오"이면. 단계 S261에서 현재 데이터 Odata의 특수 데이터 플래그 SF를 1로 갱신하고, 현재 데이터 Odata의 다른 부분을 변경하지 않고 데이터 반전 플래그 DFB를 1로 갱신하여 데이터 기록 절차를 종료한다.
도 3을 참조하면, 도 3은 본 발명의 다른 실시예에 따른 저항성 메모리의 데이터 기록 방법을 설명하기 위한 흐름도이다. 도 3에 도시된 데이터 기록 방법에서, 저항성 메모리 장치는 플래시 메모리 호환 모드로 동작할 수 있다. 본 실시예에서, 저항성 메모리는 플래시 메모리의 삭제 명령에 따라 데이터 기록 실행을 수행할 수 있다. 여기서, 도 3의 선택된 메모리 셀에 의해 저장된 현재 데이터 Odata는 특수 데이터 플래그 SF를 더 포함한다. 여기서, 특수 데이터 플래그 SF가 제1 논리 값(예를 들어, 0)이면, 현재 데이터 Odata가 판독될 때, 현재 데이터 Odata의 일반 데이터는 16 진수로 #FF로 대체될 필요가 없다. 여기서, 특수 데이터 플래그 SF가 제1 논리 값(예를 들어, 1)이면, 현재 데이터 Odata가 판독될 때, 현재 데이터 Odata의 일반 데이터는 16 진수의 #FF로 대체될 필요가 있다.
우선, 단계 S310에서, 삭제 명령 및 어드레스를 수신하고, 어드레스는 데이터 삭제 실행이 수행될 선택된 메모리 셀의 어드레스를 나타낸다(즉, 선택된 모든 메모리 셀에 #FF를 16 진수로 기록함으로써). 단계 S320에서, 현재 데이터 Odata의 특수 데이터 플래그 SF가 1인지의 여부가 결정된다. "예"이면, 데이터를 변경할 필요가 없고, Odata 및 데이터 기록 절차가 직접 종료된다. "아니오"이면, 현재 데이터 Odata의 다른 부분을 변경하지 않고, 현재 데이터 Odata 내의 특수 데이터 플래그 SF 만을 1로 갱신하기 위해 단계 S330가 수행된 후, 데이터 기록 절차가 종료된다.
이하, 본 발명의 실시예의 데이터를 기록하는 방법을 설명하기 위해 복수의 실제예가 제공된다. 도 4a 내지 도 4d는도 2a에 따른 데이터 기록 방법의 실시예를 도시하는 개략도이다. 도 4e 내지 도 4f는 도 2b에 따른 데이터 기록 방법의 실시예를 도시하는 개략도이다. 도 4g 내지 도 4h는 도 2c에 따른 데이터 기록 방법의 실시예를 도시하는 개략도이다. 여기서, 도 4a 내지 도 4h의 데이터는 16 진수의 데이터에 의해 예시된다
도 4a 내지도 4d를 참조하면, 도 4a에서, 현재 데이터 Odata는 #F9이고; 기입 데이터 Udata는 #00이고; 기입 데이터 Udata에 따라 생성된 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata는 각각 #00 및 #FF이다. 현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 0 일 때, 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 체인지리스 비트 모드(모드 I)에서 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata 및 임시 데이터 Tdata 중 0 비트가 0에서 1로 변경되고, 6 비트가 1에서 0으로 변경되고, 변경된 비트 수의 합계는 6이다. 현재 데이터 Odata 및 반전 임시 데이터 /Tdata 중 0 비트가 0에서 1로 변경되고 0 비트가 1에서 0으로 변경되고, 변경된 비트 수의 합계가 2이다. 따라서, 체인지리스의 원리에 기초하여, 최종 데이터를 생성하기 위하여 반전 임시 데이터 /Tdata가 선택될 수 있고 데이터 반전 플래그 DFB = 1 및 우선 순위 선택 플래그 PSB = 0으로 추가될 수 있다.
현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 1 일 때, 리셋리스 비트 모드(모드 II)에서 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata 및 임시 데이터 Tdata 중, 0 비트는 재설정 될 필요가 있다(0에서 1로 변경됨). 현재의 데이터 Odata와 그 반전 임시 데이터 /Tdata 중, 2 비트를 재설정(0에서 1로 변경) 할 필요가 있다. 따라서, 리셋리스의 원리에 기초하여, 최종 데이터를 생성하기 위하여 임시 데이터 Tdata가 선택될 수 있고 데이터 반전 플래그 DFB = 0 및 우선 순위 선택 플래그 PSB = 1가 추가될 수 있다.
도 4b에서, 현재 데이터 Odata는 #F9이고; 기입 데이터 Udata는 #FF이다. 기입 데이터 Udata에 따라 생성된 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata는 각각 #FF 및 #00이다. 현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 0 일 때, 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 체인지리스 비트 모드(모드 I)에서 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata와 임시 데이터 Tdata 중 2 비트가 0에서 1로 변경되고, 0 비트가 1에서 0으로 변경되며, 변경된 비트 수의 합계는 2이다. 현재 데이터 Odata 및 반전 임시 데이터 /Tdata 중 0 비트가 0에서 1로 변경되고, 6 비트가 1에서 0으로 변경되고, 변경된 비트 수의 합계는 6이다. 따라서, 체인지리스의 원리에 기초하여, 최종 데이터를 생성하기 위하여 데이터 Tdata가 선택될 수 있고 데이터 반전 플래그 DFB = 0 및 우선 순위 선택 플래그 PSB = 0이 추가될 수 있다.
현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 1 일 때, 리셋리스 비트 모드(모드 II)에서 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata 및 임시 데이터 Tdata 중에서, 2 비트는 재설정 될 필요가 있다(0에서 1로 변경됨). 현재 데이터 Odata 및 반전 임시 데이터 /Tdata 중에서, 0 비트를 재설정(0에서 1로 변경) 할 필요가 있다. 따라서, 리셋리스의 원리에 기초하여, 최종 데이터를 생성하기 위하여 반전 임시 데이터 /Tdata가 선택될 수 있고 데이터 반전 플래그 DFB = 1 및 우선 순위 선택 플래그 PSB = 1로 추가될 수 있다.
도 4c에서, 현재 데이터 Odata는 #F9이고; 기입 데이터 Udata는 #03; 기입 데이터 Udata에 따라 생성된 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata는 각각 #03 및 #FC이다. 현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 0 인 경우, 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 체인지리스 비트 모드(모드 I)에서 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata 및 임시 데이터 Tdata 중에서, 0 비트가 0에서 1 비트로 변경되고, 5 비트가 1에서 0으로 변경되고, 변경된 비트 수의 합계는 6이다. 현재 데이터 Odata 및 반전 임시 데이터 /Tdata 중에서, 1 비트가 0에서 1로 변경되고, 1 비트가 1에서 0으로 변경되고, 변경된 비트 수의 합계가 2이다. 따라서, 체인지리스의 원리에 기초하여, 최종 데이터를 생성하기 위하여 반전 임시 데이터 /Tdata는 선택될 수 있고 데이터 반전 플래그 DFB = 1 및 우선 순위 선택 플래그 PSB = 0로 추가될 수 있다.
현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 1 일 때, 리셋리스 비트 모드(모드 II)에서 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata 및 임시 데이터 Tdata 중에서, 1 비트는 재설정 될 필요가 있다(0에서 1로 변경됨). 현재 데이터 Odata와 반전 임시 데이터 /Tdata 중에서, 1 비트를 재설정(0에서 1로 변경) 될 필요가 있다. 재설정 될 비트가 동일한 경우, 현재 데이터 Odata와 임시 데이터(5) 중에서 1에서 0으로 변경된 비트 수는 현재 데이터 Odata와 반전 임시 데이터 /Tdata(1) 중에서 1에서 0으로 변경된 비트 수와 추가로 비교될 수 있다. 따라서, 최종 데이터를 생성하기 위하여 반전 임시 데이터 /Tdata는 선택될 수 있고 데이터 반전 플래그 DFB = 1 및 우선 순위 선택 플래그 PSB = 1로 추가될 수 있다.
도 4d에서, 현재 데이터 Odata는 #F9이고; 기입 데이터 Udata는 #AA이고; 기입 데이터Udata에 따라 생성된 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata는 각각 #AA 및 #55이다. 현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 0 일 때, 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 체인지리스 비트 모드(모드 I)에서 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata와 임시 데이터 Tdata 중에서, 1 비트는 0에서 1로 변경되고, 3 비트는 1에서 0으로 변경되며, 변경된 비트 수의 합계는 4이다. 현재 데이터 Odata와 반전 임시 데이터 /Tdata 중에서, 1 비트는 0에서 1로 변경되고, 3 비트는 1에서 0으로 변경되며, 변경된 비트 수의 합계는 4이다. 따라서, 체인지리스의 원칙에 따라, 최종 데이터를 생성하기 위해 반전 임시 데이터 /Tdata 또는 임시 데이터 Tdata 중 어느 하나를 선택될 수 있고 대응하는 데이터 반전 플래그 DFB = 1 또는 0과 우선 순위 선택 플래그 PSB = 0으로 추가될 수 있다.
현재 데이터 Odata로부터 판독된 우선 순위 선택 플래그 PSB가 1 일 때, 리셋리스 비트 모드(모드 II)에서 현재 데이터 Odata와 임시 데이터 Tdata 및 반전 임시 데이터 /Tdata를 비트 단위로 비교함으로써, 저항성 메모리는 다음 결과를 얻을 수 있다. 현재 데이터 Odata 및 임시 데이터 Tdata 중에서, 1 비트는 재설정 될 필요가 있다(0에서 1로 변경). 현재 데이터 Odata와 반전 임시 데이터 /Tdata 중에서, 1 비트를 재설정(0에서 1로 변경) 될 필요가 있다. 또한, 현재 데이터 Odata와 임시 데이터 Tdata 중에서 비트 수가 1에서 0으로 변경되고, 현재 데이터 Odata와 반전 임시 데이터 /Tdata 중에서 1에서 0으로 변경된 비트 수는 모두 3이다. 따라서, 최종 데이터를 생성하기 위해서 임시 데이터 Tdata 또는 반전 임시 데이터 /Tdata 중 어느 하나가 선택될 수 있고 대응하는 데이터 반전 플래그 DFB = 0 또는 1와 우선 순위 선택 플래그 PSB = 1로 추가될 수 있다.
도 4e 및 도 4f를 참조하면, 도 2b의 실시예에서 설명한 바와 같이, 선택된 메모리 셀에 의해 저장된 현재 데이터 Odata는 특수 데이터 플래그 SF를 더 포함하고, 고속 기록을 위한 단계(S240 내지 S241)가 추가로 포함된다. 따라서, 기입 데이터 Udata가 특수 데이터와 동일한지 여부가 먼저 결정된다. 도 4e의 실시예에서, 특수 데이터는 #00이고, 기입 데이터 Udata는 예를 들면 #00이다. 이 경우, 기입 데이터 Udata는 특수 데이터와 동일하므로, 데이터 반전 플래그 SF를 제외하고 현재 데이터 Odata 및 최종 데이터 Fdata 내의 모든 데이터는 무시(X)될 수 있다. 대신에, 현재 데이터의 특수 데이터 플래그 SF가 제2 논리 값(1)으로 변경될 필요가 있는지 여부를 결정하는 것만이 필요하다. 즉, 현재 데이터 Odata가 판독될 때, 무시된 데이터 반전 플래그 DFB와 일반 데이터로 현재 데이터 Odata는 특수 데이터(#00)로서 직접 판독될 수 있다. 이 실시예에서, 현재 데이터 Odata의 특수 데이터 플래그 SF가 제2 논리 값(1)이면, 데이터 기록 절차는 직접 종료될 수 있다. 현재 데이터 Odata의 특수 데이터 플래그 SF의 상태가 제2 논리 값이 아닌 경우 특수 데이터 플래그 SF를 제2 논리 값(1)으로 간단히 갱신함으로써 최종 데이터 Fdata를 생성할 수 있다.
도 4f의 실시예는 도 4e의 실시예와 유사하지만, 이 실시예서 특수 데이터는 #FF이고 또한 기입 데이터 Udata는 #FF이라는 점에서 상이하다. 유사하게, 기입 데이터 Udata는 특수 데이터와 동일하기 때문에, 현재 데이터의 특수 데이터 플래그 SF가 제2 논리 값(1)으로 변경될 필요가 있는지 여부를 결정하면 된다.
도 4g 및 도 4h를 참조하면, 도 2c의 실시예에서 설명한 바와 같이, 선택된 메모리 셀에 의해 저장된 현재 데이터 Odata는 특수 데이터 플래그 SF 및 단계(S221 내지 S222)를 더 포함하고, 고속 기록을 위한 S250 내지 S251 및 S260 내지 S261 단계가 더 포함된다. 따라서, 우선, 기입 데이터 Udata가 제1 특수 데이터(예를 들면, #00) 또는 제2 특수 데이터(예를 들면, #FF)와 동일한지 여부가 결정된다.
도 4g의 실시예에서, 기입 데이터 Udata는 #00이다. 이 경우, 기입 데이터 Udata는 제1 특수 데이터와 동일하기 때문에, 현재 데이터 Odata 내의 모든 데이터 및 최종 데이터 Fdata는 데이터 반전 플래그 SF 및 데이터 반전 플래그 DFB를 제외하고는 무시(X)될 수 있다. 대신에, 단지 특수 데이터 플래그 SF가 제2 논리 값(1)으로 갱신될 필요가 있는지 여부 및 현재 데이터 Odata에서 데이터 반전 플래그 DFB가 제1 논리 값(0)으로 갱신될 필요가 있는지를 결정하면 된다. 즉, 현재 데이터 Odata가 판독될 때, 현재 데이터 Odata는 일반 데이터가 무시된 상태로 제1 특수 데이터로서 직접 판독될 수 있다. 본 실시예에서, 현재 데이터 Odata에서 특수 데이터 플래그 SF가 제2 논리 값이고 데이터 반전 플래그 DFB가 제1 논리 값이면, 데이터 기록 절차가 직접 종료될 수 있다. 특수 데이터 플래그 SF가 제2 논리 값이 아니거나 데이터 반전 플래그 DFB가 현재 데이터 Odata의 제1 논리 값이 아니면, 특수 데이터 플래그 SF를 제2 논리 값으로 갱신하고 데이터 반전 플래그 DFB를 제1 논리 값으로 갱신함으로써 간단하게 최종 데이터 Fdata를 생성할 수 있다.
도 4f의 실시예에서, 기입 데이터 Udata는 #FF이다. 이 경우, 기입 데이터 Udata는 제2 특수 데이터와 동일하므로, 데이터 반전 플래그 SF 및 데이터 반전 플래그 DFB를 제외하고, 현재 데이터 Odata 및 최종 데이터 Fdata 내의 모든 데이터는 무시(X)될 수 있다. 대신에, 특수 데이터 플래그 SF가 제2 논리 값(1)으로 갱신될 필요가 있는지 여부 및 현재 데이터 Odata에서 데이터 반전 플래그 DFB가 제2 논리 값(1)으로 갱신될 필요가 있는지를 결정하면 된다.
FIG. 도 5a 내지 도 5c는 본 발명의 다른 실시예에 따라 데이터를 판독하는 방법을 도시하는 흐름도이다. 도 2a의 실시예에 따라 선택된 메모리 셀에 기록된 후에, 도 5a의 방법에 따라 기입 데이터가 판독될 수 있다. 도 2b의 실시예에 따라 선택된 메모리 셀에 기록된 후에, 도 5b의 방법에 따라 기입 데이터가 판독될 수 있다. 도 2c의 실시예에 따라 선택된 메모리 셀에 기록된 후에, 도 5c의 방법에 따라 기입 데이터가 판독될 수 있다.
도 5a를 참조하면, 우선, 단계 S510에서, 판독 명령이 수신되고 어드레스가 수신된다. 그 후, 선택된 메모리 셀의 현재 데이터 Odata가 판독되고(단계 S520), 그 내부의 데이터 반전 플래그 DFB의 데이터가 결정된다(단계 S540). 여기서, 데이터 반전 플래그 DFB가 제1 논리 값(0) 인 경우, 단계(S541)가 수행된다. 그렇지 않으면, 데이터 반전 플래그 DFB가 제2 논리 값(1)을 가질 경우, 단계 S542가 수행된다.
단계 S541에서, 현재 데이터 Odata 내의 일반 데이터에 대해 반전 실행을 수행하지 않음으로써 판독 데이터가 직접 생성된다. 한편, 단계 S542에서 현재 데이터 Odata의 일반 데이터에 대하여 반전 실행을 수행하여 판독 데이터를 생성한다. 현재 데이터 Odata가 에러 정정 코드를 포함하는 실시예에서, 단계 S541 또는 단계 S542에 의해 판독 데이터가 생성되기 전에, 에러 정정 코드에 따라 ECC 연산을 수행하여 에러 정정(error correction)된 판독 데이터를 생성할 수 있다는 것에 주목할 가치가 있다.
도 5b의 실시예는 도 5a의 실시예와 유사하지만, 현재 데이터 Odata가이 실시예에서 특수 데이터 플래그 SF를 포함한다는 점에서 상이하다. 따라서, 본 실시예에서는 S540 단계 이전에 현재 데이터 Odata가 특수 데이터인지 여부를 판단하는 S530 단계 내지 S531 단계가 더 포함된다. 간략함을 위해, 단계 S530 내지 S531만 설명되고, 나머지 단계는 이하에서 반복되지 않는다.
도 5b를 참조하면, 단계 S530에서, 현재 데이터 Odata 내의 특수 데이터 플래그 SF의 데이터가 결정된다. 여기서, 특수 데이터 플래그 SF가 제1 논리 값(0) 인 경우, 단계 S540이 수행된다. 그렇지 않으면, 특수 데이터 플래그 SF가 제2 논리 값(1)을 가질 때, 단계 S531이 수행된다. 단계(S531)에서, 특수 데이터 플래그 SF가 제2 논리 값(1)을 갖기 때문에, 판독된 데이터는(예를 들어, 16 진수에서 #FF와 동일한 판독 데이터를 만들어서) 특수 데이터와 직접적으로 동일하게 할 수 있고, 판독 실행이 종료된다.
도 5c를 참조하면, 도 5b와 비교하여, 단계 S530에서 특수 데이터 플래그 SF가 제2 논리 값(1)으로 결정되는 경우, 데이터 반전 플래그 DFB의 데이터를 결정하기 위하여 단계 S551이 더 수행된다. 단계 S551에서 데이터 반전 플래그 DFB가 제1 논리 값(0)으로 결정되면, 판독된 데이터를 제1 특수 데이터(예를 들면, 16 진수의 #FF)와 동일하게 하는 단계 S552가 수행된다. 단계 S551에서 데이터 반전 플래그 DFB가 제2 논리 값(1)으로 결정되면, 판독된 데이터를 제2 특수 데이터(예를 들면, 16 진수의 #00)와 동일하게 하는 단계 S553이 수행된다.
도 6을 참조하면, 도 6은 본 발명의 일 실시예에 따른 저항성 메모리의 개략도이다.
저항성 메모리(600)는 메모리 셀 어레이(610), 컨트롤러(620), 데이터 변경 회로(630), 판독 데이터 생성기(640), 데이터 래치(650), 입/출력 버퍼(660), 설정/재설정 전압 생성기(670), 논리 회로(680), 어드레스 래치(681), Y 디코더(682), X 디코더(683) 및 Y 게이팅 회로(611)를 포함한다.
입/출력 버퍼(660)는 기입 데이터 Udata를 수신하거나 판독 데이터 RDOUT를 출력하도록 구성된다. 입/출력 버퍼(660)는 판독 데이터 생성기(640), 제어기(620) 및 데이터 래치(650)에 연결된다. 판독 데이터 생성기(640)는 데이터 래치(650)에 의해 판독된 데이터를 수신하고, 데이터 반전 플래그 DFB에 따라 수신된 데이터를 반전시킴으로써 판독 데이터 RDOUT를 생성할지 여부를 결정할 수 있다. 판독 데이터 RDOUT는 제어기(620)에 전송될 현재 데이터 Odata로서의 역할을 할 수 있다. 또한, 기입 데이터 Udata는 제어기(620)로 전송될 수 있다. 특수 데이터 플래그 SF가 포함되는 실시예에서, 판독 데이터(640)는 또한 특수 데이터 플래그에 따라 판독 데이터 RDOUT로서 특수 데이터를 직접 사용할지 여부를 결정할 수 있다.
제어기(620)는 우선 순위 선택 플래그 설정 회로(621)를 포함한다. 우선 순위 선택 플래그 설정 회로(621)는 우선 순위 선택 플래그 PSB의 상태를 설정하도록 구성된다. 또한, 제어기(620)는 또한 데이터 반전 플래그 DFB 및 특수 데이터 플래그 SF의 상태를 설정하는데 사용될 수 있으며, 우선 순위 선택 플래그 PSB, 데이터 반전 플래그 DFB 및 특수 데이터 플래그 SF의 상태를 데이터 변경 회로(630)에 전송하는데 사용될 수 있다.
데이터 변경 회로(630)는 우선 순위 선택 플래그 PSB, 데이터 반전 플래그 DFB 및 특수 데이터 플래그 SF의 상태에 따라 최종 데이터를 생성할 수 있고, Y 게이트 회로(611)를 통해 메모리 셀 어레이(610)의 선택된 메모리 셀에 최종 데이터를 기록한다.
한편, 어드레스 래치(681)는 어드레스(ADD)를 수신하고, 액세스 실행을 위해 메모리 셀 어레이(610) 내의 선택된 메모리 셀을 선택하기 위하여 Y 디코더(682) 및 X 디코더(683)를 통해 어드레스(ADD)에 대한 디코딩 실행을 수행한다. 논리 회로(680)는 인에이블(enable) 신호(EN)를 수신하고, 인에이블 신호(EN)에 따라 저항성 메모리(600)의 내부 실행을 인에이블 한다.
이 실시예에서, 메모리 셀은 고정된 수에 따라 그룹화 될 수 있다. 예를 들면, 1 바이트의 그룹, 2 바이트의 그룹 또는 1 워드의 그룹이 특별한 제한없이 설정될 수 있다. 또한, 메모리 셀의 각 그룹은 하나의 데이터 반전 플래그 DFB 및 하나의 우선 순위 선택 플래그 PSB에 대응할 수 있다. 다른 실시예에서, 메모리 셀의 각 그룹은 적어도 하나의 특수 데이터 플래그 SF에 대응할 수 있다. 또한, 다른 실시예에서, 메모리 셀의 각각의 그룹 내의 데이터는 데이터 정정 코드를 포함할 수 있다.
저항성 메모리(600)는 오류 정정 회로(미도시)를 더 포함할 수 있으며, 이는 에러 정정 회로가 포함되는 실시예에서 수신된 데이터 정정 코드에 따라 데이터 정정 코드를 계산하거나 판독된 데이터에 대한 정정 실행을 수행하는데 사용될 수 있다.
설정/재설정 전압 생성기(670)는 제어기(620) 및 어드레스 래치(681)에 결합되는 것을 주목할 가치가 있다. 제어기(620)가 저항성 메모리(600)가 데이터 기록 실행을 수행하는 절차 중에 있다고 결정한 후, 재설정 절차를 수행하는 경우, 설정/재설정 전압 생성기(670)는 제1 전압(V1) 또는 제2 전압(V2)을 갖는 재설정 펄스 신호를 제공하기 위하여 우선 순위 선택 플래그 PSB에 따라 재설정 전압을 조정할 수 있으며, 이는 저항성 메모리(600) 상에 재설정 동작(reset operation)을 수행하는데 사용될 수 있다. 관련 실행의 세부 사항은 도 10의 실시예에서 더 설명될 것이다.
재설정 전압을 조정하기 위한 설정/재설정 전압 생성기(670)의 실행, 제어기(620)에 의해 수행된 우선 순위 선택 플래그 PSB, 데이터 반전 플래그 DFB 및 특수 데이터 플래그 SF를 설정하기 위한 실행 및 최종 기입 데이터를 생성하는 실행이 특별한 제한 없이 동시에 또는 개별적으로 수행될 수 있다는 점을 유의해야 한다.
도 7을 참조하면, 도 7은 본 발명의 실시예에서 저항성 메모리에서 비교 실행을 수행하는 회로의 개략도이다. 비교 회로(700)는 제어기 내에 배치될 수 있고, XOR 게이트(XOR1), NOR 게이트(NOR1 및 NOR2) 및 인버터(IV1 및 IV2)를 포함할 수 있다. XOR 게이트(XOR1) 및 인버터(IV1)는 현재 데이터 Odata의 일반 데이터 Adata를 임시 데이터 Tdata의 기입 데이터 Udata 및 반전 임시 데이터 /Tdata의 반전 임시 기입 데이터 /Udata와 비트 단위로 비교의 실행을 수행하고 기입 데이터 Udata와 반전 기입 데이터 /Udata 및 반전 신호 CCB에 대한 일반 데이터 Adata의 변경 비트 카운트 CC를 생성하도록 구성된다. 재설정 비트 카운트 CR 및 그 반전 신호 CRB를 각각 생성하도록, NOR 게이트(NOR2)는 기입 데이터 Udata와 일반 데이터 Adata 상의 NOR 논리 동작을 수행하고 NOR 게이트(NOR1)는 기입 데이터 Udata 및 일반 데이터 Adata의 반전에 대한 NOR 논리 동작을 수행한다.
도 8a 내지도 8b는 본 발명의 상이한 실시예에서의 데이터 변경 회로를 각각 도시하는 개략도이다. 도 8a를 참조하면, 데이터 변경 회로(630)는 선택기(AOI)에 연결된다. 선택기(AOI)는 우선 순위 선택 플래그 PSB에 따라 출력되는 체인지리스 비트 모드 신호(CLC) 및 리셋리스 비트 모드 신호(CLR) 중 하나를 선택한다. 데이터 변경 회로(630)는 XOR 게이트(XOR2)를 포함한다. XOR 게이트(XOR2)는 기입 데이터 Udata 및 선택기(AOI)의 출력 신호를 수신하고, 선택기(AOI)의 출력 신호에 따라 기입 데이터 Udata에 대해 XOR(exclusive or) 연산을 수행함으로써 최종 데이터 Fdata를 생성할지 여부를 결정한다.
도 8b를 참조하면, 데이터 변경 회로(630)는 도 8a의 실시예와 비교하여, 현재 데이터 Odata가 특수 데이터 플래그 SF를 포함하는 실시예에서의 트랜지스터(M1)를 더 포함한다. 트랜지스터(M1)는 특수 데이터 플래그 SF에 의해 제어된다. 특수 데이터 플래그 SF가 논리 값 1과 동일한 경우, 트랜지스터(M1)는 차단되어 최종 데이터 Fdata를 생성하지 않는다(즉, 현재 데이터 Odata 내의 일반 데이터 Adata를 변경하지 않는다). 한편, 특수 데이터 플래그 SF가 논리 값 0과 동일한 경우, 트랜지스터(M1)가 온 상태가 되고, XOR 게이트(XOR2)의 출력이 최종 데이터 Fdata가 된다.
FIG. 도 9a 내지도 9b는 본 발명의 실시예에서의 판독 데이터 생성이기를 각각 도시하는 개략도이다. 도 9a를 참조하면, 판독 데이터 생성기(640)는 XOR 게이트(XOR3)를 포함한다. XOR 게이트(XOR3)는 데이터 래치(650)로부터 데이터 DFL를 수신한다. XOR 게이트(XOR3)는 또한 데이터 반전 플래그 DFB를 수신하고, 데이터 반전 플래그 DFB에 따라 판독 데이터 RDOUT로서 출력할 데이터 DFL를 반전할지 여부를 결정한다.
도 9b를 참조하면, 도 9a의 실시예와 비교하여, 판독 데이터 생성기(640)는 현재 데이터 Odata가 특수 데이터 플래그 SF를 포함하는 본 실시예의 특수 데이터 생성 회로(641)를 더 포함한다. 특수 데이터 생성 회로(641)는 XOR 게이트(XOR3)의 출력 신호를 수신하고, 특수 데이터 플래그 SF에 따라 데이터 DFL에 기초하여 판독 데이터 RDOUT를 생성할지 여부를 결정한다. 특수 데이터가 16 진수의 #FF 인 예에서, 본 실시예의 특수 데이터 생성 회로(641)는 OR 게이트(OR1)를 포함할 수 있다. OR 게이트(OR1)는 XOR 게이트(XOR3)의 출력 신호를 수신하고, 특수 데이터 플래그 SF에 따라 데이터 DFL에 기초하여 판독 데이터 RDOUT를 생성할지 여부를 결정한다. 특수 데이터 플래그 SF가 1 일 때, 판독 데이터 생성기(640)는 강제적으로 1과 동일한 판독 데이터 RDOUT를 생성한다. 한편, 특수 데이터 플래그 SF가 0 인 경우, 판독 데이터 생성기(640)는 데이터 DFL과 동일한 판독 데이터 RDOUT를 생성하고(데이터 반전 플래그 DFB가 0 인 경우)(데이터 반전 플래그 DFB가 1 일 때) 판독 데이터 RDOUT가 데이터 DFL로 반전된다. 또한, 본 실시예의 회로는 16 진수의 #FF를 예로 들어 설명하지만, 본 발명은 이것에 한정되는 것은 아니다. 상이한 특수 데이터에 기초하여, 당업자는 특수 데이터 플래그 SF에 따라 특수 데이터를 생성하기 위한 원하는 회로를 설계할 수도 있다.
도 10을 참조하면, 도 10은 본 발명의 일 실시예에서 데이터를 기록하는 방법을 도시하는 개략도이다. 도 10은 재설정 절차 RSETP 및 설정 절차 SETP를 포함한다. 도 10의 흐름도에 따르면, 단계 S1001에서, 기입 명령이 수신되고 기입 어드레스 및 기입 데이터가 수신된다. 단계 S1002에서, 기입 어드레스의 현재 데이터 및 재설정 전압 변경 플래그 Flag가 메모리 셀 어레이로부터 판독된다. 일 실시예에서, 재설정 전압 변경 플래그 Flag의 초기 값은 0으로 설정된다. 다른 실시예에서, 우선 순위 선택 플래그 PSB는 재설정 전압 변경 플래그로서 사용될 수 있다.
그 후, 단계 S1003에서, 현재 데이터는 기입 데이터와 비교되어 기입 어드레스에 대응하는 각각의 메모리 셀에 대해 설정 동작 또는 재설정 동작(reset operation)이 수행될 필요가 있는지를 결정한다. 일 실시예에서, 단계 S1003에서 현재 데이터는 기입 데이터 및 반전 기입 데이터와 각각 비교될 수 있고, 기입 어드레스에 대응하는 각각의 메모리 셀에 대해 설정 동작 또는 재설정 동작이 수행될 필요가 있는지가 우선 선택 플래그 PSB에 따라 결정될 수 있다.
다음으로, 재설정 과정 RSETP은 비교 결과에 따라 데이터 1로 변경될 필요가 있는 메모리 셀에 대해 수행된다. 먼저, 단계 S1004에서, 재설정 전압 변경 플래그 Flag가 0인지가 결정된다. 재설정 전압 변경 플래그 Flag가 0 인 경우, 사전 설정된 전압 값의 크기에 따라 재설정 전압을 설정한다(단계 S1006). 그렇지 않으면, 재설정 전압 변경 플래그 Flag가 0이 아닌 경우, 재설정 전압의 전압 값의 크기가 보다 낮은 전압으로 갱신된다(단계 S1005).
그 후, 단계 S1007에서, 비교 결과에 따라 데이터 1로 변경될 필요가 있는 메모리 셀의 제2 부분에 재설정 전압이 인가되어 1 회 또는 복수 회 재설정 동작을 수행하고, 모든 재설정 메모리 셀이 성공적으로 재설정 되었는 지의 여부가 검증된다. 이 실시예에서, 메모리 셀이 성공적으로 재설정 되었는지 여부는 재설정 메모리 셀의 전류 Icell이 사전 설정된 임계 값 Ivfy1보다 작은 지의 여부에 관한 검증에 의해 검증될 수 있다. 단계 S1008에서, 재설정 된 제2 부분의 메모리 셀이 모두 검증을 통과했는지가 결정된다. 상기 결정의 결과가 "예"이면, 상기 방법은 설정 절차 SETP로 진행한다. 그렇지 않으면, 상기 결정의 결과가 "아니오"이면, 단계 S1009는 모든 메모리 셀의 제2 부분이 검증을 통과할 때까지 또는 미리 결정된 재설정 절차가 끝날 때 검증 실패로 결정된 메모리 셀이 여전히 존재할 때까지 단계 S1009가 수행되어 검증에 실패한 메모리 셀에 대해 미리 결정된 재설정 절차가 계속 수행된다.
재설정 절차 RSETP가 종료된 후, 비교 결과에 따라 데이터 0으로 변경될 필요가 있는 메모리 셀의 제1 부분에 대해 설정 절차 SETP가 수행된다. 단계 S1010에서, 비교 결과에 따라 데이터 0으로 변경될 필요가 있는 메모리 셀의 제1 부분에 설정 전압이 인가되어 설정 동작을 수행하고 모든 설정 메모리 셀이 성공적으로 설정되었는지 여부를 결정한다. 이 실시예에서, 메모리 셀이 성공적으로 설정되는지 여부는, 설정된 메모리 셀의 전류 Icell이 사전 설정된 임계 값 Ivfy2 보다 큰지에 관한 검증에 의해 검증될 수 있다. 일 실시예에서, 사전 설정된 임계 값 Ivfy2는 25 μA, 30 μA, 35 μA 또는 임의의 적절한 값일 수 있다.
다음에, 단계 S1011에서, 설정된 모든 메모리 셀의 제1 부분이 검증을 통과했는지가 결정된다. 상기 결정 결과가 "예"이면, 데이터 기록 절차를 종료한다. 그렇지 않으면, 상기 결정 결과가 "아니오"이면, 단계(S1012)가 수행된다.
단계(S1012)에서, 검증을 실패한 메모리 셀에 대해 복구 동작이 수행되고, 검증에 실패한 모든 메모리 셀이 성공적으로 설정되었는 지의 여부가 다시 결정된다. 구체적으로, 검증에 실패한 메모리 셀에 반전 설정 전압(SIRP)을 인가함으로써 복구 동작이 수행될 수 있다. 본 실시예에서, 반전 설정 전압은 설정 전압과 반대 위상의 전압이며, 그의 전압 크기의 절대 값은 재설정 전압의 절대 값의 대략 1/3 내지 3/4이다.
다음으로, 단계 S1013에서, 모든 복구된 메모리 셀이 검증을 통과했는 지가 결정된다. 상기 결정 결과가 "예"이면, 데이터 기록 절차를 종료한다. 그렇지 않은 경우, 상기 결정 결과가 "아니오"이면, 단계(S1014)가 수행된다.
단계 S1014에서, 재설정 전압 변경 플래그 Flag가 1로 갱신되고, 메모리 셀의 모든 제1 부분이 검증을 통과할 때까지 또는 미리 결정된 설정 절차가 끝났을 때 검증에 실패한 것으로 결정된 메모리 셀이 여전이 존재할 대까지 복구 동작을 하지 않는 메모리 셀에 대해 미리 결정된 설정 절차가 수행된다(단계 S1015).
이 실시예에서, 기록 절차 SETP는 재설정 절차 RSETP가 수행된 후에 수행된다. 그러나, 본 발명은 이에 국한되지 않는다. 본 발명에 의해 제공된 데이터를 기록하는 방법에서, 또한 재설정 절차 RSETP는 또한 설정 절차 SETP가 수행된 후에 수행될 수 있다.
요약하자면, 본 발명의 실시예에 따른 저항성 메모리의 데이터 기록 방법에 따르면, 우선 순위 선택 플래그를 사용하여 기입 데이터에 대한 기록 방식을 지시함으로써 데이터를 기록하는 절차에서 실제로 기록되는 메모리 셀의 수를 감소시킴으로써, 전력 소비가 감소될 수 있고 메모리 셀의 사이클링 내구성이 향상될 수 있다.
본 발명의 범위 또는 사상을 벗어나지 않으면 서 본 발명의 구조에 다양한 수정 및 변형이 이루어질 수 있음은 당업자에게 명백 할 것이다. 전술한 측면에서, 본 발명은 본 발명의 수정 및 변형을 포함하며, 첨부된 청구 범위 및 그 등가물의 범위 내에 포함된다.
Claims (27)
- 저항성 메모리의 데이터를 기록하는 방법에 있어서,
기입 데이터를 수신하고 반전 기입 데이터를 생성하는 단계;
복수의 선택된 메모리 셀에서 현재 데이터를 판독하는 단계;
상기 현재 데이터를 상기 기입 데이터 및 상기 반전 기입 데이터와 비교하는 단계;
비교 결과에 따라 최종 데이터를 생성하기 위해 상기 기입 데이터 및 상기 반전 기입 데이터 중 하나를 선택하는 단계; 및
선택된 메모리 셀에 최종 데이터를 기록하는 단계
를 포함하고,
상기 방법은,
상기 기입 데이터가 최종 데이터로 선택될 때 데이터 반전 플래그를 제1 논리 값으로 설정하는 단계; 및
상기 반전 기입 데이터가 상기 최종 데이터로 선택될 때 상기 데이터 반전 플래그를 제2 논리 값으로 선택하는 단계
를 더 포함하고,
상기 현재 데이터와 상기 기입 데이터 및 상기 반전 기입 데이터를 비교하는 단계는,
우선 순위 선택 플래그에 대응하는 모드에 따라 현재 데이터와 기입 데이터 및 반전 기입 데이터를 비교하는 단계
를 포함하는 방법.
- 삭제
- 제1항에 있어서,
상기 기입 데이터가 제1 특수 데이터 또는 제2 특수 데이터 인 경우 또는 상기 저항성 메모리가 삭제 명령을 수신한 경우,
특수 데이터 플래그를 제3 논리 값으로 설정하여 최종 데이터를 생성하는 단계
를 포함하는 방법.
- 제1항에 있어서,
상기 데이터 반전 플래그를 상기 제1 논리 값으로 설정하여 최종 데이터를 생성하고, 상기 기입 데이터가 제1 특수 데이터 인 경우에는 특수 데이터 플래그를 제3 논리 값으로 설정하는 단계; 및
상기 데이터 반전 플래그를 상기 제2 논리 값으로 설정하여 최종 데이터를 생성하고, 상기 기입 데이터가 제2 특수 데이터 인 경우에는 상기 특수 데이터 플래그를 상기 제3 논리 값으로 설정하는 단계
를 포함하는 방법.
- 삭제
- 제1항에 있어서,
상기 우선 순위 선택 플래그에 대응하는 모드에 따라 상기 현재 데이터와 상기 기입 데이터 및 상기 반전 기입 데이터를 비교하는 단계는,
상기 우선 순위 선택 플래그가 제4 논리 값 인 경우, 상기 현재 데이터와 상기 기입 데이터 및 상기 반전 기입 데이터를 비교하는 체인지리스 모드를 선택하는 단계; 및
상기 우선 순위 선택 플래그가 제5 논리 값 인 경우, 상기 현재 데이터와 상기 기입 데이터 및 상기 반전 기입 데이터를 비교하는 리셋리스 모드를 선택하는 단계
를 더 포함하는 방법.
- 제1항에 있어서,
상기 선택된 메모리 셀에 상기 최종 데이터를 기록하는 단계는,
상기 선택된 메모리 셀 중 선택된 메모리 셀의 제1 부분 중 적어도 하나에 대해 재설정 절차를 수행하는 단계를 포함하고,
상기 재설정 절차는,
재설정 전압 수정 플래그에 따라 재설정 전압을 설정하는 단계; 및
상기 재설정 전압에 따라 상기 선택된 메모리 셀 중 선택된 메모리 셀의 제2 부분 중 적어도 하나에 대해 재설정 동작을 수행하는 단계를 포함하고,
상기 재설정 전압 수정 플래그에 따라 상기 재설정 전압을 설정하는 단계는,
상기 재설정 전압 수정 플래그가 제6 논리 값 인 경우, 상기 재설정 전압을 미리 결정된 재설정 전압과 동일하게 만드는 단계; 및
상기 재설정 전압 수정 플래그가 제7 논리 값 인 경우, 상기 재설정 전압을 조정된 재설정 전압과 동일하게 만드는 단계를 포함하고,
상기 미리 결정된 재설정 전압의 전압 절대 값은 상기 조정된 재설정 전압의 전압 절대 값보다 큰
방법.
- 제6항에 있어서,
상기 선택된 메모리 셀에 최종 데이터를 기록하는 단계는,
상기 선택된 메모리 셀 중 선택된 메모리 셀의 제2 부분 중 적어도 하나에 대해 설정 절차를 수행하는 단계를
포함하는 방법.
- 제8항에 있어서,
상기 설정 절차는,
설정 전압에 따라 상기 선택된 메모리 셀의 상기 제2 부분에 설정 동작을 수행하는 단계; 및
상기 설정된 동작이 실패한 경우, 반전 설정 전압에 따라 실패한 상기 선택된 메모리 셀의 상기 제2 부분에 대한 복구 동작을 수행하는 단계
를 포함하고,
상기 설정 전압의 절대 값은 상기 반전 설정 전압의 절대 값보다 큰
방법.
- 제9항에 있어서,
상기 설정 절차는,
검증 결과를 얻기 위해 상기 복구 동작이 수행되는 선택된 메모리 셀의 제1 부분을 검증하는 단계; 및
상기 검증 결과에 따라 우선 순위 선택 플래그를 갱신하는 단계
를 포함하는 방법.
- 제10항에 있어서,
상기 검증 결과가 통과된 경우 상기 우선 순위 선택 플래그를 상기 제4 논리 값으로 설정하는 단계; 및
상기 검증 결과가 실패한 경우 상기 우선 순위 선택 플래그를 상기 제5 논리 값으로 설정하는 단계
를 포함하는 방법.
- 제3항에 있어서,
상기 특수 데이터 플래그가 상기 제3 논리 값 일 경우,
대응하는 판독 데이터를 상기 제1 특수 데이터로 만드는 단계
를 포함하는 방법.
- 제4항에 있어서,
상기 특수 데이터 플래그가 상기 제3 논리 값이고 상기 데이터 반전 플래그가 상기 제1 논리 값 인 경우, 대응하는 판독 데이터를 상기 제1 특수 데이터로 만드는 단계; 및
상기 특수 데이터 플래그가 상기 제3 논리 값이고 상기 데이터 반전 플래그가 상기 제2 논리 값 인 경우, 상기 대응하는 판독 데이터를 상기 제2 특수 데이터로 만드는 단계
를 포함하는 방법.
- 저항성 메모리에 있어서,
메모리 셀 어레이;
상기 메모리 셀 어레이에 결합되고, 및 기입 데이터를 수신하고 반전 기입 데이터를 생성하고, 복수의 선택된 메모리 셀에서 현재 데이터를 판독하고, 기입 데이터 및 반전 기입 데이터 중 하나를 선택하여 최종 데이터를 생성하기 위해 현재 데이터와 기입 데이터 및 반전 기입 데이터를 비교하도록 구성된 제어기; 및
상기 제어기 및 상기 메모리 셀 어레이에 결합된 데이터 변경 회로 - 상기 데이터 변경 회로는 상기 기입 데이터를 상기 최종 데이터로 변경하고 상기 최종 데이터를 상기 선택된 저항성 메모리 셀에 기록하도록 구성되는 - 를 포함하고,
상기 제어기는,
상기 기입 데이터가 최종 데이터로 선택될 경우 데이터 반전 플래그를 제1 논리 값으로 설정하고, 및
상기 반전 기입 데이터가 상기 최종 데이터로 선택될 때 상기 데이터 반전 플래그를 제2 논리 값으로 선택하도록 구성되고,
상기 제어기는,
우선 순위 선택 플래그에 대응하는 모드에 따라
현재 데이터와 기입 데이터 및 반전 기입 데이터를 비교하도록 구성된
저항성 메모리.
- 삭제
- 삭제
- 제14항에 있어서,
상기 제어기는,
상기 우선 순위 선택 플래그를 제3 논리 값 또는 제4 논리 값으로 설정하도록 구성된 우선 순위 선택 플래그 설정 회로
를 포함하는 저항성 메모리.
- 제17항에 있어서,
상기 제어기는,
상기 최종 데이터에 따라 선택된 상기 선택된 메모리 셀 중에서 상기 선택된 메모리 셀의 제1 부분 중 적어도 하나에 대해 재설정 절차를 수행하도록 구성되고,
상기 재설정 절차를 수행할 때, 상기 제어기는,
재설정 전압 변경 플래그에 따라 재설정 전압을 설정하고, 및
상기 재설정 전압에 따라 상기 선택된 메모리 셀의 제1 부분 중 적어도 하나에 대해 재설정 동작을 수행하도록 더 구성되고,
상기 저항성 메모리는,
상기 제어기에 결합되고, 상기 재설정 전압을 제공하도록 구성된 설정/재설정 전압 생성기
를 포함하고,
상기 설정/재설정 전압 생성기는 상기 재설정 전압 변경 플래그가 제5 논리 값 일 경우 상기 재설정 전압을 미리 결정된 재설정 전압과 동일하게 만들고, 및
상기 설정/재설정 전압 생성기는 상기 재설정 전압 변경 플래그가 제6 논리 값 인 경우 상기 재설정 전압을 조정된 재설정 전압과 동일하게 만들고,
상기 재설정 전압의 전압 절대 값은 상기 조정된 재설정 전압의 전압 절대 값보다 큰
저항성 메모리.
- 제17항에 있어서,
상기 제어기는,
상기 최종 데이터에 따라 상기 선택된 메모리 셀 중 상기 선택된 메모리 셀의 제2 부분 중 적어도 하나에 대해 설정 절차를 수행하도록 구성된
저항성 메모리.
- 제19항에 있어서,
상기 설정 절차를 수행하는 경우, 상기 제어기는,
설정 전압에 따라 상기 선택된 메모리 셀의 상기 제2 부분에 설정 동작을 수행하고, 및
상기 설정 동작이 실패한 경우, 반전 설정 전압에 따라 실패한 상기 선택된 메모리 셀의 상기 제2 부분의 복구 동작을 수행하도록 더 구성되고,
상기 설정 전압의 절대 값은 상기 반전 설정 전압의 절대 값보다 큰
저항성 메모리.
- 제20항에 있어서,
상기 제어기는,
검증 결과를 얻기 위해 상기 복구 동작이 수행되는 상기 선택된 메모리 셀의 상기 제2 부분을 검증하고, 및
상기 검증 결과에 따라 우선 순위 선택 플래그를 갱신하도록 구성된
저항성 메모리.
- 제21항에 있어서,
상기 제어기는 상기 검증 결과가 통과될 경우 상기 우선 순위 선택 플래그를 상기 제3 논리 값으로 설정하고,
상기 제어기는 상기 검증 결과가 실패하는 경우 상기 우선 순위 선택 플래그를 상기 제4 논리 값으로 설정하는
저항성 메모리.
- 제21항에 있어서,
상기 메모리 셀 어레이 및 상기 데이터 변경 회로에 연결되고 상기 기입 데이터 및 상기 현재 데이터를 래치 하도록 구성된 데이터 래치; 및
상기 데이터 반전 플래그에 따라 상기 현재 데이터에 대해 반전 실행을 수행하여 판독 데이터를 생성하는 판독 데이터 생성기
를 더 포함하는 저항성 메모리.
- 제14항에 있어서,
상기 제어기는,
상기 기입 데이터가 특수 데이터이거나 상기 저항성 메모리가 삭제 명령을 수신하는 경우,
특수 데이터 플래그를 제7 논리 값으로 설정하여 최종 데이터를 생성하도록 구성된
저항성 메모리.
- 제24항에 있어서,
상기 제어기는,
상기 특수 데이터 플래그가 상기 제7 논리 값이라고 결정하는 경우 판독된 데이터를 상기 특수 데이터로 만들도록 구성된
저항성 메모리.
- 제14항에 있어서,
상기 제어기는,
상기 기입 데이터가 제1 특수 데이터 인 경우, 특수 데이터 플래그를 제7 논리 값으로 설정하고 상기 데이터 반전 플래그를 상기 제1 논리 값으로 설정하여 최종 데이터를 생성하고,
상기 기입 데이터가 제2 특수 데이터 인 경우, 상기 특수 데이터 플래그를 상기 제7 논리 값으로 설정하고 상기 데이터 반전 플래그를 상기 제2 논리 값으로 설정하여 최종 데이터를 생성하도록 구성된
저항성 메모리.
- 제26항에 있어서,
상기 제어기는,
상기 특수 데이터 플래그가 상기 제7 논리 값이고 상기 데이터 반전 플래그가 상기 제1 논리 값으로 결정되는 경우 상기 판독된 데이터를 상기 제1 특수 데이터가 되게 만들고, 및
상기 특수 데이터 플래그가 상기 제7 논리 값이고 상기 데이터 반전 플래그가 상기 제2 논리 값으로 결정되는 경우 상기 판독된 데이터를 상기 제2 특수 데이터가 되게 만들도록 구성된
저항성 메모리.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190086558A KR102139887B1 (ko) | 2019-07-17 | 2019-07-17 | 저항 메모리 장치 및 그 데이터를 기록하는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190086558A KR102139887B1 (ko) | 2019-07-17 | 2019-07-17 | 저항 메모리 장치 및 그 데이터를 기록하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102139887B1 true KR102139887B1 (ko) | 2020-07-31 |
Family
ID=71834800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190086558A KR102139887B1 (ko) | 2019-07-17 | 2019-07-17 | 저항 메모리 장치 및 그 데이터를 기록하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102139887B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100827702B1 (ko) * | 2006-11-01 | 2008-05-07 | 삼성전자주식회사 | 가변저항 반도체 메모리 장치 |
-
2019
- 2019-07-17 KR KR1020190086558A patent/KR102139887B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100827702B1 (ko) * | 2006-11-01 | 2008-05-07 | 삼성전자주식회사 | 가변저항 반도체 메모리 장치 |
Non-Patent Citations (1)
Title |
---|
J. Jung 외, "Energy-Efficient Spin-Transfer Torque RAM Cache Exploiting Additional All-Zero-Data Flags," International Symposium on Quality Electronic Design (ISQED), 2013. 03.* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6606039B2 (ja) | メモリシステムおよび制御方法 | |
US20200042223A1 (en) | System and method for facilitating a high-density storage device with improved performance and endurance | |
US8289771B2 (en) | Data reading method and control circuit and memory controller using the same | |
TWI594256B (zh) | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 | |
US20130185612A1 (en) | Flash memory system and read method of flash memory system | |
TWI514388B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
WO2008004226A2 (en) | Method of error correction in a multi-bit-per-cell flash memory | |
KR20180129249A (ko) | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US11550663B2 (en) | Changing of error correction codes based on the wear of a memory sub-system | |
US20240265979A1 (en) | Selective and Dynamic Deployment of Error Correction Code Techniques in Integrated Circuit Memory Devices | |
US11922041B2 (en) | Threshold voltage bin calibration at memory device power up | |
US10937495B2 (en) | Resistive memory apparatus and method for writing data thereof | |
US7826269B2 (en) | Flash memory device and method for driving the same | |
KR102139887B1 (ko) | 저항 메모리 장치 및 그 데이터를 기록하는 방법 | |
JP7177338B2 (ja) | メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法 | |
JP5039168B2 (ja) | 半導体記憶装置 | |
TWI712037B (zh) | 電阻式記憶體及其資料寫入方法 | |
CN112037833B (zh) | 电阻式存储器及其数据写入方法 | |
JP6893535B2 (ja) | 抵抗メモリ及びそのデータ書込み方法 | |
Han et al. | Bit flip reduction schemes to improve PCM lifetime: A survey | |
KR102247164B1 (ko) | 채널 복호기의 동작과 결합한 플래시 메모리 읽기 방법 및 그 장치 | |
US12062394B2 (en) | Performing data integrity checks to identify defective wordlines | |
US12073866B2 (en) | Two-stage voltage calibration upon power-up of memory device | |
US11675530B2 (en) | Memory controller, storage device and operating method of memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |