KR100551933B1 - 커맨드의 암호화를 가능하게 한 비휘발성 메모리 - Google Patents

커맨드의 암호화를 가능하게 한 비휘발성 메모리 Download PDF

Info

Publication number
KR100551933B1
KR100551933B1 KR1020000025968A KR20000025968A KR100551933B1 KR 100551933 B1 KR100551933 B1 KR 100551933B1 KR 1020000025968 A KR1020000025968 A KR 1020000025968A KR 20000025968 A KR20000025968 A KR 20000025968A KR 100551933 B1 KR100551933 B1 KR 100551933B1
Authority
KR
South Korea
Prior art keywords
command
code
input
encryption
data
Prior art date
Application number
KR1020000025968A
Other languages
English (en)
Other versions
KR20010014914A (ko
Inventor
이노우에마코토
요시다마사노부
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20010014914A publication Critical patent/KR20010014914A/ko
Application granted granted Critical
Publication of KR100551933B1 publication Critical patent/KR100551933B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits

Landscapes

  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 플래시 메모리 등의 비휘발성 메모리에 있어서, 프로그래밍이나 소거 또는 특수 정보의 판독을 위한 커맨드 코드에 대하여, 암호화를 행할 수 있도록 하는 것이다. 이를 위한 바람직한 형태로는 비휘발성 메모리내에 커맨드 코드가 입력되는 입력 버퍼(20, 22)의 후단에 암호 코드를 기억하여 입력된 커맨드 코드를 그 암호 코드에 따라 변환시키는 커맨드 변환 회로(24, 25)를 설치하는 것을 특징으로 한다. 또한, 다른 바람직한 형태로는 커맨드 변환 회로에 의해 변환된 커맨드 코드에 따라 소정의 커맨드 코드를 인식한 후에 그 커맨드 변환 회로는 비활성 상태 또는 비선택 상태가 되는 것을 특징으로 한다. 이것에 의해, 커맨드 코드에 이어서 입력되는 어드레스나 데이터에 대해서는 입력된 어드레스나 데이터를 그대로 내부 회로에 공급할 수 있다.

Description

커맨드의 암호화를 가능하게 한 비휘발성 메모리{NON-VOLATILE MEMORY IN WHICH ENCRYPTION OF COMMANDS CAN BE PERFORMED}
도 1은 본 발명의 실시 형태예에서 비휘발성 메모리의 전체 구성도.
도 2는 커맨드 전환 회로의 구성을 도시한 도면.
도 3은 변환부의 회로도.
도 4는 변환부에서의 변환 테이블을 도시한 도면.
도 5는 커맨드 디코더에 의한 커맨드 인식의 흐름도.
도 6은 암호화 커맨드와 변환후의 통상 커맨드와의 관계를 도시한 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
MC : 셀 매트릭스
20 : 데이터 입출력 버퍼
22 : 어드레스 입력 버퍼
24, 25 : 커맨드 변환 회로
26 : 커맨드 디코더
50 : 변환부
52 : 암호 코드 기억부
본 발명은 플래시 메모리 등의 비휘발성 메모리에 관한 것으로, 특히, 프로그래밍이나 소거 등의 커맨드를 암호화하는 것을 가능하게 한 비휘발성 메모리에 관한 것이다.
플래시 메모리는 전원을 오프하여도 데이터를 유지하고, 고속 액세스가 가능한 반도체 메모리로서 널리 이용된다. 플래시 메모리는 전원에 의존하지 않으므로, 예컨대 전지에 의해 구동되는 휴대 전화나 휴대 정보 단말 등으로 이용되는 경우가 있다.
이러한 플래시 메모리에, 출하시에 특정한 데이터를 기억시켜, 그 휴대 전화나 휴대 정보 단말이 그 기억 데이터에 따라 특정한 기능을 실현할 수 있도록 하는 경우가 있다. 예컨대, 휴대 전화에 설치된 플래시 메모리에 그 전화를 사용할 수 있는 나라 코드를 기억시켜, 외국에서 저렴하게 입수한 휴대 전화가 그 나라에서 이용되는 것을 제한하는 경우가 있다. 그러한 경우에, 플래시 메모리의 정보를 간단히 재기록할 수 있는 것은 휴대 전화 공급자가 시장을 효과적으로 제어할 수 없기 때문에 바람직하지 못하다. 또는, 플래시 메모리에 고유의 식별 코드가 공장 출하시에 기록되고, 그 후 그 식별 코드를 판독하여 소정의 기능을 실현시키는 경우도 생각된다. 이러한 식별 코드는 통상의 판독 커맨드와는 다른 특수한 커맨드를 부여하지 않으면 판독할 수 없다.
플래시 메모리의 사용 형태는 그것이 사용되는 장치나 디바이스의 소정 기능을 실현하기 위한 변수나 특수 코드 등을 기록하고, 비교적 장기간에 걸쳐 그 기록 정보를 이용하는 경우가 적지 않다. 그리고, 플래시 메모리의 경우, 데이터의 기록(프로그램), 소거, 및 식별 코드 등의 특정 정보를 판독하기 위해서는 특수한 커맨드 코드 열을 어드레스 단자와 데이터 단자로부터 입력해야만 한다. 특히, 소거의 경우는 프로그램이나 특정 정보 판독에 비하여 보다 복잡하고 긴 커맨드 코드의 입력이 요건으로 되어 있다. 그리고, 이들 커맨드 코드 열은 플래시 메모리의 공급자나 그것을 장착하는 완성품의 공급자만이 알 수 있는 코드로서, 일반적인 수용자에게는 통상적으로 알려져 있지 않다.
그러나, 일반적인 수용자라도 플래시 메모리의 업계 혹은 메이커로 설정되어 있는 커맨드 코드 열을 알 수 있고, 이러한 커맨드 코드 열을 입수한 허가받지 않은 수용자가 부정하게 플래시 메모리내의 정보를 판독하거나 재기록할 수 있다.
상기의 경우를 예로 들면, 허가받은 수용자가 보다 저렴한 외국에서 휴대 전화를 입수하여 서비스는 우수하지만 휴대 전화가 고가인 나라로 가지고 들어가서 이 휴대 전화의 플래시 메모리내의 국가 코드를 재기록하여 사용할 수 있다. 또한, 플래시 메모리 내부의 특수 코드를 부정하게 판독하여 그것에 대응하여 기능 프로그램을 개조하는 것 등도 생각할 수 있다.
그러므로, 본 발명의 목적은 내부 데이터의 재기록이나 판독을 어렵게 하는 비휘발성 메모리 또는 플래시 메모리를 제공하는 데에 있다.
또한, 본 발명의 목적은 내부 데이터의 재기록이나 판독에 필요한 커맨드 코드 열을 암호화할 수 있는 비휘발성 메모리 또는 플래시 메모리를 제공하는 데에 있다.
상기 목적을 달성하기 위해서, 본 발명의 일 양상에 따르면, 플래시 메모리 등의 비휘발성 메모리에 있어서, 프로그래밍이나 소거 또는 특수 정보를 판독하기 위한 커맨드 코드는 암호화될 수 있다. 그 바람직한 형태로는 비휘발성 메모리내에, 커맨드 코드가 입력되는 입력 버퍼의 후단에 암호 코드를 기억하여 입력된 커맨드 코드를 그 암호 코드에 따라 변환시키는 커맨드 변환 회로를 설치하는 것을 특징으로 한다. 또한, 다른 바람직한 형태로는 커맨드 변환 회로에 의해 변환된 커맨드 코드에 따라 소정의 커맨드 코드를 인식한 후에는, 그 커맨드 변환 회로는 비활성 상태 또는 비선택 상태가 되는 것을 특징으로 한다. 이것에 의해, 커맨드 코드에 이어서 입력되는 어드레스나 데이터에 대해서는 입력된 어드레스나 데이터를 그대로 내부 회로에 공급할 수 있다.
상기 목적을 달성하기 위해서, 본 발명의 다른 측면은 프로그래밍이나 소거 또는 특수 정보를 판독하기 위한 커맨드 코드의 입력에 응답하여 이들에 대응하는 소정의 내부 동작을 행하는 비휘발성 메모리에 있어서,
상기 커맨드 코드가 공급되는 복수의 입력 단자와;
상기 입력 단자에 대응하여 설치되고, 암호 데이터를 기억하며, 상기 입력 단자에 공급된 상기 커맨드 코드를 상기 암호 데이터에 따라 변환시키는 커맨드 변환 회로와;
상기 커맨드 변환 회로에 의해 변환된 변환 커맨드 코드를 디코드하고, 대응하는 커맨드의 공급을 인식하는 커맨드 디코더를 갖는 것을 특징으로 한다.
상기 발명의 적합한 형태에서 입력 단자에는 커맨드 코드에 이어서 소정의 내부 동작을 위한 어드레스 신호 또는 데이터 신호가 공급되고, 커맨드 변환 회로는 커맨드 디코더가 커맨드 코드의 공급을 인식한 후에 암호 데이터에 따르는 변환을 행하지 않는 것을 특징으로 한다.
또한, 상기 발명의 다른 형태에서 커맨드 변환 회로는 상기 암호 코드를 기록하는 비휘발성 암호 코드 기억 트랜지스터를 갖는 것을 특징으로 한다.
이하, 도면을 참조하여 본 발명의 실시 형태예를 설명한다. 그러나, 이러한 실시 형태예가 본 발명의 기술적 범위를 한정하는 것은 아니다.
도 1은 본 실시 형태예에 있어서의 비휘발성 메모리의 전체 구성도이다. 셀 매트릭스(MC)내에는 워드선(WL)과 비트선(BL)과의 교차 위치에 플로팅 게이트를 갖는 메모리 셀 트랜지스터가 설치된다. 비트선(BL)은 Y 디코더(12)로부터의 칼럼 선택 신호에 의해 도통하는 Y 게이트(10)를 통해 데이터 래치 회로(18)에 접속된다. 또한, 워드선(WL)은 X 디코더(14)에 의해 선택되어 소정의 전압으로 구동된다. 또한, 메모리 셀 트랜지스터의 소스 단자는 소스선(SL)에 접속되어 소정의 전압으로 제어된다.
데이터 래치 회로(18)는 입출력 버퍼(20)에 접속되어 데이터 입출력 단자(D0~Dj)로부터 공급되는 데이터 입력을 래치하고, 또한, 메모리 셀로부터 판독되는 데이터 출력을 래치한다.
어드레스 버퍼(22)는 공급되는 어드레스 신호(A0~Ak)를 입력하고, 어드레스 래치 회로(16)에 그 어드레스 신호를 공급한다. 어드레스 래치 회로(16)에 래치된 어드레스 신호는 X 디코더(14) 및 Y 디코더(12)에 공급되어 디코드된다.
비휘발성 메모리의 하나인 플래시 메모리는 데이터의 프로그래밍이나 소거를 외부로부터 공급되는 커맨드 코드 열에 따라 내부에서 실행한다. 그 때문에, 메모리는 커맨드 디코더(26)를 갖는다. 커맨드 디코더(26)에는 데이터 입출력 단자(D0~Dj) 및 어드레스 입력 단자(A0~Ak)로부터 공급되는 일련의 커맨드 코드를 디코드하여 소정의 커맨드를 응답(인식)한다.
그리고, 예컨대 프로그램 커맨드(PGMS), 소거 커맨드(C8), 오토 셀렉트 커맨드(AS)가 인식되고, 이들에 대응하는 제어 신호를 내부 회로에 공급한다. 또한, 소거 커맨드(C8)를 인식한 후에는 칩의 전체 내용을 소거하는 칩 소거(ERS), 또는 메모리 셀 매트릭스내의 소정의 섹터 영역을 소거하는 섹터 소거 커맨드(SERS) 중 어느 하나를 후속의 커맨드 코드 열로부터 인식하여 대응하는 제어 신호를 내부 회로에 공급한다.
커맨드 디코더(26)에는 그 이외에 리셋 신호(RESET), 기록 인에이블 신호(WE) 및, 칩 인에이블 신호(CE) 등도 부여된다.
프로그램 제어 신호(PGMS), 칩 소거 제어 신호(ERS) 및 섹터 소거 제어 신호(SERS)는 프로그램 소거 회로(28)에 공급되고, 메모리 셀 트랜지스터로의 프로그램 또는 소거를 위해 워드선(WL), 비트선(BL), 소스선(SL)이 소정의 전압 또는 소정의 상태로 제어된다.
또한, 오토 셀렉트 영역(11)은, 예컨대 제조 ID나 제조 회사 ID 등의 특수한 정보가 기록되는 영역으로서, 오토 셀렉트 커맨드(AS)에 의해 그 영역(11)의 데이터가 판독된다.
본 실시 형태예의 비휘발성 메모리는 커맨드 코드가 입력되는 입력 버퍼〔데이터 입출력 버퍼(20) 및 어드레스 버퍼(22)〕의 후단에 암호 코드를 기억하여 입력된 커맨드 코드를 그 암호 코드에 따라 변환시키는 커맨드 변환 회로(24, 25)를 갖는다. 이 커맨드 변환 회로(24, 25)내에는 암호 코드를 기억하는 암호 코드 기억부를 가지며, 플래시 메모리를 내장하는 휴대 전화 등을 제조하는 회사가 소정의 암호 코드를 기록할 수 있다. 그리고, 커맨드 변환 회로(24, 25)는 그 기록된 암호 코드에 따라 공급되는 커맨드 코드를 커맨드 디코더가 해독할 수 있는 통상의 커맨드 코드로 변환한다.
따라서, 암호 코드를 알고 있는 사람 이외에는 암호화된 커맨드 코드를 알 수 없고, 일반 수용자가 프로그램이나 소거 등의 내부 정보를 변경하기 위해서 필요한 커맨드 코드를 부여하는 것은 불가능하며, 정보를 불법으로 변경하는 것을 어렵게 한다. 또한, 소정 영역의 정보를 판독하는 오토 셀렉트의 커맨드 코드도 암호화할 수 있고, 이 영역의 정보를 부정하게 판독하는 것이 곤란하게 된다.
도 2는 커맨드 변환 회로의 구성을 도시한 도면이다. 도 2에는 어드레스 버퍼(22), 데이터 입력 버퍼(20) 및 커맨드 디코더(26), 커맨드 변환 회로(24, 25)가 함께 도시되어 있다. 어드레스 단자(A0~Ak)와 데이터 입출력 단자(D0~Dj)로부터 입력되는 커맨드 코드 신호는 각각 어드레스 버퍼(22) 및 데이터 입력 버퍼(20)에 의해 내부로 전달된다. 그리고, 전달된 커맨드 코드 신호는 커맨드 변환 회로(24, 25)를 경유하여 커맨드 디코더(26)로 공급된다. 또한, 범용 어드레스 신호는 어드레스 래치 회로(16)에 공급되고, 범용 데이터 입력 신호는 데이터 래치 회로(18)에 공급된다.
커맨드 변환 회로(24, 25)는 어드레스 단자(A0~Ak) 및 데이터 입출력 단자(D0~Dj) 각각에 대하여 변환부(50)와 전환부(40)를 갖는다. 변환부(50)내에는 암호 코드가 기억되고, 입력된 커맨드 코드 신호가 그 암호 코드에 따라 변환된다. 또한, 전환부(40)는 전환 신호(Z, ZB)에 의해, 변환부(50)에서 암호 코드에 따라 변환된 신호 또는 입력된 상태의 신호 중 어느 하나로 전환한다.
전환 신호 발생부(30)는 상기 전환 신호(Z, ZB)를 생성한다. 전환 신호(ZB)는 전환 신호(Z)의 반전 신호로서, H 레벨일 때에 변환된 신호를 유효하게 하고, L 레벨일 때에 입력된 신호를 유효하게 한다. 전환 신호 발생부(30)는 NOR 게이트(31)와, 인버터 및 NOR 게이트로 구성된 래치 회로(32)와 인버터(33)에 의해 구성된다. NOR 게이트(31)에는 오토 셀렉트 신호(AS), 프로그램 신호(PGMS), 소거 응답 신호(C8)가 입력되어 어느쪽 신호가 H 레벨이 되어도 NOR 게이트(31)의 출력은 L 레벨이 되고, 전환 신호(Z)를 H 레벨로 하며, 반전 신호(ZB)를 L 레벨로 한다. 또한, 리셋 신호(RESET)의 H 레벨에 의해, 전환 신호(Z)가 L 레벨이 되고, 반전 신호(ZB)가 H 레벨이 된다.
리셋 신호(RESET)의 H 레벨에 의해 전환 신호(Z)가 L 레벨이 되고, 그 반전 신호(ZB)가 H 레벨이 되며, 이것에 따라 변환부(50)에서 암호 코드에 의해 변환된 신호가 NAND 게이트(42)를 통과하여 커맨드 디코더(26)에 공급된다. 또한, 오토 셀렉트 신호(AS), 프로그램 신호(PGMS), 소거 응답 신호(C8) 중 어느 하나의 H 레벨에 의해, 전환 신호(Z)가 H 레벨이 되고, 그 반전 신호(ZB)가 L 레벨이 되며, NAND 게이트(42)는 변환부(50)에서의 변환 신호의 출력을 금지시키고, NAND 게이트(41)는 입력된 신호의 출력을 허가한다.
따라서, 커맨드 변환 회로(24, 25)는 후술하는 바와 같이, 리셋 신호(RSET)에 응답하여 입력된 커맨드 코드 신호를 암호 코드에 따른 변환 처리를 행한다. 그리고, 커맨드 디코더(26)가 일단, 오토 셀렉트 커맨드(AS), 프로그램 커맨드(PGMS) 또는 소거 커맨드(C8)를 인식하면, 전환 신호(Z, ZB)의 상태가 반전되고, 커맨드 변환 회로(24, 25)는 상기 변환 처리를 행하지 않고, 공급된 어드레스 신호와 데이터 신호를 그대로 커맨드 디코더 또는 어드레스 래치 회로 또는 데이터 래치 회로에 공급한다.
도 3은 변환부의 회로도이다. 또한, 도 4는 그 변환부에서의 변환 테이블을 도시한 도면이다. 변환부(50)는 암호 코드 기억부(52)와, 암호 코드 기록 회로(57) 및, ENOR 게이트(56)를 갖는다. 암호 코드 기억부(52)내에는 플로팅 게이트를 갖는 기억 트랜지스터(54)와 전원(Vcc)에 접속된 부하 저항(53)을 가지며, 기억 트랜지스터(54)에 전자를 주입함으로써, 암호 코드의 기억이 행해진다.
암호 코드 기록 회로(57)는 입력단(IN)에 접속된다. 예컨대 입력단(IN)에 소정의 전위가 인가되었을 때에 암호 코드 기억 트랜지스터(54)로의 프로그램 상태가 되어 트랜지스터(54)의 컨트롤 게이트에 접속되는 단자(S1)에, 예컨대 10 V를 인가하고, 트랜지스터(54)의 드레인 노드(N1)에는 예컨대 5V를 인가한다. 이것에 의해 트랜지스터(54)의 플로팅 게이트에 전자가 주입되어 그 임계치 전압이 높아진다.
암호 코드 기억부(52)의 기억 트랜지스터(54)는 초기 상태에서는 전자가 플로팅 게이트에 주입되지 않는 상태, 즉 임계치 전압이 낮은 상태이다. 이 상태에서는, 도 4에 도시된 바와 같이, 노드(N1)가 L 레벨, 인버터(55)의 출력(E1)은 H 레벨(논리 1)이 된다. 따라서, ENOR 게이트(56)는 입력 신호(IN)를 반전하지 않고, 그대로 출력한다.
암호 코드 기억부(52)의 기억 트랜지스터(54)는 프로그램을 행함으로써 암호 코드가 기억된다. 그 결과, 기억 트랜지스터(54)의 임계치 전압이 높아지고, 그 드레인 노드(N1)는 H 레벨, 인버터(55)의 출력(E1)은 L 레벨(논리 O)이 된다. 따라서, ENOR 게이트(56)는 입력 신호(IN)를 반전하여 출력한다.
상기한 바와 같이, 커맨드 변환 회로(24, 25)내의 변환부(50)에 암호 코드를 기록하면(프로그램), 그것에 대응하는 어드레스 단자 또는 데이터 입력 단자에 입력되는 커맨드 코드 신호가 반전된다. 암호 코드가 기록되지 않는 경우는, 그것에 대응하는 어드레스 단자 또는 데이터 입력 단자에 입력되는 커맨드 코드 신호의 반전은 되지 않는다. 그 결과, 암호 코드에 따라 입력된 커맨드 코드 신호가 변환되어 커맨드 디코더(26)에 공급된다. 따라서, 암호 코드를 입력한 사람 이외에는 암호화된 커맨드 코드를 입력할 수 없고, 일반 수용자가 프로그램이나 소거의 커맨드 코드를 알 수 있어도 암호 코드를 모르는 한, 내부 정보를 부정하게 재기록하거나 오토 셀렉트 영역의 정보를 부정하게 판독하는 것은 어렵다. 또한, 각 플래시 메모리에 다른 암호 코드를 기록함으로써, 대량의 플래시 메모리로의 부정한 재기록 또는 판독을 곤란하게 할 수 있다.
도 5는 커맨드 디코더(26)에 의한 커맨드 인식의 흐름도이다. 도 5의 커맨드 인식의 플로우를 커맨드 변환 회로의 동작과 함께 설명하기로 한다. 커맨드 코드는 일례로서, 12개의 어드레스 단자와 8개의 데이터 입력 단자로부터, 각각 12 비트와 8 비트의 신호가 공급되는 것으로 한다. 그리고, 흐름도에는 이 커맨드 코드가 16진법으로 표시된다. 예컨대, 스텝 S2에서는 커맨드 코드 「555AA」의 입력이 행해지지만, 12 비트의 어드레스 단자로부터 「555」가 입력되고, 8 비트의 데이터 입력 단자로부터 「AA」가 입력된다.
도 5에 도시된 바와 같이, 최초로 리셋 신호(RESET)가 입력된다. 이 리셋 신호(RESET)에 의해, 도 2에 도시된 래치 회로(32)의 NOR 게이트의 출력이 L 레벨이 되고, 전환 신호(Z)는 L 레벨, 그 반전 전환 신호(ZB)는 H 레벨이 되며, 커맨드 변환 회로(24, 25)는 커맨드 코드를 암호 코드에 따라 변환시키는 모드가 된다.
도 5의 예에서는 오토 셀렉트 커맨드(AS)의 인식은 커맨드 디코더(26)가 커맨드 코드로서 「555AA」「2AA55」「55590」을 연속해서 공급받았을 때에 행해진다(S2, S3, S4). 오토 셀렉트 커맨드(AS)가 인식되면(S5), 오토 셀렉트 영역(11)의 기억 정보가 판독된다(S6).
이 때, 커맨드 변환 회로(24, 25)는 입력되는 커맨드 코드를 암호 코드에 따라 반전하여 변환한다. 따라서, 외부로부터 암호 코드에 따른 암호화된 오토 셀렉트의 커맨드 코드가 공급되면, 커맨드 변환 회로(24, 25)에 의해 변환되고, 상기 통상의 커맨드 코드가 커맨드 디코더(26)에 공급된다. 커맨드 디코더(26)가 오토 셀렉트를 인식하면 오토 셀렉트 신호(AS)가 H 레벨이 되고, 커맨드 변환 회로(24, 25)내의 래치 회로(32)의 상태를 반전하며, 그 후의 암호 코드에 따른 변환 처리는 행해지지 않는다.
다음에, 프로그램 커맨드(PGMS)의 인식은 커맨드 디코더(26)가 커맨드 코드로서 「555AA」「2AA55」「555A0」을 연속해서 공급받았을 때에(S2, S3, S7) 행해진다. 이 경우도, 외부로부터는 암호 코드에 따라 암호화된 커맨드 코드가 공급되고, 커맨드 변환 회로(24, 25)로써 변환되어 상기 3개의 커맨드 코드가 연속해서 커맨드 디코더(26)에 공급된다.
커맨드 디코더(26)가 프로그램 커맨드를 인식하면(S8), 커맨드 변환 회로(24, 25)는 변환 모드가 해소되고, 그 후에 입력되는 프로그램을 위한 어드레스 신호나 데이터 신호는 암호 코드에 따라 변환되지 않고, 그대로 어드레스 래치 회로(16)나 데이터 래치 회로(18)로 공급된다(S9). 이것에 의해, 프로그램에 필요한 어드레스 신호와 데이터 신호는 암호화 코드를 신경 쓰지 않고, 그대로 입력할 수 있다. 그 후, 프로그램 소거 회로(28)에 의해, 소정의 어드레스의 메모리 셀에 대하여 프로그램이 행해진다(S10).
다음에, 커맨드 디코더(26)가 커맨드 코드로서 「555AA」「2AA55」「55580」을 연속해서 공급받으면(S2, S3, S11), 소거 커맨드(C8)를 인식한다(S12). 소거에는 칩 전체를 소거하는 칩 소거와, 칩내의 섹터 단위로 소거하는 섹터 소거가 있다. 그러나, 소거 동작은 기억 데이터의 소멸을 의미하기 때문에, 특별한 긴 커맨드 코드의 입력이 요구되고 있다. 따라서, 상기 소거 커맨드(C8)의 입력에 이어서 3회의 커맨드 코드의 입력이 더 요구된다.
소거 커맨드(C8)가 커맨드 디코더(26)에 의해 인식되면, 전환 신호 발생부(30)내의 래치 회로(32)의 상태가 반전되며, 커맨드 변환 회로(24, 25)의 암호 코드에 따른 변환 동작은 금지된다.
계속해서, 커맨드 디코더(26)가 커맨드 코드로서 「555AA」「2AA55」「55510」을 연속해서 공급받으면(S13, S14, S15), 칩 소거(ERS)가 인식된다(S16). 그것에 응답하여 칩내의 모든 메모리 트랜지스터로의 소거가 행해진다(S17). 이 때의 커맨드 코드는 외부로부터의 코드가 그대로 커맨드 디코더(26)에 공급된다. 또한, 칩 소거 동작시에 그 후의 어드레스의 공급은 불필요하다.
또한, 소거 커맨드(C8)의 인식 후에 커맨드 디코더(26)가 커맨드 코드로서 「555AA」「2AA55」 및 「데이터 30」을 연속해서 공급받으면(S13, S14, S18), 섹터 소거 커맨드(SERS)가 인식된다(S19). 이때의 커맨드 코드도 외부로부터의 코드가 그대로 커맨드 디코더(26)에 공급된다. 또한, 그 후의 어드레스 신호나 데이터 신호에 대해서도 암호 코드에 의한 변환은 행해지지 않는다.
섹터 소거(SERS)가 인식되면(S19), 소거 대상의 섹터 어드레스가 입력되고(S20), 그 섹터의 소거가 실행된다(S21). 섹터 어드레스 신호는 암호 코드에 의해 암호화될 필요는 없다.
도 6은 암호화 커맨드와 변환후의 통상 커맨드의 관계를 도시한 도면이다. 도 6의 (A)는 프로그램의 경우의 통상의 커맨드 시퀀스를 나타낸다. 도 5에서 설명한 바와 같이, 프로그램 커맨드는 커맨드 코드로서 「555AA」「2AA55」「555A0」가 연속해서 공급되었을 때에 인식된다. 즉, 2진법으로 나타내면, 도 6에 도시된 바와 같이, 어드레스 단자(A0~Ak)와 데이터 입력 단자(D0~Dj)에 각각 「0101 0101 0101」「1010 1010」,「0010 1010 1010」「0101 0101」, 「0101 0101 0101」「1010 0000」이 연속해서 공급되면, 프로그램 커맨드가 인식된다. 그 후, 프로그램 어드레스(PA)와 프로그램 데이터(PD)가 어드레스 단자와 데이터 입력 단자에 공급된다.
어드레스 측에서 암호 코드 (1111 1011 1101)가, 데이터측에서 암호 코드 (1111 0011)가 암호 코드 기억부(52)의 기억 트랜지스터에 프로그래밍되어 있는 것으로 가정한다. 즉, 어드레스 측에서 상위로부터 6번째 비트와 11번째 비트의 기억 트랜지스터가 프로그램(데이터 0)되고, 데이터측에서 상위로부터 5, 6번째 비트의 기억 트랜지스터가 프로그램(데이터 0)되어 있는 것으로 한다.
도 6의 (B)는 상기 암호 코드에 대한 암호화된 커맨드 시퀀스를 나타낸다. 상기 암호 코드에서는, 어드레스측에서 상위로부터 6번째 비트와 11번째 비트가 프로그램되어 있기 때문에, 암호화 커맨드 코드로서는, 그 비트의 신호는 반전될 필요가 있다. 마찬가지로, 데이터측에서 상위로부터 5번째, 6번째 비트가 프로그램되어 있기 때문에, 암호화 커맨드 코드로서, 그 비트의 신호는 반전될 필요가 있다.
즉, 도 6의 (B)에 도시된 바와 같이, 암호화 커맨드는 어드레스 단자(A0~Ak)와 데이터 입력 단자(D0~Dj)에서 각각 「0101 0001 0111」「10100110」, 「0010 1110 1000」「01011001」, 「0101 0001 0111」「10101100」이다. 이들 암호화된 커맨드 코드가 연속해서 공급되면, 커맨드 변환 회로(24, 25)에서는, 어드레스측에서 (1111 1011 1101), 데이터측에서 (1111 0011)의 암호 코드에 의해 상기 공급된 커맨드 코드를 변환하고, 도 6의 (C)에 도시된 바와 같이, 통상의 커맨드 코드(도 6의 (A))와 동일한 커맨드 코드로 변환된다.
또한, 암호화된 커맨드 코드를 입력하는 경우에도, 프로그램 커맨드가 인식된 후에는 커맨드 변환 회로의 변환 기능이 리셋되기 때문에, 그 후의 프로그램 어드레스(PA)와 프로그램 데이터(PD)는 암호화되지 않는 통상의 어드레스와 데이터를 부여할 수 있다.
이상과 같이, 본 실시 형태예에 따르면, 암호 코드는 커맨드 변환 회로에 기억되기 때문에, 메모리 내부 데이터의 변경을 수반하는 프로그램 커맨드나 소거 커맨드를 임의의 암호 코드로 암호화할 수 있다. 따라서, 암호 코드를 기억한 사람 이외에는 그 후의 데이터의 변경을 행할 수 없다. 또한, 오토 셀렉트 커맨드에 대해서도 동일한 암호 코드를 기억함으로써, 오토 셀렉트 영역의 데이터의 판독도 암호 코드를 아는 사람 이외에는 행할 수 없게 된다.
본 발명의 보호 범위는 상기 상술된 실시 형태예에 한정되지 않고, 특허청구범위에 기재된 발명과 그 등가물에까지 미치는 것이다.
상기 설명된 바와 같이, 본 발명에 따르면, 비휘발성 메모리 내부의 데이터를 부정하게 변경하거나 부정하게 판독하는 것이 곤란하게 된다.

Claims (3)

  1. 커맨드 코드의 입력에 응답하여 이들에 대응하는 소정의 내부 동작을 행하는 비휘발성 메모리에 있어서,
    상기 커맨드 코드가 공급되는 복수의 입력 단자와;
    상기 입력 단자에 대응하여 설치되고, 암호 데이터를 기억하며, 상기 입력 단자에 공급된 상기 커맨드 코드를 상기 암호 데이터에 따라 변환시키는 커맨드 변환 회로와;
    상기 커맨드 변환 회로에 의해 변환된 변환 커맨드 코드를 디코드하고, 대응하는 커맨드의 공급을 인식하는 커맨드 디코더를 포함하는 것을 특징으로 하는 비휘발성 메모리.
  2. 제1항에 있어서, 상기 입력 단자에는 상기 커맨드 코드에 이어서 상기 소정의 내부 동작을 위한 어드레스 신호 또는 데이터 신호가 공급되고,
    상기 커맨드 변환 회로는 상기 커맨드 디코더가 상기 커맨드 코드의 공급을 인식한 후에는 상기 암호 데이터에 따르는 변환을 행하지 않는 것인 비휘발성 메모리.
  3. 제1항 또는 제2항에 있어서, 상기 커맨드 변환 회로는 상기 암호 코드를 기록하는 비휘발성의 암호 코드 기억 트랜지스터를 포함하는 것인 비휘발성 메모리.
KR1020000025968A 1999-07-23 2000-05-16 커맨드의 암호화를 가능하게 한 비휘발성 메모리 KR100551933B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP20978799A JP3892994B2 (ja) 1999-07-23 1999-07-23 コマンドの暗号化を可能にした不揮発性メモリ
JP99-209787 1999-07-23

Publications (2)

Publication Number Publication Date
KR20010014914A KR20010014914A (ko) 2001-02-26
KR100551933B1 true KR100551933B1 (ko) 2006-02-16

Family

ID=16578600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000025968A KR100551933B1 (ko) 1999-07-23 2000-05-16 커맨드의 암호화를 가능하게 한 비휘발성 메모리

Country Status (3)

Country Link
JP (1) JP3892994B2 (ko)
KR (1) KR100551933B1 (ko)
TW (1) TW526496B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7770027B2 (en) 2004-11-15 2010-08-03 Nintendo Co., Ltd. Semiconductor memory device
US8015416B2 (en) 2004-11-19 2011-09-06 Megachips Corporation Memory information protection system and methods
US11264063B2 (en) 2019-08-21 2022-03-01 Macronix International Co., Ltd. Memory device having security command decoder and security logic circuitry performing encryption/decryption commands from a requesting host
US11960769B2 (en) 2022-02-14 2024-04-16 Macronix International Co., Ltd. High performance secure read in secure memory providing a continuous output of encrypted information and specific context

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6175984A (ja) * 1984-09-22 1986-04-18 Hitachi Maxell Ltd Icカ−ド
JPH06102957A (ja) * 1992-09-17 1994-04-15 Toshiba Corp ポータブルコンピュータ
KR970049601A (ko) * 1995-12-26 1997-07-29 김광호 메모리 데이터 암호화 기능을 구비한 마이컴
JPH10301855A (ja) * 1997-02-27 1998-11-13 Seiko Epson Corp 半導体装置及び電子機器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6175984A (ja) * 1984-09-22 1986-04-18 Hitachi Maxell Ltd Icカ−ド
JPH06102957A (ja) * 1992-09-17 1994-04-15 Toshiba Corp ポータブルコンピュータ
KR970049601A (ko) * 1995-12-26 1997-07-29 김광호 메모리 데이터 암호화 기능을 구비한 마이컴
JPH10301855A (ja) * 1997-02-27 1998-11-13 Seiko Epson Corp 半導体装置及び電子機器

Also Published As

Publication number Publication date
TW526496B (en) 2003-04-01
JP2001035171A (ja) 2001-02-09
KR20010014914A (ko) 2001-02-26
JP3892994B2 (ja) 2007-03-14

Similar Documents

Publication Publication Date Title
US6230244B1 (en) Memory device with read access controlled by code
US6724682B2 (en) Nonvolatile semiconductor memory device having selective multiple-speed operation mode
KR930014616A (ko) 불휘발성 반도체 기억장치 및 이 불휘발성 반도체 기억장치를 이용한 기억시스템
KR20010029857A (ko) 비휘발성 반도체 메모리 장치
JPH11176178A (ja) 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JP2006031920A (ja) 不揮発性メモリ装置及びそれのプログラム方法
KR100568003B1 (ko) 부정 복사를 방지한 비휘발성 반도체 메모리
JP2002329396A (ja) バンク構成を変更可能なフラッシュメモリ
US7565477B2 (en) Semiconductor device and method of controlling the same
KR100551933B1 (ko) 커맨드의 암호화를 가능하게 한 비휘발성 메모리
KR100610490B1 (ko) Eeprom 셀 및 eeprom 블록
US6215717B1 (en) Semiconductor memory device for reducing a time needed for performing a protecting operation
US6597602B2 (en) Semiconductor memory device
JP4010513B2 (ja) 不揮発性半導体記憶装置
JP4064703B2 (ja) 半導体記憶装置
JPS63165934A (ja) 消去及び再書き込み可能なrom用保護装置
US6115293A (en) Non-volatile semiconductor memory device
KR100368315B1 (ko) 플래시 메모리의 어드레스 버퍼
US6842371B2 (en) Permanent master block lock in a memory device
US7159124B2 (en) Non-volatile semiconductor memory that prevents unauthorized reading
US6845040B2 (en) Nonvolatile memory
JP2002108716A (ja) 不揮発性半導体記憶装置及びその制御方法
JP4547490B2 (ja) 不揮発性記憶装置およびその制御方法
KR100206865B1 (ko) 리던던시 어드레스 저장회로
KR100905640B1 (ko) 플래쉬 메모리의 데이터 보호 회로

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150127

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee