KR20090014828A - 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법 - Google Patents

에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법 Download PDF

Info

Publication number
KR20090014828A
KR20090014828A KR1020070079103A KR20070079103A KR20090014828A KR 20090014828 A KR20090014828 A KR 20090014828A KR 1020070079103 A KR1020070079103 A KR 1020070079103A KR 20070079103 A KR20070079103 A KR 20070079103A KR 20090014828 A KR20090014828 A KR 20090014828A
Authority
KR
South Korea
Prior art keywords
error correction
correction code
flash memory
encrypted
memory system
Prior art date
Application number
KR1020070079103A
Other languages
English (en)
Inventor
최성업
이윤태
황성만
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070079103A priority Critical patent/KR20090014828A/ko
Priority to US12/187,427 priority patent/US8171378B2/en
Publication of KR20090014828A publication Critical patent/KR20090014828A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 멀티비트 데이터를 각각 저장하는 메모리 셀을 갖는 플래시 메모리 시스템의 암호화 방법에 관한 것이다.
본 발명에 따른 플래시 메모리 시스템은 플래시 메모리; 및 상기 플래시 메모리를 제어하는 메모리 컨트롤러를 포함하되, 상기 플래시 메모리는 메인 영역과 상기 메인 영역의 제1 에러 정정 코드를 저장하는 스페어 영역을 포함하고, 상기 메모리 컨트롤러는 상기 제1 에러 정정 코드를 암호화한다.

Description

에러 정정 코드를 암호화하는 플래시 메모리 시스템 및 플래시 메모리 시스템의 암호화 방법{FLASH MEMORY SYSTEM ENCRYPTING ERROR CORRECTION CODE AND ENCRYPTION METHOD OF FLASH MEMORY SYSTEM}
본 발명은 플래시 메모리 시스템에 관한 것으로, 좀 더 구체적으로는 멀티비트 데이터를 각각 저장하는 메모리 셀을 갖는 플래시 메모리 시스템의 암호화 방법에 관한 것이다.
일반적인 플래시 메모리의 어레이(Array)는 데이터를 저장하는 메인 영역(Main Area)과 스페어 영역(Spare Area)을 포함한다. 스페어 영역은 데이터에 대한 에러 정정 코드(ECC;Error Correction Code), 및 플래시 변환 레이어(FTL:Flash Translation Layer) 등을 포함한다. 예를 들면, 플래시 메모리의 한 페이지(page)에 대한 메인 영역이 512 Byte인 경우 스페어 영역은 16 Byte이다.
플래시 변환 레이어는 쓰기 연산(Write operation) 시에 파일시스템이 생성한 논리주소를 플래시 메모리 상의 이미 삭제연산을 수행한 영역에 대한 물리주소로 변환하는 역할을 수행한다.
에러 검출 및 정정 기술들은 다양한 원인들로 인해 손상되는 데이터의 효율 적인 복구를 제공한다. 예를 들면, 메모리에 데이터를 저장하는 과정에서 다양한 원인들로 인해서 데이터가 손상될 수 있고, 소오스에서 목적지로 데이터가 전송되는 데이터 전송 채널의 불안(perturbations)에 의해서 데이터가 손상될 수 있다.
손상된 데이터를 검출하고 정정하기 위한 다양한 방법들이 제안되고 있다. 잘 알려진 에러 검출 기술들에는 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), BCH(Bose-Chaudhuri-Hocquenghem) 코드, CRC(Cyclic Redundancy Code) 코드 등이 있다. 이러한 코드들을 이용하여 손상된 데이터를 검출하고 정정하는 것이 가능하다.
불휘발성 메모리 장치가 사용되는 대부분의 응용 분야에 있어서, 데이터는 에러 정정 코드(error correcting code: ECC)라 불리는 값 (이하, ECC 라 칭함)과 함께 플래시 메모리 장치에 저장된다. ECC 데이터는 플래시 메모리 장치의 읽기 동작시 발생하는 에러를 정정하기 위한 것이다. ECC 데이터를 이용하여 정정 가능한 비트 에러 수는 제한되어 있다. 읽기 동작시 생기는 비트 에러는 잘 알려진 블록 대체(block replacement)와 같은 별도의 구제 과정없이 에러 검출 및 정정 기술을 통해 정정될 수 있다.
멀티 비트 데이터를 각각 저장하는 메모리 셀들을 갖는 플래시 메모리는 멀티 레벨 셀(Multi-level Cell;MLC)의 고유한 특성으로 인하여 데이터 내부에 비트 에러를 포함한다. 따라서, 비트 에러를 정정하기 위하여 플래시 메모리는 스페어 영역에 에러 정정 코드를 포함한다. 만약 비트 에러가 발생되면 플래시 메모리 시스템은 에러 정정 코드에 근거하여 비트 에러를 정정한다.
일반적인 플래시 메모리 시스템은 공격자(Attacker)로부터 플래시 메모리의 메인 영역의 해킹을 방지하기 위하여 플래시 메모리의 메인 영역의 데이터를 암호화(Encryption)한다. 그리고, 플래시 메모리 시스템은 암호화된 메인 영역의 데이터에 대한 에러 정정 코드를 스페어 영역에 저장한다.
본 발명의 목적은 플래시 메모리의 데이터를 효율적으로 암호화하는 플래시 메모리 시스템 및 플래시 메모리 시스템의 암호화 방법을 제공하는 데 있다.
본 발명에 따른 플래시 메모리 시스템은 플래시 메모리; 및 상기 플래시 메모리를 제어하는 메모리 컨트롤러를 포함하되, 상기 플래시 메모리는 메인 영역과 상기 메인 영역의 제1 에러 정정 코드를 저장하는 스페어 영역을 포함하고, 상기 메모리 컨트롤러는 상기 제1 에러 정정 코드를 암호화한다.
실시 예로서, 상기 메모리 컨트롤러는 상기 암호화된 제1 에러 정정 코드에 대한 제2 에러 정정 코드를 생성한다.
실시 예로서, 상기 제2 에러 정정 코드는 상기 스페어 영역에 저장된다.
실시 예로서, 상기 메모리 컨트롤러는, 상기 제1 에러 정정 코드를 암호화하고, 상기 암호화된 제1 에러 정정 코드를 복호화하는 암호화 및 복호화부; 그리고 상기 제1 에러 정정 코드와 상기 제2 에러 정정 코드를 생성하는 에러 정정 코드 생성부를 포함한다.
실시 예로서, 상기 메모리 컨트롤러는 외부로부터 전송된 키를 이용하여 상기 제1 에러 정정 코드를 암호화한다.
실시 예로서, 상기 스페어 영역은 상기 암호화된 제1 에러 정정 코드, 상기 제2 에러 정정 코드, 및 플래시 변환 레이어를 저장한다.
본 발명에 따른 멀티레벨 셀을 포함하는 플래시 메모리 시스템의 암호화 방법은 입력 데이터에 대한 제1 에러 정정 코드를 생성하고; 그리고 상기 제1 에러 정정 코드를 암호화하는 것을 포함한다.
실시 예로서, 상기 암호화된 제1 에러 정정 코드에 대한 제2 에러 정정 코드를 생성하는 것을 더 포함한다.
실시 예로서, 상기 입력 데이터는 외부의 호스트로부터 전송된다.
실시 예로서, 상기 암호화된 제1 에러 정정 코드는 외부로부터 전송된 키를 이용하여 생성된다.
실시 예로서, 상기 입력 데이터, 상기 암호화된 제1 에러 정정 코드, 및 상기 제2 에러 정정 코드를 독출하고, 상기 제2 에러 정정 코드에 근거해서 상기 암호화된 제1 에러 정정 코드에 에러를 검출하고, 상기 암호화된 제1 에러 정정 코드에 에러가 검출될 때 상기 암호화된 제1 에러 정정 코드를 정정하고, 상기 제2 에러 정정 코드를 디코딩하고, 상기 암호화된 제1 에러 정정 코드를 복호화하고, 상기 복호화된 제1 에러 정정 코드에 근거해서 상기 입력 데이터에 에러를 검출하고, 그리고 상기 입력 데이터에 에러가 검출될 때 상기 복호화된 제1 에러 정정 코드를 디코딩한다.
본 발명은 일부의 데이터를 암호화함으로 메모리 시스템의 성능을 향상하고, 암호화/복호화를 위한 하드웨어 및 소프트웨어의 오버헤드(Overhead)를 감소시키고, 부트 코드의 노출을 차단하는 효과를 가진다.
본 발명에 따른 멀티 레벨 셀을 포함하는 플래시 메모리의 어레이(Array)는 데이터를 저장하는 메인 영역과 데이터의 에러 정정 코드를 저장하는 스페어 영역을 포함한다.
멀티 레벨 셀을 포함하는 플래시 메모리의 데이터는 비트 에러를 포함하고 있으므로 공격자의 해킹으로부터 보호된다. 즉, 본 발명에 따른 플래시 메모리 시스템은 플래시 메모리의 스페어 영역을 암호화(Encryption)한다. 구체적으로, 본 발명은 스페어 영역 내의 메인 영역의 데이터에 대한 에러 정정 코드를 암호화한다.
따라서, 공격자는 비트 에러를 포함하는 데이터와 암호화된 에러 정정 코드를 해킹하고, 암호화된 에러 정정 코드를 복호화해야 정확한 정보를 구할 수 있다.
본 발명에 따른 플래시 메모리 시스템은 스페어 영역의 일부 데이터(즉, 에러 정정 코드)를 암호화함으로 플래시 메모리 시스템의 성능을 향상하고, 플래시 메모리 시스템의 암호화/복호화를 위한 하드웨어 및 소프트웨어의 오버헤드(Overhead)를 감소시킨다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 본 발명에 따른 메모리 시스템(100)은 호스트(110), 메모리 컨트롤러(120), 그리고 플래시 메모리(130)를 포함한다.
도 1에서, 메모리 컨트롤러(120) 및 플래시 메모리(130)는 하나의 저장 장치 내에 포함될 수 있다. 이러한 저장 장치에는 USB 메모리 및 메모리 카드(M MC(Multi_Media Card), SD 카드, xD 카드, CF 카드, SIM 카드 등) 등과 같은 이동식 저장 장치도 포함된다. 또한, 이러한 저장 장치는 컴퓨터, 노트북, 디지털 카메라, 휴대폰, MP3 플레이어, PMP(Portable Multimedia Player), 게임기 등과 같은 호스트(110)에 접속되어 사용된다.
본 발명에 따른 멀티레벨 셀을 포함하는 플래시 메모리(130)의 어레이(131)에는 다수의 비트 에러(Bit Error)가 존재한다. 따라서, 공격자는 어레이(131)의 메인 영역만을 해킹해서는 온전한 정보를 얻을 수 없다.
본 발명에 따른 멀티레벨 셀을 포함하는 플래시 메모리(130)는 스페어 영역 내에 메인 영역에 대한 에러 정정 코드를 암호화한다. 즉, 공격자는 메인 영역과 스페어 영역을 모두를 해킹하여도 정확한 정보를 얻을 수 없다.
도 1을 참조하면, 본 발명에 따른 플래시 메모리 시스템(100)은 호스트(110), 메모리 컨트롤러(120), 그리고 플래시 메모리(130)를 포함한다.
메모리 컨트롤러(120)는 호스트 인터페이스(121), 플래시 인터페이스(Flash Interface;122), 중앙처리장치(CPU;123), ECC(Error Correction Code) 회로(124), ROM(125), RAM(126), 및 Enc/Dec 회로(127)을 포함한다.
호스트 인터페이스(121)는 호스트(110)와 인터페이스 하도록 구성되고, 플래시 인터페이스(122)는 플래시 메모리(130)와 인터페이스 하도록 구성된다. 중앙처 리장치(123)는 호스트(110)의 요청에 응답하여 플래시 메모리(130)의 읽기 또는 쓰기 동작 등을 제어하도록 구성된다.
ECC 회로(124)는 플래시 메모리(130)로 전송되는 데이터(메인 데이터)를 이용하여 메인 영역에 저장된 데이터에 대한 제1 에러 정정 코드 그리고 제1 에러 정정 코드를 암호화한 후에 암호화된 제1 에러 정정 코드에 대한 제2 에러 정정 코드를 생성한다. 암호화된 제1 에러 정정 코드와 제2 에러 정정 코드는 플래시 메모리(130)의 스페어 영역(spare area)에 저장된다. ECC 회로(124)는 플래시 메모리(130)로부터 읽혀진 데이터의 에러를 검출한다. 만약 검출된 에러가 정정 범위 내이면, ECC 회로(124)는 검출된 에러를 정정한다. 한편, ECC 회로(124)는 플래시 메모리 시스템(100)에 따라, 플래시 메모리(130) 내에 위치할 수도 있고, 메모리 컨트롤러(120) 밖에 위치할 수도 있다.
ROM(125)은 플래시 메모리(130)으로부터 부트 코드(Boot code) 등을 로딩하기 위한 기본적인 OS(Operating System) 데이터 등을 저장하며, RAM(126)은 메인 메모리 또는 버퍼 메모리로 사용된다. RAM(126)은 플래시 메모리(130)로부터 읽혀진 데이터 또는 호스트(110)로부터 제공되는 데이터를 임시 저장한다. RAM(126)은 DRAM, SRAM 등으로 구현될 수 있다.
한편, RAM(126)은 읽기 에러 정보를 관리하는 데 필요한 테이블 정보를 저장할 수 있다. 이 테이블 정보는 메타(meta) 데이터로, 중앙처리장치(123) 제어 하에 플래시 메모리(130)의 메타 영역에 저장된다. 이 테이블 정보는 파워 온(Power On) 시에 메타 영역으로부터 RAM(126)으로 복사된다.
Enc/Dec 회로(127)는 제1 에러 정정 코드를 암호화(Encryption)하거나 복호화(Decryption)한다.
계속해서 도 1을 참조하면, 플래시 메모리(130)는 셀 어레이(131) 및 제어 유닛(132)을 포함한다. 셀 어레이(131)는 부트 코드를 저장하는 메인 영역과 그에 관한 스페어 영역 그리고 호스트(110)로부터 전송된 데이터를 저장하는 메인 영역과 그에 관한 스페어 영역을 포함한다. 제어 유닛(132)은 당업자에게 잘 알려진 바와 같이, 로우 디코더, 칼럼 디코더, 페이지 버퍼, 비트 라인 선택 회로, 그리고 데이터 버퍼 등을 포함한다.
본 발명에 따른 플래시 메모리 시스템(100)은 파워 온(Power-on) 시에 중앙 처리 장치(123)의 제어에 응답하여 플래시 메모리(130) 내에 저장된 부트 코드 및 부트 코드에 대응하는 스페어 영역의 데이터를 램(126)에 로딩한다.
스페어 영역에는 부트 코드, 부트 코드에 대한 암호화된 제1 에러 정정 코드, 암호화된 제1 에러 정정 코드에 대한 제2 에러 정정 코드, 및 플래시 변환 레이어 등이 저장된다.
따라서, 공격자는 램(126)에 로딩된 부트 코드를 해킹한다 하더라도 부트 코드는 비트 에러를 포함하고 있으므로 완전한 부트 코드를 알아낼 수 없다.
즉, 본 발명에 따른 플래시 메모리 시스템은 파워-온 시에 비트 에러가 포함된 부트 코드와 암호화된 에러 정정 코드를 램에 로딩함으로 공격자로부터 부트 코드의 노출을 차단한다. 따라서, 본 발명에 따른 플래시 메모리 시스템을 포함하는 집적회로 카드의 보안 레벨을 높이는 효과가 있다.
도 2는 도 1에 도시된 플래시 메모리의 어레이를 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명에 따른 플래시 메모리(130)은 어레이(131) 내에 메인 영역과 스페어 영역을 포함한다.
도 2에 도시된 하나의 페이지는 호스트로부터 전송된 데이터를 저장하는 메인 영역과 메인 영역에 대한 제1 에러 정정 코드(ECC_FM)과 제2 에러 정정 코드(ECC_FS), 및 플래시 변환 레이어 등을 저장하는 스페어 영역을 포함한다.
도 2에서, 플래시 메모리의 어레이(131)에는 한 페이지만이 도시되었으나, 플래시 메모리의 어레이(131)에는 복수의 페이지와 상기 복수의 페이지를 포함하는 복수의 블록이 있음은 당업자에 있어서 자명하다.
계속해서 도 1 및 도 2를 참조하면, 본 발명에 따른 플래시 메모리의 메인 영역은 256 word로 구성되고, 스페어 영역은 8 word로 구성된다. 스페어 영역 내의 제1 워드부터 제7 워드는 제1 에러 정정 코드(ECC_FM) 및 플래시 변환 레이어 등을 포함하고, 스페어 영역 내의 제8 워드는 제1 에러 정정 코드(ECC_FM)에 대한 제2 에러 정정 코드(ECC_FS)를 포함한다.
일반적인 플래시 메모리 시스템이 메인 영역의 데이터를 암호화하는데 반하여, 본 발명의 실시예에 따른 플래시 메모리 시스템은 스페어 영역 내의 제1 워드부터 제7 워드 내에 저장된 데이터(Enc Area)를 암호화한다.
따라서, 본 발명에 따른 플래시 메모리 시스템은 스페어 영역의 일부 데이터(즉, 에러 정정 코드)를 암호화함으로 플래시 메모리 시스템의 성능을 향상하고, 플래시 메모리 시스템의 암호화/복호화를 위한 하드웨어 및 소프트웨어의 오버헤 드(Overhead)를 감소시킨다.
도 3은 본 발명에 따른 플래시 메모리 시스템의 암호화 방법을 도시한 순서도이다.
도 1 내지 도 3을 참조하면, 중앙 처리 장치(123)는 호스트(110)로부터 전송된 데이터를 램(126)에 저장한다(31). ECC 회로(124)는 상기 호스트(110)로부터 전송된 데이터에 대한 제1 에러 정정 코드(ECC_FM)을 생성한다(32). Enc/Dec 회로(127)는 생성된 제1 에러 정정 코드(ECC_FM)를 암호화한다(33). ECC 회로(124)는 암호화된 제1 에러 정정 코드(ECC_FM)에 대한 제2 에러 정정 코드(ECC_FS)를 생성한다(34). 중앙 처리 장치(123)는 호스트(110)로부터 전송된 데이터, 암호화된 제1 에러 정정 코드(ECC_FM), 및 제2 에러 정정 코드(ECC_FS)를 플래시 메모리(130)에 저장한다(35).
도 4는 도 1에 도시된 암호화된 플래시 메모리 시스템으로부터 데이터를 독출하는 방법을 도시한 순서도이다.
도 1 내지 도 4를 참조하면, 중앙 처리 장치(123)는 플래시 메모리(130)로부터 데이터(메인 영역의 데이터, 암호화된 제1 에러 정정 코드(ECC_FM), 및 제2 에러 정정 코드(ECC_FS))를 독출한다(41).
중앙 처리 장치(123)는 암호화된 제1 에러 정정 코드(ECC_FM)에 에러가 검출되는지를 판단한다(42).
만약 암호화된 제1 에러 정정 코드(ECC_FM)에 에러가 검출된다면, ECC 회로(124)는 제2 에러 정정 코드(ECC_FS)를 디코딩(Decoding)한다(43). 즉, 중앙 처 리 장치(123)는 제2 에러 정정 코드(ECC_FS)에 근거하여 암호화된 제1 에러 정정 코드(ECC_FM)의 에러를 정정한다.
Enc/Dec 회로(127)는 암호화된 제1 에러 정정 코드(ECC_FM)를 복호화한다(44). 중앙 처리 장치(123)는 메인 영역의 데이터에 에러가 검출되는지를 판단한다(45).
만약 메인 영역의 데이터에 에러가 검출된다면, ECC 회로(124)는 제1 에러 정정 코드(ECC_FM)를 디코딩(Decoding)한다(46). 즉, 중앙 처리 장치(123)는 제1 에러 정정 코드(ECC_FM)에 근거하여 메인 영역 데이터의 에러를 정정한다.
중앙 처리 장치(123)는 메인 영역의 데이터를 램(126)에 로딩한다(47).
본 발명에 따른 플래시 메모리 시스템은 스페어 영역의 일부 데이터(즉, 에러 정정 코드)를 암호화함으로 플래시 메모리 시스템의 성능을 향상하고, 플래시 메모리 시스템의 암호화/복호화를 위한 하드웨어 및 소프트웨어의 오버헤드(Overhead)를 감소시킨다.
또한, 본 발명에 따른 플래시 메모리 시스템은 파워-온 시에 비트 에러가 포함된 부트 코드와 암호화된 에러 정정 코드를 램에 로딩함으로 공격자로부터 부트 코드의 노출을 차단한다. 그리고, 본 발명에 따른 플래시 메모리 시스템을 포함하는 집적회로 카드의 보안 레벨을 높이는 효과가 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사 용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명에 따른 메모리 시스템을 보여주는 블록도.
도 2는 도 1에 도시된 플래시 메모리의 어레이를 도시한 블록도.
도 3은 본 발명에 따른 플래시 메모리 시스템의 암호화 방법을 도시한 순서도.
도 4는 도 3에 따라 암호화된 플래시 메모리 시스템을 독출하는 방법을 도시한 순서도.
* 도면의 주요 부분에 대한 부호 설명 *
100; 플래시 메모리 시스템 110; 호스트
120; 메모리 컨트롤러 121; 호스트 인터페이스
122; 플래시 인터페이스 123; 중앙처리장치
124; ECC 회로 125; ROM
126; RAM 127; Enc/Dec 회로
130; 플래시 메모리 131; 어레이
132; 제어 유닛

Claims (11)

  1. 플래시 메모리; 및
    상기 플래시 메모리를 제어하는 메모리 컨트롤러를 포함하되,
    상기 플래시 메모리는 메인 영역과 상기 메인 영역의 제1 에러 정정 코드를 저장하는 스페어 영역을 포함하고, 상기 메모리 컨트롤러는 상기 제1 에러 정정 코드를 암호화하는 플래시 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 메모리 컨트롤러는 상기 암호화된 제1 에러 정정 코드에 대한 제2 에러 정정 코드를 생성하는 플래시 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 제2 에러 정정 코드는 상기 스페어 영역에 저장되는 플래시 메모리 시스템.
  4. 제 2 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 제1 에러 정정 코드를 암호화하고, 상기 암호화된 제1 에러 정정 코드를 복호화하는 암호화 및 복호화부; 그리고
    상기 제1 에러 정정 코드와 상기 제2 에러 정정 코드를 생성하는 에러 정정 코드 생성부를 포함하는 플래시 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 메모리 컨트롤러는 외부로부터 전송된 키를 이용하여 상기 제1 에러 정정 코드를 암호화하는 플래시 메모리 시스템.
  6. 제 2 항에 있어서,
    상기 스페어 영역은 상기 암호화된 제1 에러 정정 코드, 상기 제2 에러 정정 코드, 및 플래시 변환 레이어를 저장하는 플래시 메모리 시스템.
  7. 멀티레벨 셀을 포함하는 플래시 메모리 시스템의 암호화 방법에 있어서:
    입력 데이터에 대한 제1 에러 정정 코드를 생성하고; 그리고
    상기 제1 에러 정정 코드를 암호화하는 것을 포함하는 암호화 방법.
  8. 제 7 항에 있어서,
    상기 암호화된 제1 에러 정정 코드에 대한 제2 에러 정정 코드를 생성하는 것을 더 포함하는 암호화 방법.
  9. 제 7 항에 있어서,
    상기 입력 데이터는 외부의 호스트로부터 전송되는 암호화 방법.
  10. 제 7 항에 있어서,
    상기 암호화된 제1 에러 정정 코드는 외부로부터 전송된 키를 이용하여 생성되는 암호화 방법.
  11. 제 8 항에 있어서,
    상기 입력 데이터, 상기 암호화된 제1 에러 정정 코드, 및 상기 제2 에러 정정 코드를 독출하고,
    상기 제2 에러 정정 코드에 근거해서 상기 암호화된 제1 에러 정정 코드에 에러를 검출하고,
    상기 암호화된 제1 에러 정정 코드에 에러가 검출될 때 상기 암호화된 제1 에러 정정 코드를 정정하고,
    상기 제2 에러 정정 코드를 디코딩하고,
    상기 암호화된 제1 에러 정정 코드를 복호화하고,
    상기 복호화된 제1 에러 정정 코드에 근거해서 상기 입력 데이터에 에러를 검출하고, 그리고
    상기 입력 데이터에 에러가 검출될 때 상기 복호화된 제1 에러 정정 코드를 디코딩하는 암호화 방법.
KR1020070079103A 2007-08-07 2007-08-07 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법 KR20090014828A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070079103A KR20090014828A (ko) 2007-08-07 2007-08-07 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법
US12/187,427 US8171378B2 (en) 2007-08-07 2008-08-07 Flash memory system having encrypted error correction code and encryption method for flash memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070079103A KR20090014828A (ko) 2007-08-07 2007-08-07 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020140062356A Division KR101593519B1 (ko) 2014-05-23 2014-05-23 플래시 메모리 시스템 및 그것의 암호화 방법

Publications (1)

Publication Number Publication Date
KR20090014828A true KR20090014828A (ko) 2009-02-11

Family

ID=40347612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070079103A KR20090014828A (ko) 2007-08-07 2007-08-07 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법

Country Status (2)

Country Link
US (1) US8171378B2 (ko)
KR (1) KR20090014828A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101401379B1 (ko) * 2010-10-13 2014-05-30 한국전자통신연구원 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101607307B1 (ko) * 2009-07-09 2016-03-30 삼성전자주식회사 정보 부호화 방법, 정보 복호화 방법, 기록/재생 장치 및 정보 저장 매체
US8914697B2 (en) * 2009-08-26 2014-12-16 Seagate Technology Llc Data corruption detection
JP2013109567A (ja) * 2011-11-21 2013-06-06 Toshiba Corp ストレージデバイス及び誤り訂正方法
US9424134B2 (en) * 2014-03-28 2016-08-23 Intel Corporation Boot management in a non-volatile memory system
KR102154187B1 (ko) 2014-08-07 2020-09-09 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180086650A (ko) 2017-01-23 2018-08-01 에스케이하이닉스 주식회사 메모리 모듈
KR20200079134A (ko) 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
US11960608B2 (en) * 2021-04-29 2024-04-16 Infineon Technologies Ag Fast secure booting method and system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6252961B1 (en) * 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US6968493B1 (en) * 1999-09-14 2005-11-22 Maxtor Corporation Randomizer systems for producing multiple-symbol randomizing sequences
JP2002329367A (ja) * 2001-04-27 2002-11-15 Sony Corp データ記録方法および装置、データ再生方法および装置、並びにデータ記録媒体
JP3960061B2 (ja) * 2002-01-31 2007-08-15 ソニー株式会社 データ記録媒体、データ記録方法および装置、データ再生方法および装置、データ送信方法およびデータ受信方法
JP4132934B2 (ja) * 2002-04-12 2008-08-13 株式会社ソニー・ディスクアンドデジタルソリューションズ 再生専用光記録媒体および光記録方法
US20050120265A1 (en) 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US20050149819A1 (en) * 2003-12-15 2005-07-07 Daewoo Electronics Corporation Three-dimensional error correction method
US8639946B2 (en) 2005-06-24 2014-01-28 Sigmatel, Inc. System and method of using a protected non-volatile memory
US7512864B2 (en) 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
DE102006003146B4 (de) * 2006-01-23 2016-05-12 Infineon Technologies Ag Vorrichtung und Verfahren zum Auslesen eines Datenwortes und Vorrichtung und Verfahren zum Speichern eines Datenblocks
WO2008070812A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for data storage using progressive raid
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
KR101607307B1 (ko) * 2009-07-09 2016-03-30 삼성전자주식회사 정보 부호화 방법, 정보 복호화 방법, 기록/재생 장치 및 정보 저장 매체
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101401379B1 (ko) * 2010-10-13 2014-05-30 한국전자통신연구원 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템
US8850291B2 (en) 2010-10-13 2014-09-30 Electronics And Telecommunications Research Institute Data input and output method of NAND flash memory and embedded system using the same

Also Published As

Publication number Publication date
US8171378B2 (en) 2012-05-01
US20090044077A1 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
US8171378B2 (en) Flash memory system having encrypted error correction code and encryption method for flash memory system
US8341500B2 (en) Detecting corrupted data for a system having non-volatile memory
US9195537B2 (en) Method of data storage in non-volatile memory
US11416417B2 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US11403174B2 (en) Controller and memory system
WO2012002009A1 (en) Recording apparatus, writing apparatus, reading apparatus, and method of controlling recording apparatus
WO2008063965A2 (en) Method and system to provide security implementation for storage devices
US10664414B2 (en) Controller and advanced method for deleting data
CN108073799B (zh) 半导体存储器系统及其操作方法
US20110219173A1 (en) Semiconductor memory system
US11567825B2 (en) Generating error checking data for error detection during modification of data in a memory sub-system
US20130080787A1 (en) Memory storage apparatus, memory controller and password verification method
US20160034720A1 (en) Processing information
US11818248B2 (en) Encoder and decoder using physically unclonable functions
JP2018194948A (ja) 半導体記憶装置、メモリコントローラ及びメモリの監視方法
KR101593519B1 (ko) 플래시 메모리 시스템 및 그것의 암호화 방법
US7966539B2 (en) Digital content protection systems and methods
US20230259301A1 (en) Managing secure writes in semiconductor devices
JP2009080515A (ja) セキュアなロードシーケンスを提供する方法および装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
WITB Written withdrawal of application