KR20150125490A - 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법 - Google Patents

플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법 Download PDF

Info

Publication number
KR20150125490A
KR20150125490A KR1020140052980A KR20140052980A KR20150125490A KR 20150125490 A KR20150125490 A KR 20150125490A KR 1020140052980 A KR1020140052980 A KR 1020140052980A KR 20140052980 A KR20140052980 A KR 20140052980A KR 20150125490 A KR20150125490 A KR 20150125490A
Authority
KR
South Korea
Prior art keywords
memory cell
value
cells
read
control information
Prior art date
Application number
KR1020140052980A
Other languages
English (en)
Other versions
KR102207217B1 (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 삼성전자주식회사
Priority to KR1020140052980A priority Critical patent/KR102207217B1/ko
Priority to US14/693,300 priority patent/US9761292B2/en
Publication of KR20150125490A publication Critical patent/KR20150125490A/ko
Application granted granted Critical
Publication of KR102207217B1 publication Critical patent/KR102207217B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

플래시 메모리 장치, 시스템 및 이의 동작 방법이 개시된다. 본 발명의 일 실시예에 따른 플래시 메모리 시스템 동작 방법은 외부로부터의 인증 요청에 대하여, 플래시 메모리의 메모리 셀들을 선택하는 단계, 상기 선택된 메모리 셀들에 각각 입력 데이터를 프로그램 하는 단계, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계 및 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계;를 포함하는 것을 특징으로 한다.

Description

플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법{Flash memory device, flash memory system and operation method of the same}
본 개시는 플래쉬 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법에 관한 것으로, 특히 인증 요청에 응답하여 동일한 인증 응답을 출력할 수 있는 플래쉬 메모리 장치, 시스템 및 이의 동작 방법에 관한 것이다.
본 개시는 플래쉬 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법에 관한 것으로, 특히 인증 요청에 응답하여 동일한 인증 응답을 출력할 수 있는 플래쉬 메모리 장치, 시스템 및 이의 동작 방법에 관한 것이다.
동일한 인증 요청에 응답하여 동일한 인증 응답을 출력할 수 있는 플래시 메모리 장치, 시스템 및 이의 동작 방법에 관한 것이다.
본 발명의 일 실시예에 따른 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법에 있어서, 인증 요청에 대하여, 플래시 메모리의 메모리 셀들을 선택하는 단계, 상기 선택된 메모리 셀들에 각각 입력 데이터를 프로그램 하는 단계, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계 및 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계;를 포함하는 것을 특징으로 한다.
상기 입력 데이터는, 각각 1 비트 이상의 동일한 데이터인 것을 특징으로 한다.
또한 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 선택된 메모리 셀들을 제 1독출전압으로 독출하는 단계 및 상기 선택된 메모리 셀들 중 문턱 전압이 상기 제 1독출전압보다 높은 문턱 전압 또는 낮은 문턱 전압을 가지는 셀들을 구분하는 정보를 상기 제어 정보로 생성하고 저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 선택된 메모리 셀들 중 문턱 전압이, 상기 제 1독출전압보다 낮은 메모리 셀들은 상기 제 1영역 메모리 셀로 설정하는 단계 및 상기 선택된 메모리 셀들 중 문턱 전압이, 상기 제 1독출전압보다 높은 메모리 셀들은 상기 제 2영역 메모리 셀로 설정하는 단계 및 상기 제 2영역 메모리 셀에 재프로그램하여, 상기 제 2영역 메모리 셀의 문턱 전압을 높이는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계는, 상기 제 1영역 메모리 셀의 문턱 전압보다 크고, 상기 제 2 영역 메모리 셀의 문턱 전압보다 작은, 제 2독출전압을 이용하여, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을, 각각 상기 제 1값 및 상기 제 2값으로 설정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 선택된 메모리 셀들을 적어도 두번 이상 독출하는 단계 및 상기 선택된 메모리 셀들을 독출 할때마다 생성된 독출값을 상기 제어 정보로 생성하고 저장하는 단계를 포함하고, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 선택된 메모리 셀들을 적어도 두 번 이상 독출한 독출값이 일정한 메모리 셀을 상기 제 1영역 메모리 셀로 설정하는 단계 및 상기 선택된 메모리 셀들을 적어도 두 번 이상 독출한 독출값이 일정하지 아니한 메모리 셀을 상기 제 2영역 메모리 셀로 설정하는 단계를 포함하며, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계는, 상기 제 1영역 메모리 셀의 상기 일정한 독출값을 상기 제 1 값으로 설정하는 단계 및 상기 제 2영역 메모리 셀의 독출값들 중 일정 비율 이상의 독출값을 상기 제2 값으로 설정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 선택된 메모리 셀들을 적어도 두번 이상 독출하고, 상기 제어 정보는 상기 독출을 수행하여 얻은 각 선택된 메모리 셀들의 독출값들 중 하나를 기준으로, 각 독출값들의 변경 정도를 계산한 것을 특징으로 하며, 상기 선택된 메모리 셀들 중, 적어도 두 번 이상 독출한 독출값이 일정한 메모리 셀을 상기 제 1영역 메모리 셀로 설정하는 단계 및 상기 선택된 메모리 셀들 중, 적어도 두 번 이상 독출한 독출값이 일정하지 아니한 메모리 셀을 상기 제 2영역 메모리 셀로 설정하는 단계를 포함하며, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 제 1영역 메모리 셀의 일정한 독출값을 상기 제 1값으로 설정하는 단계, 상기 제 2영역 메모리 셀의 상기 변하는 독출값을 상기 제어 정보를 기반으로 에러 보정을 하는 단계, 상기 보정된 상기 제 2영역 메모리 셀의 상기 변하는 독출값을 ECC 디코딩하는 단계 및 상기 ECC 디코딩 결과값을 상기 제 2값으로 설정하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 제 2영역 메모리 셀의 독출값을 상기 제어 정보를 기반으로 에러 보정을 하는 단계는, 상기 제 2영역 메모리 셀의 독출값의 에러 벡터를 보정하여, ECC 코드워드로 설정하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 메모리 셀들에 각각 입력 데이터를 프로그램 하는 단계는, 저속 셀들을 검출하는 단계를 더 포함하고, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 검출된 저속 셀들을 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀로 나누는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 저속 셀들을 검출하는 단계는, 상기 메모리 셀들에 프로그램되는 데이터에 대응되는 각 셀들을 제 1독출전압으로 적어도 한 번이상 독출하는 단계, 상기 독출하는 단계마다, 상기 프로그램되는 데이터와 상기 제 1독출전압으로 독출한 상기 메모리 셀들의 각각의 독출값을 비교하는 단계 및
상기 비교한 결과를 기반으로, 저속 셀들을 결정하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 메모리 셀들에 각각 동일한 데이터를 적어도 한번 이상의 프로그램 수행하는 단계를 더 포함하고, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 프로그램 수행 단계마다, 상기 저속 셀들에 프로그램되는 데이터에 대응되는 각 저속 셀들을 제 1 독출전압으로 독출하는 단계; 및 상기 독출하는 단계마다 생성된 상기 각 저속 셀들의 독출값들을 합산하여, 생성한 상기 제어 정보를 저장하는 단계;를 포함하는 것을 특징으로 하고, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 독출값의 합산값이 상기 저속 셀들 중 특정 문턱 전압에 대응되는 기준 저속 셀들의 상기 합산값보다 적은 저속 셀들은 상기 제 1 영역 메모리 셀로 설정하는 단계; 및 상기 독출값의 합산값이 상기 저속 셀들 중 특정 문턱 전압에 대응되는 기준 저속 셀들의 상기 합산값보다 큰 저속 셀들은 상기 제 2 영역 메모리 셀로 설정하는 단계 포함하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 플래시 메모리를 이용한 물리적 복제 방지 방법에 있어서, 플래시 메모리가 외부에서 챌린지(challenge)를 수신하는 단계, 상기 챌린지(challenge)에 기반하여, 플래시 메모리의 메모리 셀들을 선택하는 단계, 상기 메모리 셀들에 각각 동일한 데이터를 프로그램 하는 단계, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계, 상기 제 1영역 메모리 셀 및 2영역 메모리 셀의 독출값을 상기 제어 정보를 기반으로 하여, 각각 제 1값 및 제 2값으로 설정하는 단계 및 상기 제 1값 및 상기 제 2값을 리스펀스(response)로서, 출력하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 선택된 메모리 셀들을 제 1독출전압으로 독출하는 단계; 및 상기 선택된 메모리 셀들 중 문턱 전압이 상기 제 1독출전압보다 높은 문턱 전압 또는 낮은 문턱 전압을 가지는 셀들을 구분하는 정보를 제어 정보로 생성하고 저장하는 단계;를 포함하는 것을 특징으로 하고, 상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 선택된 메모리 셀들 중 문턱 전압이, 상기 제 1독출전압보다 낮은 메모리 셀들은 제 1영역 메모리 셀로 설정하는 단계, 상기 선택된 메모리 셀들 중 문턱 전압이, 상기 제 1독출전압보다 높은 메모리 셀들은 제 2영역 메모리 셀로 설정하는 단계 및 상기 제 2영역 메모리 셀에 재프로그램하여, 상기 제 2영역 메모리 셀의 문턱 전압을 높이는 단계를 포함하며, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계는, 상기 제 2독출전압을 이용하여, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을, 각각 상기 제 1값 및 상기 제 2값으로 설정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 선택된 메모리 셀들을 적어도 두번 이상 독출하는 단계 및 상기 선택된 메모리 셀들을 독출 할때마다 생성된 독출값을 상기 제어 정보로 생성하고 저장하는 단계를 포함하고,상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 선택된 메모리 셀들 중, 적어도 두 번 이상 독출한 독출값이 일정한 메모리 셀을 상기 제 1영역 메모리 셀로 설정하는 단계 및 상기 선택된 메모리 셀들 중, 적어도 두 번 이상 독출한 독출값이 일정하지 아니한 메모리 셀을 상기 제 2영역 메모리 셀로 설정하는 단계를 포함하며, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계는, 상기 제 1영역 메모리 셀의 상기 일정한 독출값을 상기 제 1 값으로 설정하는 단계 및 상기 제 2영역 메모리 셀의 독출값들 중 일정 비율 이상의 독출값을 상기 제2 값으로 설정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 메모리 셀들에 각각 입력 데이터를 프로그램하는 단계는, 상기 메모리 셀들에 프로그램되는 데이터에 대응되는 각 셀들을 제 1독출전압으로 적어도 한 번이상 독출하는 단계, 상기 독출하는 단계마다, 상기 프로그램되는 데이터와 상기 제 1독출전압으로 독출한 상기 메모리 셀들의 각각의 독출값를 비교하는 단계 및 상기 비교한 결과를 기반으로, 저속 셀들을 결정하는 단계를 포함하는 것을 특징으로 하며, 상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는, 상기 프로그램 수행 단계마다, 상기 저속 셀들에 프로그램되는 데이터에 대응되는 각 저속 셀들을 제 1 독출전압으로 독출하는 단계 및 상기 독출하는 단계마다 생성된 상기 각 저속 셀들의 독출값들을 합산하여, 생성한 상기 제어 정보를 저장하는 단계를 포함하는 것을 특징으로 하고,
상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는, 상기 독출값의 합산값이 상기 저속 셀들 중 특정 문턱 전압에 대응되는 기준 저속 셀들의 상기 합산값보다 적은 저속 셀들은 상기 제 1 영역 메모리 셀로 설정하는 단계 및 상기 독출값의 합산값이 상기 저속 셀들 중 특정 문턱 전압에 대응되는 기준 저속 셀들의 상기 합산값보다 큰 저속 셀들은 상기 제 2 영역 메모리 셀로 설정하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에 따른 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법에 의하면 인증 요청에 응답하여 플래시 메모리의 특정 메모리 셀들을 선택하고, 선택된 메모리 셀들에 입력 데이터를 프로그램하고, 독출값을 기반으로 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누어, 제 1영역 메모리 셀 및 제 2영역 메모리 셀에 대한 제어를 달리함으로써, 인증 요청에 대한 고유하고 일관된 인증 응답을 생성하여 출력할 수 있다. 이에 따라, 플래시 메모리 장치 또는 플래시 메모리 시스템에서의 인증 동작이 신뢰성 있게 수행될 수 있다.
도 1은 일 실시예에 따른 플래시 메모리 시스템의 동작 방법를 순서도로 나타낸 도면이다.
도 2는 일 실시예에 따른, 플래시 메모리 시스템을 나타내는 블록도이다.
도 3은 일 실시예에 따른 컨트롤러(100)의 구현 예를 나타내는 블록도이다.
도 4는 일 실시예에 따른 제 1플래시 메모리 장치(200)의 구현 예를 나타내는 블록도이다.
도 5는 일 실시예에 따른 도 3의 제어 정보 저장부의 구현 예를 나타내는 블록도이다.
도 6은 일 실시예에 따른 도 3의 제어 로직의 구현 예를 나타내는 블록도이다.
도 7은 일 실시예에 따른 제어 로직 구현 예를 나타내는 블록도이다.
도 8a및 도 8b는 일 실시예에 따른 추가 프로그램 방법 순서도 및 방법에 따른 프로그램된 메모리 셀의 문턱 전압 산포를 나타낸 도면이다.
도 9a및 도 9b는 일 실시예에 따른 메이저리티 보팅(majority voting) 방법을 나타내는 순서도 및 메이저리팅 보팅 방법을 도표로 나타낸 도면이다.
도 10a 및 10b는 일 실시예에 따른 에러 신드롬(error syndrome) 방법의 순서도 및 에러 신드롬 방법을 그림으로 나타낸 도면이다.
도 11은 도 10a의 일 실시예에 따른 컨트롤러의 구현 예를 나타낸 블록도이다.
도 12 및 13은 일 실시예에 따른 저속 셀(slow cell) 방법을 나타내는 순서도이다.
도 14는 도 2의 컨트롤러의 예를 나타내는 도면이다.
도 15는 도 2의 플래시 메모리 시스템이 포함되는 컴퓨터 장치를 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일 실시예에 따른 플래시 메모리 시스템의 동작 방법을 순서도로 나타낸 도면이다.
도 1을 참조하면, 먼저 플래시 메모리 시스템의 동작 방법은 구체적으로 인증 요청에 응답하여 플래시 메모리 장치의 메모리 셀 선택 단계(S110), 입력 데이터로 프로그램 수행 단계(S120), 메모리 셀들을 독출, 제어 정보 생성 및 저장 단계(S130), 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누는 단계(S140), 제 1영역 메모리 셀 및 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하는 단계(S150) 및 인증 응답 생성 및 출력 단계(S160)를 포함한다. 먼저 플래시 메모리 시스템의 동작 방법은 플래시 인증 요청에 응답하여, 플래시 메모리 장치 내의 메모리 셀들 중에 특정 셀들을 선택한다(S110). 일 실시예로, 플래시 메모리 시스템은 컨트롤러 및 플래시 메모리 장치를 포함하고, 인증 요청은 컨트롤러로부터 플래시 메모리 장치로 수신될 수 있다. 플래시 메모리 시스템이 다수의 플래시 메모리 장치를 포함하는 경우, 인증 요청은 플래시 메모리 장치마다 다를 수 있으며, 특정 플래시 메모리 장치에 대한 인증 요청은 매번 동일할 수 있다. 인증 요청에 대응하는 플래시 메모리 장치 내의 각각의 메모리 셀의 특성은 다를 수 있다. 예를 들어, 동일한 프로그램 전압으로 프로그램을 수행하더라도 메모리 셀의 물리적 특성에 따라 다른 문턱 전압 산포가 형성될 수 있다. 그 특성은 플래시 메모리 장치마다 다르므로, 이를 이용하여 각 플래시 메모리 장치에 대한 인증을 수행할 수 있다.
각 플래시 메모리 장치에 고유한 데이터를 프로그램하기 위해, 특정 메모리 셀들이 선택된다. 예를 들어, 특정 메모리 셀들은 플래시 메모리 장치의 메모리 셀 어레이 중 메타 데이터가 저장되는 영역의 메모리 셀 들일 수 있다. 일 실시예로, 특정 인증 요청에 필요한 메모리 셀들의 단위에 따라서, 워드라인 어드레스, 블록 어드레스, 페이지 어드레스, 및 비트라인 어드레스를 이용하여 다양한 방법으로 적어도 하나 이상의 메모리 셀을 선택할 수 있다. 이렇게 선택된 특정 메모리 셀들에 입력 데이터가 프로그램된다(S120). 각 특정 메모리 셀에 프로그램되는 입력 데이터는 1 비트 이상의 동일한 데이터가 될 수 있다. 입력 데이터로 프로그램을 수행하기 위하여, 입력 데이터를 플래시 메모리 장치 내의 페이지 버퍼에 설정할 수 있으며, 페이지 버퍼에 설정된 입력 데이터들은 특정 메모리 셀들에 프로그램될 수 있다. 특정 메모리 셀들에 프로그램된 경우, 특정 메모리 셀들은 각각의 고유한 성질에 의하여, 동일한 입력 데이터에 대해서도 다른 문턱 전압을 가질 수 있다.
이렇게 고유의 문턱 전압 산포를 형성한 특정 메모리 셀들을 독출 전압으로 독출하고, 생성된 독출값을 기반으로 제어 정보가 생성 및 된다(S130). 독출 전압은 특정 메모리 셀들이 가지는 문턱 전압들의 중앙값일 수 있다. 상기 문턱 전압들의 중앙값의 자세한 서술은 후술하기로 한다. 제어 정보는 생성된 독출값을 기반으로 여러 가지 실시예들에 따라 다양하게 생성할 수 있으며, 제어 정보는 플래시 메모리 시스템 내에 구비된 레지스터 등과 같은 저장부에 저장될 수 있다 제어 정보를 이용하여, 하나의 플래시 메모리 장치가 동일한 인증 요청에 대한 동일한 인증 응답을 출력하도록 제어된다. 자세한 제어 정보에 관한 실시예들은 후술하기로 한다.
제어 정보에 기반하여, 프로그램된 메모리 셀들이 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나뉜다(S140). 프로그램된 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀을 나누는 기준이 되는 제어 정보는 본 발명의 실시예에 따라 달라질 수 있으며, 각 실시예에 따른 제어 정보에 따라서, 제 1영역 메모리 셀 및 제 2영역 메모리 셀의 정의가 달라질 수 있다. 자세한 내용은 후술하기로 한다. 제 1영역 메모리 셀 및 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정된다(S150). 제 1값 및 제 2값은 본 발명의 실시예에 따라서 달라질 수 있으며, 특정한 값을 지칭하는 것으로만 해석될 수 없을 것이다. 또한, 제 1영역 메모리 셀의 독출값을 제 1값, 제 2영역 메모리 셀의 독출값을 제 2값으로 설정할 수 있으며, 이는 인증 요청에 따른 동일한 인증 응답을 생성하기 위한 단계일 수 있다.
다음으로, 인증 응답을 생성하여, 출력한다(S160). 인증 응답은 특정 메모리 셀들을 제 1영역 메모리 셀 및 제 2 영역 메모리 셀로 나눈 후, 제 1영역 메모리 셀의 독출값을 제 1값으로, 제 2영역 메모리 셀의 독출값을 제 2값으로 설정하여, 각 특정 메모리 셀들의 독출값으로 설정된 제 1값 및 제 2값이 조합된 것일 수 있다. 다만, 이는 일 실시예로서, 인증 응답은 제 1값 또는 제 2값으로만 형성될 수 있다. 본 발명의 실시예에 따르면, 동일한 인증 요청에 따라, 동일한 인증 응답을 생성할 수 있으며, 이는 동일한 플래시 메모리 장치에서 해당될 수 있으며, 서로 다른 플래시 메모리 장치는 서로 다른 인증 응답을 생성할 수 있다.
도 2는 일 실시예에 따른, 플래시 메모리 시스템을 나타내는 블록도이다.
도 2를 참조하면, 플래시 메모리 시스템(10)은 컨트롤러(100), 제1 플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300)을 포함할 수 있다. 이는 발명의 일 실시예로서, 제 3, 제 4 플래시 메모리 장치 등을 더 포함할 수 있을 것이다. 도 1의 플래시 메모리 시스템 동작 방법은 상기 플래시 메모리 시스템(10)에서 구현될 수 있다. 컨트롤러(100)는 플래시 메모리 장치 동작을 제어하기 위한 플래시 메모리 컨트롤러(100)일 수 있다. 컨트롤러(100)는 각종 제어신호를 제 1플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300)에 제공하여 메모리 장치 동작을 제어한다. 예컨대, 제 1플래시 메모리 장치(200)에는 제 1인증 요청 (challenge1)을 제공하고, 제 2 플래시 메모리 장치(300)에는 제 2인증 요청(challenge2)을 제공할 수 있다. 제 1인증 요청(challenge1)에 의하여, 제 1플래시 메모리 장치(100)는 제 1인증 응답(response1) 신호를 컨트롤러(100)에 제공할 수 있다. 또한 제 2 플래시 메모리 장치(300)는 제 2 인증 응답(response2)를 컨트롤러(100)에 제공할 수 있다.
본 발명의 일 실시예에 따르면, 플래시 메모리 시스템(10)은 제 1인증 요청(challenge1)에 응답하여 동일한 제 1인증 응답(response1)이 제공되고, 제 2인증 요청(challenge2)에 응답하여 동일한 제 2인증 응답(response2)이 제공되도록 제어한다. 제 1인증 요청(challenge1) 과 제 2인증 요청(challenge) 는 동일한 신호일 수 있으며, 플래시 메모리 시스템(10)은 제 1인증 응답(response1)과 제 2인증 응답(response2)이 다르도록 제어한다.
제 1인증 요청(challenge1) 및 제 2인증 요청(challenge2) 이외에도 컨트롤러(100)는 프로그램된 메모리 셀들의 독출값이 일정한 값으로 처리되도록 제어하기 위한 컨트롤 신호(CS, 미도시)를 제 1 플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300)에 제공할 수 있으며, 이에 응답하여 제 1플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300)는 제어 정보 신호(CIS, 미도시)를 컨트롤러(100)에 제공할 수 있다. 이는 발명의 일 실시예로서, 컨트롤 신호(CS)와 제어 정보 신호(CIS)는 제1플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300) 내부, 예를 들어 각각, 제 1플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300)내에 포함된 제어 정보 저장부(미도시)에 저장될 수 있으며, 제 1플래시 메모리 장치(200) 및 제 2플래시 메모리 장치(300)내에 포함된 제어 로직(미도시)에 의해 서로 송신 또는 수신할 수 있다. 도 1에 도시된 동작 방법이 구현되는 플래시 메모리 시스템(10)을 통하여 인증 요청에 대응하여 동일한 인증 응답을 생성하여, 출력할 수 있다.
도 3은 일 실시예에 따른 컨트롤러(100)의 구현 예를 나타내는 블록도이다.
도 3을 참조하면, 컨트롤러(100)는 제어 정보 저장부(110) 및 제어 로직(120)을 포함할 수 있다. 본 발명의 일 실시예에 따른 컨트롤러(100)는 제 1인증 요청(challenge1) 및 제어 신호(CS1)를 제1플래시 메모리 장치(200)에 제공할 수 있으며, 제 1플래시 메모리 장치(200)로부터 제 1인증 응답(response1) 및 정보 신호(CIS1)를 수신할 수 있다. 먼저, 제 1인증 요청(challenge1)에 의하여, 제 1 플래시 메모리 장치(200)내의 적어도 하나 이상의 메모리 셀이 선택될 수 있고, 각 메모리 셀에 입력 데이터가 프로그램 될 수 있다. 일 실시예로서, 각각의 입력 데이터는 모두 "0"으로 동일할 수 있다. 문턱 전압. 문턱 전압메모리 셀들에 독출 전압을 인가하여 독출을 수행하고, 제어 정보를 생성할 수 있다. 제 1 플래시 메모리 장치(200)는 제어 정보를 컨트롤러(100)에 전송하기 위하여, 제어 정보 신호(CIS1)을 제공할 수 있다.
컨트롤러(100)은 제어 정보 신호(CIS1)를 수신하고, 관련 제어 정보를 제어 정보 저장부(110)에 저장할 수 있다. 상기 제어 정보 저장부(110)의 구성은 본 발명의 다양한 실시예에 따라, 달라질 수 있으며, 자세한 사항은 후술한다. 제어 정보 저장부(110)는 저장한 제어 정보를 제어 로직(120)에 전송하기 위하여, 제어 정보 신호(CIS2)를 제공할 수 있다. 다만, 이는 일 실시예로서, 제어 로직(120)이 제어 정보 저장부(110)에 제어 정보를 요청하는 신호를 전송하고, 이에 응답하여 제어 정보 저장부(110)이 제어 로직(120)에 제어 정보 신호(CIS2)를 제공할 수 있을 것이다.
제어 로직(120)은 수신한 제어 정보를 기반으로 하여, 제어 신호(CS1)를 제 1플래시 메모리 장치(200)에 제공할 수 있다. 제 1플래시 메모리 장치(200)는 제어 신호(CS1)를 기반하여, 프로그램된 메모리 셀들의 독출값을 일정한 값으로 설정하는 것을 제어하여, 일관된 제1 인증 응답 (response1)을 생성한다. 제 1플래시 메모리 장치(200)는 컨트롤러(100)에 제1 인증 응답(response1)을 제공할 수 있다. 다만, 이는 일 실시예로서, 제 1플래시 메모리 장치(200)에 국한되는 것이 아니라, 제 2, 제 3 등의 다른 플래시 메모리 장치에도 적용이 가능할 수 있다.
도 4는 일 실시예에 따른 제 1플래시 메모리 장치(200)의 구현 예를 나타내는 블록도이다.
도 4를 참조하면, 제 1플래시 메모리 장치(200)는 메모리 셀 어레이(210), 제어 정보 저장부(220) 및 제어 로직(230)을 포함할 수 있다. 컨트롤러(100)은 제 1인증 요청(challenge1)를 제 1플래시 메모리 장치(200)에 제공할 수 있다. 제 1플래시 메모리 장치(200)는 수신한 제 1인증 요청(challenge1)을 기반으로 메모리 셀 어레이(210)의 메모리 셀들을 선택할 수 있다. 선택되는 메모리 셀들은 제 1인증 요청(challenge1)에 따라 달라질 수 있다. 선택된 메모리 셀들은 입력 데이터로 프로그램 된 후, 입력 데이터를 독출 전압으로 독출한 독출값을 기반으로 제어 정보가 생성될 수 있다. 메모리 셀 어레이(210)로부터 제어 정보를 포함한 제 3 제어 정보 신호(CIS3)을 제어 정보 저장부(220)에 제공되어, 제어 정보를 제어 정보 저장부(220)에 저장될 수 있다. 일실시예로서, 제어 정보의 생성에 대하여, 제어 로직(230)이 제어할 수 있다.
제어 정보 저장부(220)는 제 4제어 정보 신호(CIS4)를 제어 로직(230)에 제공할 수 있다. 상기 제 4제어 정보 신호(CIS4)를 수신한 제어 로직(230)은 제어 정보를 기반으로 선택된 메모리 셀들을 제어하는 제 2 제어 신호(CS2)를 메모리 셀 어레이(210)에 제공할 수 있다. 예를 들어, 제 2 제어 신호(CS2)는 독출 전압의 전압 레벨, 또는 독출 횟수 등을 제어 하는 제어 신호일 수 있다. 본 발명의 다양한 실시예에 따라 상기 제 2제어 신호(CS2)는 다양하게 설정될 수 있으며, 그 설정에 따라 메모리 셀들을 제어하는 방법도 다양하게 구현될 수 있다. 특정 메모리 셀들을 제어하여 독출값을 일정한 값으로 설정할 수 있고, 상기 일정한 값을 기반으로 제1 인증 응답(reponse1)를 생성하여, 컨트롤러(100)에 제공될 수 있다. 다만, 이는 일 실시예로서, 제 1플래시 메모리 장치(200)에 국한되는 것이 아니라, 제 2, 제 3 등의 다른 플래시 메모리 장치에도 적용이 가능할 수 있다.
도 5는 일 실시예에 따른 도 3의 제어 정보 저장부의 구현 예를 나타내는 블록도이다.
도 5를 참조하면, 제어 정보 저장부(110)는 추가 프로그램 저장부(112), 메이저리티 보팅 저장부(114), 에러 신드롬 저장부(116), 및 저속 셀 저장부(118) 중 적어도 하나를 포함할 수 있다. 다만, 발명의 일 실시예로서, 제어 정보 저장부(110)는 도 4의 플래시 메모리 장치(200) 내에 포함될 수도 있다.
추가 프로그램 저장부(112)는 도 8a의 추가 프로그램 방법을 통하여 생성된 제어 정보를 저장하는 역할을 할 수 있고, 메이저리티 보팅 저장부(114)는 도 9a의 메이저리티 보팅 방법을 통하여 생성된 제어 정보를 저장하는 역할을 할 수 있다. 에러 신드롬 저장부(116)는 도 10a의 에러 신드롬 방법을 통하여 생성된 제어 정보를 저장하는 역할을 할 수 있으며, 에러 신드롬 저장부(116)는 도 10a의 에러 신드롬 방법을 통하여 생성된 제어 정보를 저장하는 역할을 할 수 있으며, 저속 셀 저장부(118)는 도 12의 저속 셀 방법을 통하여 생성된 제어 정보를 저장하는 역할을 할 수 있다.
도 6은 일 실시예에 따른 도 3의 제어 로직의 구현 예를 나타내는 블록도이다.
도 6을 참조하면, 제어 로직(120)은 추가 프로그램 제어 로직(122), 메이저리티 보팅 제어 로직(124), 에러 신드롬 제어 로직(126), 저속 셀 제어 로직(128) 중 적어도 하나를 포함할 수 있다. 다만, 발명의 일 실시예로서, 제어 로직(120)은 도 4의 플래시 메모리 장치(200) 내에 포함될 수도 있다. 추가 프로그램 제어 로직(122)은 도 8a의 추가 프로그램 방법을 통하여 생성된 제어 정보를 기반으로하여, 선택된 특정 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누고, 각 영역의 독출값을 제 1값 또는 제 2값으로 설정을 제어하는 등의 역할을 할 수 있다. 메이저리티 보팅 제어 로직(124)은 도 9a의 메이저리티 보팅 방법을 통하여 생성된 제어 정보를 기반으로하여, 입력 데이터로 프로그램된 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누고, 각 영역의 독출값을 제 1값 또는 제 2값으로 설정을 제어하는 등의 역할을 할 수 있다.
에러 신드롬 제어 로직(126)는 도 10a의 에러 신드롬 방법을 통하여 생성된 제어 정보를 기반으로하여, 입력 데이터로 프로그램된 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누고, 제 1영역 메모리 셀 및 제 2영역 메모리 셀 중 하나의 독출값의 에러 벡터를 보정하도록 제어하고, 각 영역의 독출값을 제 1값 또는 제 2값으로 설정을 제어하는 등의 역할을 할 수 있다.
저속 셀 제어 로직(128)은 도 13의 저속 셀 검출 방법을 제어할 수 있고, 도 12의 저속 셀 방법을 통하여 생성된 제어 정보를 기반으로하여, 입력 데이터로 프로그램된 메모리 셀들 중 저속 셀들을 검출하고, 저속 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누고, 각 영역의 독출값을 제 1값 또는 제 2값으로 설정을 제어하는 등의 역할을 할 수 있다. 자세한 제어 로직(120)의 제어 역할은 후술한다.
이상에서는 컨트롤러(100)의 제어 정보 저장부(110)가 제어 로직(120)과 분리되어 구현되는 예를 설명하였다. 그러나, 이에 한정되는 것은 아니다.
도 7은 일 실시예에 따른 제어 로직 구현 예를 나타내는 블록도이다.
도 7을 참조하면, 제어 정보 저장부(125)는 제어 로직(120) 내에 포함될 수 있다. 도 7에서, 제어 정보 저장부(125)는 도 3의 제어 정보 저장부(110)와 구별되도록, 도 3의 제어 정보 저장부(110)와 다른 도면부호로 도시하였으나, 도 7의 제어 정보 저장부(125)의 구조 및 동작은 도 3의 제어 정보 저장부(110)와 동일할 수 있다.
도 8a및 도 8b는 일 실시예에 따른 추가 프로그램 방법 순서도 및 방법에 따른 프로그램된 메모리 셀의 문턱 전압 산포를 나타낸 도면이다.
도 8a를 참조하면, 도 1에 따라, 인증 요청을 플래시 메모리 장치에서 수신하여, 상기 인증 요청에 따라 플래시 메모리 장치내의 특정 메모리 셀을 선택할 수 있다. 상기 선택된 메모리 셀들에 입력 데이터로 첫 번째 프로그램 수행 한다(S200). 상기 선택된 특정 메모리 셀들에 프로그램되는 입력 데이터는 1 비트 이상의 동일한 데이터일 수 있다. 일 예로서, 입력 데이터는 모두 0일 수 있다. 따라서, 상기 선택된 특정 메모리 셀들을 0으로 프로그램하기 위하여, 페이지 버퍼에 데이터를 모두 0으로 설정할 수 있다. 이렇게 0으로 프로그램된 상기 선택된 특정 메모리 셀들은 하나의 문턱 전압의 산포를 형성할 수 있다.
상기 문턱 전압의 산포를 갖는 메모리 셀들을 제 1독출전압으로 독출하여 제어 정보 생성 및 저장한다(S210). 본 발명의 일 실시예로서, 상기 제 1독출전압은 상기 선택된 특정 메모리 셀들의 문턱 전압의 중앙값에 상응하는 값일 수 있다. 제 1독출전압을 기준으로 문턱 전압이 제 1독출전압보다 높거나 또는 낮은 메모리 셀에 대한 정보를 제어 정보로서 생성할 수 있다. 본 발명의 일 실시예로서, 상기 제어 정보는 각 메모리 셀들의 어드레스 정보와 같이 셀의 위치와 관련한 정보일 수 있다.
상기 제어 정보를 기반으로, 두 번째 프로그램하여, 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나눈다(S220). 상기 제어 정보는 제 1 독출전압을 기준으로 문턱 전압이 제 1독출전압보다 높은 셀 및 낮은 셀의 위치 정보에 대한 것으로서, 이를 기반으로 하여, 제 1영역 메모리 셀은 문턱 전압이 제 1독출전압보다 낮은 특정 메모리 셀들로 설정하고, 제 2영역 메모리 셀은 문턱 전압이 제 1독출전압보다 높은 특정 메모리 셀들로 설정할 수 있다. 다만, 발명의 일 실시예로서, 제 1영역 메모리 셀은 문턱 전압이 제 1 독출전압보다 높은 특정 메모리 셀들, 제 2영역 메모리 셀은 문턱 전압이 제 1독출전압보다 낮은 특정 메모리 셀들로 설정할 수도 있을 것이다.
이후에 특정 영역의 메모리 셀에 재프로그램 수행한다(S220). 상기 특정 영역의 메모리 셀은 제 1영역 메모리 셀 또는 제 2영역 메모리 셀이 될 수 있다. 이 후 서술에는, 일 실시예로 제 2영역 메모리 셀에 재프로그램을 수행하는 것으로 서술한다. 상기 재프로그램시 첫 번째 프로그램을 수행할 때의 입력 데이터와 동일한 데이터로 프로그램을 수행할 수 있으며, 재프로그램 전압의 크기는 첫 번째 프로그램 수행시 인가하였던, 프로그램 전압보다 더 크게 인가할 수 있다. 상기 재프로그램 전압은 제 1영역 메모리 셀의 문턱 전압의 산포와 제 2 영역 메모리 셀의 문턱 전압의 산포가 겹치지 않도록 구분할 수 있을 정도의 크기일 수 있다. 상기 재프로그램을 수행하는 때에는, 제 2영역 메모리 셀의 문턱 전압 산포가 전체적으로 프로그램 전압과 재프로그램 전압의 차이에 대응되는 크기만큼 이동할 수 있게되어, 제 1영역 메모리 셀의 문턱 전압 산포에 떨어져 제 2영역 메모리 셀의 문턱 전압 산포를 형성할 수 있다. 다만, 이는 전술하였듯이, 제 1영역 메모리 셀에도 재프로그램을 수행하여, 제 2영역 메모리 셀의 문턱 전압 산포로부터 멀어져 제 1영역 메모리 셀의 문턱 전압 산포를 형성할 수 있다.
제 1영역 메모리 셀 및 제 2영역 메모리 셀을 제 2독출전압으로 독출 수행 및 독출값을 각각 제 1값 및 제 2값으로 설정한다(S230). 본 발명의 일 실시예에 따라, 제 2 독출전압의 크기는 상기 제 1영역 메모리 셀의 문턱 전압보다 크고, 상기 제 2 영역 메모리 셀의 문턱 전압보다 작을 수 있다. 제 2영역 메모리 셀을 재프로그램한 경우, 제 2독출전압보다 큰 문턱 전압을 가지는 셀은 제 2영역 메모리 셀 일수 있고, 제 2독출전압보다 낮은 문턱 전압을 가지는 셀은 제 1영역 메모리 셀이 될 수 있다. 제 2독출전압으로 독출을 수행하여, 제 1영역 메모리 셀의 독출값은 제 1값으로, 제 2영역 메모리 셀의 독출값은 제 2값으로 설정할 수 있다. 일 실시예로서, 전술하였듯이 프로그램한 입력 데이터가 0인 경우에는, 제 1값은 1, 제 2값은 0에 해당될 수 있다.
즉, 선택된 특정 메모리 셀들의 각 셀마다 제 2독출전압으로 독출을 수행한 결과, 일정한 제 1값 또는 제 2값을 독출값으로서, 설정될 수 있다. 인증 응답은 상기 제 1값 및 제 2값의 조합으로 생성할 수 있다. 다만, 인증 응답은 제 1값 및 제 2값 중 하나의 값으로만 생성될 수도 있다. 이렇게 생성된 인증 응답은 인증 요청에 대한 응답으로 출력될 수 있다.
상기 추가 프로그램 실시예를 통하여, 제1 독출 전압에 의해 제1 영역 메모리 셀은 1로 독출되고 제2 영역 메모리 셀은 0으로 독출되어야 함에도, 메모리 셀들의 문턱 전압이, 전하량 손실이나 프로그램 디스터번스(program disturbance) 등의 영향을 받아 잘못된 값으로 독출되는 현상이 방지될 수 있다. 따라서, 각 플래시 메모리 장치에 고유한 물리적 특성을 나타내도록 프로그램된 메모리 셀들의 문턱 전압이, 전하량 손실이나 프로그램 디스터번스 등의 영향을 받더라도, 인증 요청에 대응하여 매번 동일한 인증 응답을 출력할 수 있다.
또한, 발명의 일 실시예로서, S230 단계에서 설정한 제 1값 및 제 2값을 조합하여 생성한 인증 응답을 저장하는 단계를 더 포함할 수 있으며, 동일한 인증 요청이 발생하였을 경우, 저장된 인증 응답을 바로 출력하여, 신속한 응답을 도모할 수 있다.
도 8b를 참조하면, (a)는 첫번째 프로그램을 수행하였을 때(S200)의 프로그램된 메모리 셀들의 문턱 전압 산포를 나타낸다. 문턱 전압 산포는 제 1독출전압(RD1)으로 독출할 수 있다. 이때, 제 1독출전압(RD1)은 프로그램된 메모리 셀들의 문턱 전압 산포의 중앙값일 수 있으며, 다시 말해, 대칭 구조인 프로그램된 메모리 셀들의 문턱 전압 산포를 반으로 나눌 수 있는 값에 해당할 수 있다. 전술 또는 후술되는 프로그램된 메모리 셀들의 문턱 전압 산포의 중앙값은 위와 같은 의미로 해석될 수 있다. 따라서 제 1독출전압(RD1)을 기준으로, 제 1독출전압(RD1)보다 문턱전압이 높은 프로그램된 메모리 셀들을 재프로그램 할 수 있다(S220). 다만, 이것은 일 실시예로서, 제 1독출전압(RD1)보다 문턱 전압이 낮은 프로그램된 메모리 셀들을 재프로그램 할 수도 있다.
(b)는 재프로그램되어 제 1영역 메모리 셀(X)과, 제 2영역 메모리 셀(Y)로 나뉜 것을 나타내는 그림이다. 이렇게 나뉜 제 1영역 메모리 셀(X)과 제 2영역 메모리 셀(Y)를 제 2독출전압(RD2)으로 각각 독출하게 되어, 매번 독출할 때마다, 제 1영역 메모리 셀(X)은 제 1값, 제 2영역 메모리 셀(Y)은 제 2값이 독출되도록 설정할 수 있다(S230). 일 실시예로 제 2독출전압(RD2)은 제 1영역 메모리 셀(X)의 문턱 전압보다 크고, 제 2영역 메모리 셀(Y)의 문턱 전압보다 작은 전압 레벨을 가질 수 있다. 또한, 제 1영역 메모리 셀(X)와 제 2영역 메모리 셀(Y)의 정의를 달라질 수 있다.
도 9a및 도 9b는 일 실시예에 따른 메이저리티 보팅(majority voting) 방법을 나타내는 순서도 및 메이저리팅 보팅 방법을 도표로 나타낸 도면이다.
도 9a 을 참조하면, 먼저 인증 요청에 기반하여 선택된 특정 메모리 셀들에 프로그램을 수행한다(S300). 상기 프로그램 수행 단계(S300)는 도 9의 프로그램 수행 단계(S200)과 동일하여 이하 생략한다. 이 후, 선택된 특정 메모리 셀들의 산포를 제 1독출전압으로 독출하는 단계(S310)와 상기 선택된 특정 메모리 셀들의 독출값을 제어 정보로 생성하고, 저장한다(S320). 일 실시예로서, 상기 제 1독출전압은 상기 선택된 특정 메모리 셀들의 문턱 전압의 중앙값일 수 있다. 독출을 수행할 때마다, 생성되는 독출값은 제어 정보 저장부에 저장될 수 있다. 제 1 독출전압으로 독출하는 단계(S310) 및 생성된 독출값을 제어 정보로서 저장하는 단계(S320)는 N회 반복하는 단계를 수행한다(S330). 그 결과, 선택된 특정 메모리 셀을 독출한 독출값은 N개가 제어 정보를 형성하여 제어 정보 저장부에 저장될 수 있다. 본 발명의 일 실시예로서, N회는 적어도 2회 이상일 수 있다.
프로그램된 메모리 셀들 각각은 독출값이 일정한 메모리 셀들과, 각 독출 단계마다 독출값이 일정하지 않고 달라지는 메모리 셀들로 구성될 수 있다. 독출값이 일정하지 아니한 경우, 일관되지 않은 인증 응답이 발생하게 된다. 각 메모리 셀에 대한 N회의 독출값을 나타내는 제어 정보를 기반으로, 독출값이 N회의 독출을 수행할 동안 독출값이 일정한 메모리 셀들은 제 1영역 메모리 셀, 독출값이 변하는 메모리 셀들은 제 2영역 메모리 셀로 나눈다(S340). 다만, 이는 일 실시예로서, 제 1영역 메모리 셀과 제 2영역 메모리 셀의 정의를 바꿀 수 있다. 이 후, 제 1값은 일정한 제 1영역 메모리 셀의 독출값, 제 2값은 제 2영역 메모리 셀의 독출값들 중 일정 비율 이상의 독출값으로 설정한다(S350).
본 발명의 일 실시예에 따라, 위와 같이 설정된 제 1값 및 제 2값을 조합하여 생성된 인증 응답은 레지스터 등에 저장될 수 있다. 저장된 인증 응답을 이용하여, 동일한 인증 요청이 발생한 경우, S300~S350의 메이져리티 보팅 방법을 수행하지 않고, 바로 저장된 인증 응답을 출력할 수 있다.
도 9b를 참조하여 상기 제 1값 및 제 2값을 설정하는 단계(S350)를 설명하면, C, D, E 이외의 메모리 셀은 N회 독출을 수행하는 단계에서 생성된 독출값이 일정하다. 예를 들면, A 메모리 셀은 독출값이 1로 일정하고, B 메모리 셀은 독출값이 0으로 일정하므로, A 메모리 셀 및 B 메모리 셀은 제 1영역 메모리 셀에 해당될 수 있다. 제1 영역 메모리 셀은 각각, 일정한 독출값에 따라 제1 값이 설정될 수 있다. 예를 들어, A 메모리 셀에 대한 제 1값은 1로 설정되고, B 메모리 셀에 대한 제 1값은 0으로 설정할 수 있다.
C, D, E 에 해당되는 메모리 셀은 값들은 N회 독출을 수행하는 단계에서 생성된 독출값이 일정하지 않아 C, D, E 는 일 실시예에 따라 전술한, 제 2영역 메모리 셀에 해당될 수 있다. 제 2 영역 메모리 셀 각각에 대한 제 2값은, 각 제 2영역 메모리 셀의 독출값 중 일정 비율 이상의 독출값으로 설정될 수 있다. 본 발명이 일 실시예에 따라, 상기 일정 비율은 50%가 될 수 있다. 일 실시예에 따라, 예를 들면, C 메모리 셀은 0값이 50% 이상의 비율을 가지므로, 제 2값은 0으로 설정할 수 있다. D 메모리 셀은 이와 마찬가지로, 제 2값은 0으로 설정할 수 있으며, E 메모리 셀은 1 값이 50% 이상의 비율을 가지므로, 제 2값은 1로 설정할 수 있다.
상기 예에 따라, 메모리 셀들에 대한 최종적인 독출 데이터가 도 9b에 도시되는 바와 같이, "100010111"로 결정될 수 있고, 이는 인증 응답으로 전송될 수 있다. 따라서, 각 플래시 메모리 장치에 고유한 물리적 특성을 나타내도록 프로그램된 메모리 셀들의 문턱 전압이, 전하량 손실이나 프로그램 디스터번스 등의 영향으로 1회 독출만으로는 일관되게 독출되지 않더라도, 인증 요청에 대응하여 동일한 인증 응답을 출력할 수 있는 효과가 있다.
도 10a 및 10b는 일 실시예에 따른 에러 신드롬(error syndrome) 방법의 순서도 및 에러 신드롬 방법을 그림으로 나타낸 도면이다.
도 10a을 참조하면, 프로그램을 수행하는 단계(S400) 및 제 1독출전압으로 독출하는 단계(S410)를 수행하는데, 도 9a의 프로그램 수행 단계(S300) 및 제 1 독출전압으로 독출(S310)과 동일한 바 자세한 서술은 생략한다. 이 후, 최초 독출값을 기준으로 각 독출값들의 변경 정도를 계산하여 제어 정보로서 저장한다(S420). 상기 최초 독출값은 처음 제 1독출전압으로 독출 수행시 얻은 각 선택된 특정 메모리 셀들의 독출값을 의미할 수 있다. 위와 같은 제 1독출전압으로 독출하는 단계(S410) 및 제어 정보를 생성하고 저장하는 단계(S420)를 N회 반복하여 수행되는 단계를 수행한다(S430). 즉, 제어 정보는 선택된 특정 메모리 셀들을 동일한 데이터로 프로그램하여, N회 독출을 수행하였을 때, 각 독출 수행시 생성된 각 메모리 셀들의 독출값들과 최초 독출값 대비 변경되는 각 선택된 특정 메모리 셀들의 독출값에 대한 변경 정도를 포함하는것으로서, 제어 정보 저장부에 저장될 수 있다. 본 발명의 일 실시예로서, 상기 제어 정보는 또한, 변경되는 bit의 개수에 대한 통계치를 기반으로 적절한 ECC(error correction code)를 결정하기 위한 정보를 포함할 수 있다.상기 제어 정보는 특정 메모리 셀들의 독출값의 에러를 파악할 수 있는 정보를 포함할 수 있다. 일실시예로, 결정한 상기 ECC를 기준으로 특정 메모리 셀들의 독출값의 에러 벡터(error vector)를 나타내는 신드롬(syndrome) 값을 포함할 수 있다. 특정 메모리 셀들의 독출값에 대한 신드롬(syndrome)값을 포함하는 제어 정보를 기반으로 에러 벡터(error vector)를 보정할 수 있다. 또한, 제어 정보 저장부는 ECC 디코더에 포함될 수도 있을 것이다.
제어 정보의 계산 및 저장 단계를 거친 후에, 다시 제 1독출전압으로 선택된 특정 메모리 셀들에 독출을 수행한다(S440). 제 1독출전압으로 독출하여 생성한 독출값은 에러가 포함된 ECC 디코더 상의 코드워드로 간주할 수 있다. 이 후, 상기 저장된 제어 정보를 기반으로, 선택된 특정 메모리 셀들을 독출값이 일정한 제 1영역 메모리 셀 및 독출값이 변하는 제 2영역 메모리 셀로 나눈다(S450). 다만, 이것은 일 실시예로서, 제 1영역 메모리 셀 및 제 2영역 메모리 셀의 정의를 서로 바꿀 수 있을 것이다.
본 발명의 일 실시예에 따라, 제 1영역 메모리 셀의 일정한 독출값을 제 1값으로 설정하고, 제 2영역 메모리 셀의 독출값은 제어 정보를 기반으로 하여, 에러 벡터(error vector)를 보정한다(S460). 또한, 보정한 결과를 다시 ECC 디코딩 하여 디코딩된 값을 제 2값으로 설정한다(S470). 설정된 제 1값 및 제 2값을 조합하여 인증 응답을 생성할 수 있고, 더 나아가 제 1값 또는 제 2값만으로 인증 응답을 생성할 수 있다. 본 발명의 일 실시예를 통하여, 인증 요청에 대응하여 동일한 인증 응답을 출력할 수 있다.
또한, 본 발명의 일 실시예에 따라, S410~S430 단계에서 생성되어 저장된 제어 정보를 이용하여, 인증 요청 발생시 S410~S430를 반복하지 않고 바로, S440~S470의 단계를 수행하여, 인증 요청에 대응한 인증 응답을 빠르게 생성 및 출력할 수 있다.
도 10b를 참조하면, 그림(a)에서 검은 점들은 본 발명의 일 실시예로서, 최초 독출값을 기준으로 각 독출값들의 변경 정도를 계산하여 제어 정보로서 생성하고, 저장하는 단계에서(S420) 변경되는 bit의 개수에 대한 통계치를 기반으로 결정된 적절한 ECC(error correction code) 정보이다. 상기 ECC는 제어 정보 저장부에 저장될 수 있으며, 제어 정보 저장부는 ECC 디코더에 포함될 수도 있을 것이다. 이 때, 최초 독출값은 ECC가 에러를 찾아 보정할 수 있는 범위, 예를 들면, A 및 B 범위내에 존재하지 않을 수 있다. 따라서 이것을 해결하기 위하여, S420 단계에서 신드롬(syndrome)을 기반으로 에러 벡터(error vector)의 보정을 수행하면(S460), 그림(b)와 같이 에러 벡터가 보정되어 최초 독출값은 A 범위내에 위치할 수 있고, A 범위를 가지는 코드워드로 ECC 디코딩 될 수 있다(S470).
도 11은 도 10a의 일 실시예에 따른 컨트롤러의 구현 예를 나타낸 블록도이다.
도 11을 참조하면, 도 3의 컨트롤러보다 ECC 디코더(130)를 더 포함 할 수 있다. 이는 도 10a의 에러 신드롬 방법을 구현하기 위한 구성으로서, ECC 디코더(130)는 본 발명의 일 실시예에 따라, 선택된 특정 메모리 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나누고, 제 1영역 메모리 셀의 일정한 독출값을 제 1값으로 설정하고, 제 2영역 메모리 셀의 독출값은 제어 정보를 기반으로 하여, 에러 벡터(error vector)를 보정한 후에 보정한 결과를 ECC 디코딩하기 위한 역할을 할 수 있다. 상기 제어 정보는 도10a에서 서술한 신드롬(Syndrome)에 해당될 수 있다. 또한, 도 11의 에러 신드롬 방법에서 언급한 ECC(error correction code)를 결정한 정보가 ECC 디코더(130)에 저장될 수 있을 것이다.
도 12 및 13은 일 실시예에 따른 저속 셀(slow cell) 방법을 나타내는 순서도이다.
도 12을 참조하면, 저속 셀을 검출하는 단계(S500)를 거칠 수 있으며, 위 단계는 도 13에 자세히 서술한 바, 이하 생략한다. 이후, 저속 셀들에 입력 데이터로 프로그램 수행한다(S510). 상기 입력 데이터는 모두 동일한 1 비트 이상의 데이터일 수 있다. 상기 프로그램된 상기 저속 셀들을 제 1독출전압으로 독출하여 독출값을 생성한다(S520). 상기 제 1독출전압은 상기 저속 셀들의 문턱 전압들의 중앙값이거나 중앙값보다 작은 값일 수 있다.
각각의 저속 셀들의 독출값들의 합산을 수행하여, 이를 제어 정보로서 생성하여 저장한다(S530). 저속 셀에 동일한 데이터로 프로그램 수행하는 단계(S510), 독출값 생성 단계(S520), 제어 정보 생성 및 저장 단계(S530)를 N회 반복하는 단계를 수행한다(S540).
일 실시예로서, 각각의 저속 셀들에 0인 데이터를 첫번 째로 프로그램을 수행하여, 각각의 저속 셀들을 독출을 수행한 결과, 저속셀들 중 제 1 저속셀의 독출값은 1, 제 2 저속셀의 독출값은 0일 수 있다. 각각의 저속 셀들에 0인 데이터를 두번 째로 프로그램을 수행하여, 각각의 저속 셀들에 독출을 수행한 결과, 상기 제 1저속셀의 독출값은 1, 제 2 저속셀의 독출값은 1일 수 있다. 따라서 제 1저속 셀 및 제 2저속 셀의 독출값들을 합산한 결과는 각각 2 및 1 의 합산값을 제어 정보로서 생성되고, 저장될 수 있다. 이와 같은 방식으로, 생성되고 저장된 제어정보를 기반으로 상기 저속 셀들을 제 1영역 메모리 셀 및 제 2영역 메모리 셀로 나눈다(S550). 다만, 합산값은 발명의 일실시예로써, 단순 합산이 아닌 다른 연산에 의한 결과일 수 있으며, 합산값은 앞에 서술한 단계에서 S510~S540를 1회 수행하여 도출된 특정값에 해당될 수 있다. 상기 저속 셀들은 제 1영역 메모리 셀 및 제 2영역 메모리 셀은 기준 저속 셀들의 합산된 독출값을 기준으로 나뉠 수 있다. 상기 기준 저속 셀들은 저속 셀들 중 특정 문턱전압을 갖는 저속 셀들일 수 있다. 제 1영역 메모리 셀은 합산된 독출값이, 기준 저속 셀들의 합산된 독출값보다 적은 저속 셀들일 수 있다. 제 2 영역 메모리 셀은 합산된 독출값이, 기준 저속 셀들의 합산된 독출값보다 큰 저속 셀들일 수 있다. 다만, 이것은 일 실시예로서, 제 1영역 메모리 셀과 제 2 영역 메모리 셀의 정의는 서로 바뀔 수 있을 것이다.
이후, 제 1영역 메모리 셀 및 제 2영역 메모리 셀의 독출값을 제 1값 및 제 2값으로 설정한다(S560). 일 실시예로서, 제 1값은 0, 제 2값은 1 일 수 있으며, 제 1값은 1, 제 2값은 0일 수 있다. 이렇게 설정된 제 1값 및 제 2 값을 조합하여 인증 요청에 응답하는 인증 응답을 생성 및 출력할 수 있으며, 일 실시예로서, 제 1값 또는 제 2값만으로 인증 응답을 생성 및 출력 할 수도 있을 것이다.
본 발명의 일 실시예에 따라, 상기 인증 응답을 레지스터 등에 저장할 수 있으며, 동일한 인증 요청 발생시, S500~S560의 저속 셀 방법을 수행하지 않고, 바로 저장된 인증 응답을 출력할 수 있다.
도 13를 참조하면, 저속 셀 방법에서, 특히 저속 셀을 검출하는 방법에 관련한 순서도를 나타낸다. 프로그램을 수행하는 단계(S600) 및 제 1독출전압으로 독출하는 단계를 수행한다(S610) 다만, 도 9a의 프로그램 수행 단계(S300) 및 제 1 독출전압으로 독출(S310)과 동일한 바 자세한 서술은 생략한다. 선택된 특정 메모리 셀들에 입력 데이터를 입력하기 위하여, 페이지 버퍼에 설정한 상기 입력 데이터와 제 1독출전압으로 독출하는 단계(S610)에서 생성된 독출값과의 연산을 수행한다(S620) 일 실시예로서, 상기 연산은 앤드(logical-AND) 연산일 수 있다. 예를 들어, 상기 입력 데이터가 모두 동일한 1 비트 데이터로서, 1로 설정되고, 독출값이 1인 경우, 앤드 연산하면 1의 결과값을 가지고, 이와 반대로, 독출값이 0인 것을 앤드 연산하면 0의 결과값을 가지게 된다. 위와 같은 프로그램 수행 단계(S600), 제 1독출전압으로 독출하는 단계(S610) 및 페이지 버퍼 입력 데이터와 독출값간 연산 수행하는 단계(S620)를 N회 반복할 수 있도록 하는 단계를 수행한다(S630).
위와 같은 단계를 거쳐 선택된 특정 메모리 셀들 각각의 상기 결과값을 기반으로 상기 선택된 특정 메모리 셀들 각각의 독출값들 중에서 값이 연속적으로 1의 값을 가지는 셀들을 저속 셀로 검출한다(S640). 예를 들면, N회의 프로그램 완료(S630)되어 생성된 결과값이 항상 1인 메모리 셀은 저속 셀들로 검출할 수 있다. 저속 셀 검출단계(S640)는 매 프로그램 후 독출한 결과들에 대하여 모두 AND 연산을 수행한 단계를 포함할 수 있으며, 상기 AND 연산을 거치면 저속셀인지 여부를 확인할 수 있다. 본 발명의 일 실시예에 따라 도 13의 저속 셀 검출 결과는 레지스터 등에 저장될 수 있으며, 저장된 검출 결과를 이용하여, 동일한 인증 요청 발생시, 저속 셀 검출 단계(S600~S640)를 생략할 수 있다.
도 14는 도 2의 컨트롤러의 예를 나타내는 도면이다.
도 14를 참조하면, 도 14의 컨트롤러(1100)는 호스트 인터페이스부(1130), 메모리 인터페이스부(1150), 로컬 메모리(1120), 버퍼(1140) 및 프로세서(1110)가 버스(BUS)로 연결될 수 있다.
호스트 인터페이스부(1130)는 외부의 호스트 장치(HOST)와의 인터페이스를 제공한다. 예를 들어, 호스트 인터페이스부(1130)는 SATA(Serial Advanced Technology Attachment) 또는 SAS(Serial Attached SCSI) 프로토콜의 인터페이스를 제공할 수 있다. 다만, 이에 한정되는 것은 아니다. 호스트 인터페이스부(1130)는 SATA 또는 SAS 프로토콜 이외에, USB(Universal Serial Bus), MMC(Man Machine Communication), PCI-E(Peripheral Component Interconnect-Express), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), 그리고 IDE(Intelligent Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜로, 호스트 장치(HOST)와의 인터페이스를 제공할 수 있다.
메모리 인터페이스부(1150)는 호스트 장치(HOST)로부터의 요청에 응답하여, 메모리 장치(MDEV)에 데이터를 프로그램 하거나 리드 하기 위해, 메모리 장치(MDEV)와의 인터페이스를 제공할 수 있다. 예를 들어, 호스트 장치(HOST)로부터 전송되는 논리 블록 어드레스(Logical Block Address)에서 메모리 장치(MDEV)의 페이지에 대한 물리 어드레스로 변환된 결과를, 메모리 인터페이스부(1150)는 메모리 장치(MDEV)에 제공할 수 있다.
버퍼(1140)는 호스트 장치(HOST)와 메모리 장치(MDEV) 사이의 원활한 데이터 전송을 위해 사용될 수 있다. 예를 들어, 버퍼(1140)는 호스트 장치(HOST)의 요청에 따라 메모리 장치(MDEV)에 프로그램 될 데이터를 임시적으로 저장할 수 있다. 또는 버퍼(1140)는 호스트 장치(HOST)의 요청에 따라 메모리 장치(MDEV)로부터 리드 되는 데이터를 임시적으로 저장할 수 있다. 버퍼(1140)는 DRAM 또는 SRAM과 같은 휘발성 메모리, 또는 MRAM, PRAM, FRAM 또는 플래시 메모리와 같은 비휘발성 메모리로 구현될 수 있다.
로컬 메모리(1120)는 컨트롤러(1100)가 호스트 장치(HOST)의 요청이 메모리 장치(MDEV)에서 처리될 수 있도록 제어하는데 데이터 및 제어 모듈 또는 제어 프로그램이 로딩(loading)되거나 저장될 수 있다. 예를 들어, 로컬 메모리(1120)에는 펌웨어(firmware)가 저장될 수 있다. 그 플래시 메모리 시스템(1310)을 구동하는 명령 및 데이터를 포함하는 소프트웨어(software)가 특정 저장 수단에 저장되어 하드웨어화 된 것으로, 플래시 메모리 시스템(1310)에 대한 호스트 장치의 요청을 수행하기 위해 호스트 장치의 요청에 대한 기계어 처리, 데이터 전송, 리스트 처리, 부동 소수점 연산 및 채널 제어 등 적어도 하나 이상의 처리를 수행한다. 펌웨어는, 전술된 본 발명의 실시예에 따른 노말 리드 명령(RCMD_N) 및 소프트 디시젼 명령(RCMD_S)과, 그에 대응되는 리드 전압 레벨들의 설정을 제어할 수 있다.
그 밖에, 로컬 메모리(1120)는 운영 체제 및 어드레스 맵핑(address mapping)에 참조되는 맵핑 테이블(mapping table) 등이 저장되거나 로딩될 수 있다. 로컬 메모리(1120)는 버퍼와 마찬가지로, DRAM 또는 SRAM과 같은 휘발성 메모리, 또는 MRAM, PRAM, FRAM 또는 플래시 메모리와 같은 비휘발성 메모리로 구현될 수 있다. 다만, 펌웨어를 형성하는 로컬 메모리는 비휘발성 메모리로 구현될 수 있다. 로컬 메모리(1120)는 적어도 하나 이상의 동종 또는 이종의 메모리로 구현될 수 있다.
프로세서(1110)는 컨트롤러(1100)의 각 구성 요소의 동작을 제어하고, 로컬 메모리(1120)에 저장되거나 로딩되는 제어 모듈 또는 제어 프로그램을 해석하고 실행시켜, 호스트 장치(HOST)로부터의 요청을 처리한다.
도 15는 도 2의 플래시 메모리 시스템이 포함되는 컴퓨터 장치를 나타내는 도면이다.
도 15를 참조하면, 일 실시예에 따른 컴퓨터 시스템(1300)은 버스(BUS)에 전기적으로 연결된 프로세서(1320), 사용자 인터페이스(1340) 및 플래시 메모리 시스템(1310)을 구비한다. 플래시 메모리 시스템(1310)은 도 2의 플래시 메모리 시스템일 수 있다. 일 실시예에 따른 컴퓨터 시스템(1300)는 파워 공급 장치(PS)를 더 구비할 수 있다. 또한, 일 실시예에 따른 컴퓨터 시스템(1300)은 프로세서(1320)와 플래시 메모리 시스템(1310) 사이의 데이터 송수신을 위한 휘발성 메모리 장치(예를 들어, RAM)를 더 구비할 수 있다.
일 실시예에 따른 컴퓨터 시스템(1300)이 모바일 장치인 경우, 컴퓨터 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 본 발명의 실시예에 따른 컴퓨터 시스템(1300)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 예를 들어, 이상에서 설명된 플래시 메모리는 2차원의 NAND 플래시 메모리일 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 예를 들어, 도 1 등에서 도시되는 실시예에 의하면, 인증 요청에 응답하여 입력 데이터가 프로그램 되었으나, 이에 한정되는 것은 아니다. 예를 들어, 플래시 메모리 장치의 제조 시에, 도 1 등의 프로그램 수행(S130)이 수행되어 그 결과가 플래시 메모리 장치의 레지스터 등에 저장될 수 있고, 이후의 인증 요청에 의해, 예를 들어 도 1의 S130 이후의 단계들이 수행될 수도 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (10)

  1. 인증 요청에 대하여, 플래시 메모리의 메모리 셀들을 선택하는 단계;
    상기 선택된 메모리 셀들에 각각 입력 데이터를 프로그램 하는 단계;
    상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계;
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계; 및
    상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계;를 포함하는 플래시 메모리 시스템의 동작 방법.
  2. 제1항에 있어,
    상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는,
    상기 선택된 메모리 셀들을 제 1독출전압으로 독출하는 단계; 및
    상기 선택된 메모리 셀들 중 문턱 전압이 상기 제 1독출전압보다 높은 문턱 전압 또는 낮은 문턱 전압을 가지는 셀들을 구분하는 정보를 상기 제어 정보로 생성하고 저장하는 단계;를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  3. 제 2항에 있어,
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는,
    상기 선택된 메모리 셀들 중 문턱 전압이, 상기 제 1독출전압보다 낮은 메모리 셀들은 상기 제 1영역 메모리 셀로 설정하는 단계;
    상기 선택된 메모리 셀들 중 문턱 전압이, 상기 제 1독출전압보다 높은 메모리 셀들은 상기 제 2영역 메모리 셀로 설정하는 단계; 및
    상기 제 2영역 메모리 셀에 재프로그램하여, 상기 제 2영역 메모리 셀의 문턱 전압을 높이는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  4. 제 3항에 있어,
    상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계는,
    상기 제 1영역 메모리 셀의 문턱 전압보다 크고, 상기 제 2 영역 메모리 셀의 문턱 전압보다 작은, 제 2독출전압을 이용하여, 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을, 각각 상기 제 1값 및 상기 제 2값으로 설정하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  5. 제 1항에 있어,
    상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는,
    상기 선택된 메모리 셀들을 적어도 두번 이상 독출하는 단계; 및
    상기 선택된 메모리 셀들을 독출 할때마다 생성된 독출값을 상기 제어 정보로 생성하고 저장하는 단계를 포함하고,
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는,
    상기 선택된 메모리 셀들을 적어도 두 번 이상 독출한 독출값이 일정한 메모리 셀을 상기 제 1영역 메모리 셀로 설정하는 단계; 및
    상기 선택된 메모리 셀들을 적어도 두 번 이상 독출한 독출값이 일정하지 아니한 메모리 셀을 상기 제 2영역 메모리 셀로 설정하는 단계를 포함하며,
    상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀의 독출값을 각각 제 1값 및 제 2값으로 설정하여 상기 인증 요청에 대한 인증 응답을 생성하는 단계는,
    상기 제 1영역 메모리 셀의 상기 일정한 독출값을 상기 제 1 값으로 설정하는 단계; 및
    상기 제 2영역 메모리 셀의 독출값들 중 일정 비율 이상의 독출값을 상기 제2 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  6. 제 1항에 있어,
    상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는,
    상기 선택된 메모리 셀들을 적어도 두번 이상 독출하고,
    상기 제어 정보는 상기 독출을 수행하여 얻은 각 선택된 메모리 셀들의 독출값들 중 하나를 기준으로, 각 독출값들의 변경 정도를 나타낸 정보를 포함하며,
    상기 선택된 메모리 셀들 중, 적어도 두 번 이상 독출한 독출값이 일정한 메모리 셀을 상기 제 1영역 메모리 셀로 설정하는 단계; 및
    상기 선택된 메모리 셀들 중, 적어도 두 번 이상 독출한 독출값이 일정하지 아니한 메모리 셀을 상기 제 2영역 메모리 셀로 설정하는 단계를 포함하며,
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는,
    상기 제 1영역 메모리 셀의 일정한 독출값을 상기 제 1값으로 설정하는
    단계;
    상기 제 2영역 메모리 셀의 상기 변하는 독출값을 상기 제어 정보를 기반으로 에러 보정을 하는 단계;
    상기 보정된 상기 제 2영역 메모리 셀의 상기 변하는 독출값을 ECC 디코딩하는 단계; 및
    상기 ECC 디코딩 결과값을 상기 제 2값으로 설정하는 단계;를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  7. 제 1항에 있어,
    상기 메모리 셀들에 각각 입력 데이터를 프로그램 하는 단계는,
    저속 셀들을 검출하는 단계를 더 포함하고
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계는,
    상기 검출된 저속 셀들을 상기 제 1영역 메모리 셀 및 상기 제 2영역 메모리 셀로 나누는 단계;를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  8. 제 7항에 있어,
    상기 저속 셀들을 검출하는 단계는,
    상기 메모리 셀들에 프로그램되는 데이터에 대응되는 각 셀들을 제 1독출전압으로 적어도 한 번이상 독출하는 단계;
    상기 독출하는 단계마다, 상기 프로그램되는 데이터와 상기 제 1독출전압으로 독출한 상기 메모리 셀들의 각각의 독출값을 비교하는 단계; 및
    상기 비교한 결과를 기반으로, 저속 셀들을 결정하는 단계;를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  9. 제 8항에 있어,
    상기 메모리 셀들에 각각 동일한 데이터를 적어도 한번 이상의 프로그램 수행하는 단계를 더 포함하고,
    상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계는,
    상기 프로그램 수행 단계마다, 상기 저속 셀들에 프로그램되는 데이터에 대응되는 각 저속 셀들을 제 1 독출전압으로 독출하는 단계; 및
    상기 독출하는 단계마다 생성된 상기 각 저속 셀들의 독출값들을 합산하여, 생성한 상기 제어 정보를 저장하는 단계;를 포함하는 것을 특징으로 하고,
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계;는,
    상기 독출값의 합산값이 상기 저속 셀들 중 특정 문턱 전압에 대응되는 기준 저속 셀들의 상기 합산값보다 적은 저속 셀들은 상기 제 1 영역 메모리 셀로 설정하는 단계; 및
    상기 독출값의 합산값이 상기 저속 셀들 중 특정 문턱 전압에 대응되는 기준 저속 셀들의 상기 합산값보다 큰 저속 셀들은 상기 제 2 영역 메모리 셀로 설정하는 단계 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 동작 방법.
  10. 플래시 메모리가 외부에서 챌린지(challenge)를 수신하는 단계;
    상기 챌린지(challenge)에 기반하여, 플래시 메모리의 메모리 셀들을 선택하는 단계;
    상기 메모리 셀들에 각각 동일한 데이터를 프로그램 하는 단계;
    상기 선택된 메모리 셀들을 독출하여, 제어 정보를 생성하고, 저장하는 단계;
    상기 제어 정보를 기반으로하여, 상기 선택된 메모리 셀들을 제1 영역 메모리 셀 및 제2 영역 메모리 셀로 나누는 단계; 및
    상기 제 1영역 메모리 셀 및 2영역 메모리 셀의 독출값을 상기 제어 정보를 기반으로 하여, 각각 제 1값 및 제 2값으로 설정하는 단계; 및
    상기 제 1값 및 상기 제 2값을 리스펀스(response)로서, 출력하는 단계를 포함하는 플래시 메모리를 이용한 물리적 복제 방지 방법.
KR1020140052980A 2014-04-30 2014-04-30 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법 KR102207217B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140052980A KR102207217B1 (ko) 2014-04-30 2014-04-30 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법
US14/693,300 US9761292B2 (en) 2014-04-30 2015-04-22 Flash memory device, flash memory system, and methods of operating the same during an authentication challenge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140052980A KR102207217B1 (ko) 2014-04-30 2014-04-30 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20150125490A true KR20150125490A (ko) 2015-11-09
KR102207217B1 KR102207217B1 (ko) 2021-01-25

Family

ID=54355339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140052980A KR102207217B1 (ko) 2014-04-30 2014-04-30 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법

Country Status (2)

Country Link
US (1) US9761292B2 (ko)
KR (1) KR102207217B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200008829A (ko) * 2018-07-17 2020-01-29 한국과학기술연구원 플래시 메모리 시스템 및 그것의 양자화 신호 생성 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10469271B2 (en) * 2016-08-04 2019-11-05 Macronix International Co., Ltd. Physical unclonable function for non-volatile memory
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10216571B2 (en) * 2016-11-10 2019-02-26 Western Digital Technologies, Inc. System and methodology for error management within a shared non-volatile memory architecture using bloom filters
US10514867B2 (en) 2016-11-10 2019-12-24 Western Digital Technologies, Inc. System and methodology that facilitates error management within a shared non-volatile memory architecture
JP2018186406A (ja) * 2017-04-26 2018-11-22 ルネサスエレクトロニクス株式会社 半導体装置、及び固有id生成方法
JP2019169217A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 メモリシステム、その制御方法及びプログラム
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056238A1 (en) * 2004-09-13 2006-03-16 Jin-Sung Park Flash memory devices having a voltage trimming circuit and methods of operating the same
US20070127291A1 (en) * 2005-12-06 2007-06-07 Yupin Fong System for reducing read disturb for non-volatile storage
US20110317488A1 (en) * 2010-06-23 2011-12-29 Phison Electronics Corp. Data reading method and control circuit and memory controller using the same
KR20120035064A (ko) * 2010-10-04 2012-04-13 삼성전자주식회사 리드 성능을 향상시킬 수 있는 리드 파라미터 변경 방법과 상기 방법을 수행할 수 있는 장치들
US20120239976A1 (en) * 2010-07-09 2012-09-20 Stec, Inc. Apparatus and method for determining a read level of a flash memory after an inactive period of time
US20130007543A1 (en) * 2011-06-30 2013-01-03 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW527604B (en) 1998-10-05 2003-04-11 Toshiba Corp A memory systems
US6757832B1 (en) 2000-02-15 2004-06-29 Silverbrook Research Pty Ltd Unauthorized modification of values in flash memory
US7325090B2 (en) 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
US7370190B2 (en) 2005-03-03 2008-05-06 Digimarc Corporation Data processing systems and methods with enhanced bios functionality
KR101678568B1 (ko) * 2009-03-06 2016-11-22 인트린직 아이디 비브이 물리적 시스템에 의존하여 암호화 키를 설정하기 위한 시스템
US8619979B2 (en) 2010-06-25 2013-12-31 International Business Machines Corporation Physically unclonable function implemented through threshold voltage comparison
US20120002803A1 (en) 2010-07-02 2012-01-05 Wael Adi Self reconfiguring vlsi architectures for unknown secret physical functions based crypto security systems
FR2964278A1 (fr) 2010-08-31 2012-03-02 St Microelectronics Rousset Extraction de cle dans un circuit integre
JP5499365B2 (ja) 2010-09-29 2014-05-21 国立大学法人神戸大学 メモリセルアレイを用いたidチップおよびその生成方法
US9454414B2 (en) * 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
KR101489758B1 (ko) * 2013-08-26 2015-02-04 한국전자통신연구원 플래시 메모리의 동작 제어 방법 및 장치
US9343135B2 (en) * 2013-09-09 2016-05-17 Qualcomm Incorporated Physically unclonable function based on programming voltage of magnetoresistive random-access memory
US10216965B2 (en) * 2014-01-08 2019-02-26 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
US9279850B1 (en) * 2014-02-14 2016-03-08 Altera Corporation Physically unclonable functions with enhanced margin testing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056238A1 (en) * 2004-09-13 2006-03-16 Jin-Sung Park Flash memory devices having a voltage trimming circuit and methods of operating the same
US20070127291A1 (en) * 2005-12-06 2007-06-07 Yupin Fong System for reducing read disturb for non-volatile storage
US20110317488A1 (en) * 2010-06-23 2011-12-29 Phison Electronics Corp. Data reading method and control circuit and memory controller using the same
US20120239976A1 (en) * 2010-07-09 2012-09-20 Stec, Inc. Apparatus and method for determining a read level of a flash memory after an inactive period of time
KR20120035064A (ko) * 2010-10-04 2012-04-13 삼성전자주식회사 리드 성능을 향상시킬 수 있는 리드 파라미터 변경 방법과 상기 방법을 수행할 수 있는 장치들
US20130007543A1 (en) * 2011-06-30 2013-01-03 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200008829A (ko) * 2018-07-17 2020-01-29 한국과학기술연구원 플래시 메모리 시스템 및 그것의 양자화 신호 생성 방법

Also Published As

Publication number Publication date
KR102207217B1 (ko) 2021-01-25
US20150317257A1 (en) 2015-11-05
US9761292B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
KR102207217B1 (ko) 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법
US11386952B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
US8923067B2 (en) Memory system and method of operating memory system using soft read voltages
US8289771B2 (en) Data reading method and control circuit and memory controller using the same
US11714710B2 (en) Providing data of a memory system based on an adjustable error rate
US11657886B2 (en) Intelligent proactive responses to operations to read data from memory cells
US20220083277A1 (en) Adaptive and/or Iterative Operations in Executing a Read Command to Retrieve Data from Memory Cells
US20210350868A1 (en) Detection of an Incorrectly Located Read Voltage
KR20090099265A (ko) 메모리 장치 및 데이터 판정 방법
US9472300B2 (en) Data storage device and operating method thereof
KR102089570B1 (ko) 저장 장치 및 그것의 데이터 처리 방법
TW202029188A (zh) 資料讀取方法、儲存控制器與儲存裝置
US9304851B2 (en) Decoding with log likelihood ratios stored in a controller
KR20130030099A (ko) 플래시 메모리 시스템 및 플래시 메모리 시스템의 독출 방법
US10614892B1 (en) Data reading method, storage controller and storage device
US20140185375A1 (en) Memory system to determine inference of a memory cell by adjacent memory cells, and operating method thereof
US11869584B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
CN104795102A (zh) 随机数产生方法、内存存储装置及控制电路

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