JP6193629B2 - 不揮発性メモリセルの物理的特性を利用して乱数を生成する方法 - Google Patents

不揮発性メモリセルの物理的特性を利用して乱数を生成する方法 Download PDF

Info

Publication number
JP6193629B2
JP6193629B2 JP2013119560A JP2013119560A JP6193629B2 JP 6193629 B2 JP6193629 B2 JP 6193629B2 JP 2013119560 A JP2013119560 A JP 2013119560A JP 2013119560 A JP2013119560 A JP 2013119560A JP 6193629 B2 JP6193629 B2 JP 6193629B2
Authority
JP
Japan
Prior art keywords
random number
memory
data
generation method
nonvolatile memory
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2013119560A
Other languages
English (en)
Other versions
JP2014032655A (ja
Inventor
昶圭 薛
昶圭 薛
駿鎮 孔
駿鎮 孔
弘楽 孫
弘楽 孫
弼相 尹
弼相 尹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014032655A publication Critical patent/JP2014032655A/ja
Application granted granted Critical
Publication of JP6193629B2 publication Critical patent/JP6193629B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Read Only Memory (AREA)

Description

本発明は半導体メモリ装置に関し、より具体的には不揮発性メモリセルの物理的特性を利用して乱数を生成する不揮発性メモリシステム及びその乱数生成方法に関する。
半導体メモリ装置は一般的にDRAM、SRAM等のような揮発性メモリ装置とEEPROM、FRAM(登録商標)、PRAM、MRAM、フラッシュメモリ等のような不揮発性メモリ装置とに区分することができる。揮発性メモリ装置は電源が遮断される時、格納されたデータを失うが、不揮発性メモリは電源が遮断されでも格納されたデータを保存する。特に、フラッシュメモリは速い読出し速度、低い電力消費、大容量データ格納等の長所を有する。したがって、フラッシュメモリに基づくフラッシュメモリシステムはデータ格納媒体として広く使用されている。
フラッシュメモリを含むメモリ装置にデータを格納する時、暗号化されたデータ(encrypted data)を格納できる。データを暗号化する時には暗号化キー(encryption key)を使用する。暗号化キーは一般的に使用者情報(user information)、暗号、又は乱数(random number)から生成するか、或いはこれらを組合して生成する。メモリシステムは乱数を生成するために乱数発生器(random number generator)を別に具備する。
米国特許第7,617,065号公報
本発明の目的は別の乱数発生器を具備しなくとも乱数を発生できるフラッシュメモリシステム及びそれの乱数生成方法を提供することにある。
本発明の実施形態によるメモリ装置の乱数生成方法は、不揮発性メモリセルをプログラムする段階と、乱数読出しデータを発生するために、前記不揮発性メモリセルの特性に関連して選択された乱数読出し電圧を利用して、前記プログラムされた不揮発性メモリセルを読み出す段階と、前記乱数読出しデータから乱数(random number)を発生する段階と、を含む。
実施形態として、本発明は前記乱数読出しデータから乱数を発生する段階は、別の乱数発生回路を使用しなくとも遂行できる。前記不揮発性メモリセルの特性は前記不揮発性メモリセルのプログラムの結果に発生する前記不揮発性メモリセルの名目の閾値電圧分布(nominal threshold voltage distribution)であり得る。前記乱数読出し電圧は前記名目の閾値電圧分布内で選択され得る。前記乱数読出し電圧は前記名目の閾値電圧分布の中間(center)で選択され得る。
他の実施形態、前記不揮発性メモリセルの特性は前記不揮発性メモリセルのプログラムの結果にしたがう少なくとも1つの不揮発性メモリセルによるスローセル反応(slow cell response)であり得る。前記不揮発性メモリセルのプログラムはワンショットプログラム動作であり得る。前記不揮発性メモリセルの各々はシングルレベルセルSLCであり得る。前記不揮発性メモリセルは1つのワードラインに共通に連結された物理的ページに配列され得る。
本発明の他の実施形態による乱数生成方法は不揮発性メモリセルの特性の観点で選択された乱数読出し電圧を使用して,プログラムされた不揮発性メモリセルから乱数読出しデータを得る段階を含む。
実施形態として、本発明は前記乱数読出しデータを論理的に結合(logically combining)することによって、乱数を発生する段階をさらに包含できる。また、本発明は前記乱数から暗号化キーを発生する段階と、前記暗号化キーを使用してメモリ装置とメモリコントローラを含むメモリシステムによって、入力されたデータを暗号化する段階と、を含み、前記メモリ装置は前記不揮発性メモリセルを包含することができる。前記暗号化キーを発生する段階は、前記メモリ装置と前記メモリコントローラとの中でいずれか1つに配置されたキー発生器によって遂行できる。
他の実施形態、前記乱数読出し電圧は前記不揮発性メモリセルのプログラムの結果に発生する前記不揮発性メモリセルの名目の閾値電圧分布(nominal threshold voltage distribution)内で選択され得る。前記乱数読出し電圧は前記名目の閾値電圧分布の中間(center)で選択され得る。前記乱数読出し電圧は前記不揮発性メモリセルのプログラムの間に各々の不揮発性メモリセルがスローセル(slow cell)として反応するか否かを検証するのに使用されるプログラム検証電圧であり得る。
本発明の実施形態による暗号化キー発生方法は、プログラム電圧を使用して不揮発性メモリセルをプログラムする段階と、名目の閾値電圧分布内に在る少なくとも1つの乱数読出し電圧を使用して前記プログラムされた不揮発性メモリセルを読み出すことによって、乱数読出しデータを発生する段階と、前記乱数読出しデータを乱数としてキー発生器へ提供し、前記キー発生器を使用して暗号化キーを発生する段階と、を含み、前記不揮発性メモリセルの各々は前記プログラムの結果として発生する名目の閾値電圧分布内に在る閾値電圧を示すように具体化され得る。
実施形態として、前記不揮発性メモリセルの各々はシングルレベルセルであり得る。前記不揮発性メモリセルのプログラムはワンショットプログラム動作を使用して、前記不揮発性メモリセルへ前記プログラム電圧を提供することによって構成され得る。前記少なくとも1つの乱数読出し電圧は第1乱数読出しデータに対応して発生する第1乱数読出し電圧、及び第2乱数読出しデータに対応して発生する第2乱数読出し電圧を含み、前記暗号化キー生成方法は前記乱数読出しデータを発生するために前記第1及び第2乱数読出しデータを論理的に結合することができる。
本発明はフラッシュメモリセルの閾値電圧分布の特性を利用して乱数を生成する。本発明はフラッシュメモリの物理的特性を利用して乱数を発生するので、別の乱数発生器を必要としない。
本発明の実施形態によるメモリシステムを示すブロック図である。 本発明の実施形態によるフラッシュメモリシステムを示すブロック図である。 図2に図示されたフラッシュメモリを例示的に示すブロック図である。 フラッシュメモリセルの閾値電圧分布を示すダイヤグラムである。 フラッシュメモリセルのワンショット(one shot)閾値電圧分布を示すダイヤグラムである。 図5に図示された乱数読出し電圧によって発生する乱数及びキー生成方法を示す図表である。 図2に図示されたフラッシュメモリシステムの乱数生成方法を説明するための順序図である。 本発明の他の実施形態によるフラッシュメモリシステムを示すブロック図である。 図8に図示されたフラッシュメモリを例示的に示すブロック図である。 本発明の他の実施形態によるメモリシステムを示すブロック図である。 図10に図示されたメモリシステムの乱数生成方法を説明するためのダイヤグラム及び図表である。 本発明の実施形態によるメモリシステムをメモリカードシステムに適用した例を示すブロック図である。 本発明の実施形態によるメモリシステムをソリッドステートドライブ(SSD)システムに適用した例を示すブロック図である。 図13に図示されたSSDコントローラの構成を例示的に示すブロック図である。 本発明の実施形態によるフラッシュメモリシステムを電子装置で具現した例を示すブロック図である。 本発明に使用されるフラッシュメモリを例示的に示すブロック図である。 図16に図示されたメモリブロックBLK1の3次元構造を例示的に示す斜視図である。 図17に図示されたメモリブロックBLK1の等価回路図である。
以下、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できるように詳細に説明するために、本発明の実施形態を添付した図面を参照して説明する。
図1は本発明の実施形態によるメモリシステムを示すブロック図である。図1を参照すれば、メモリシステム100は制御ユニット110、メモリ120、保安回路130、及びキー発生器140を含む。
メモリシステム100はプロービング(probing)、フォールトインジェクション(fault injection)、又は電力分析(power analysis)等のような外部攻撃(external attack)を受けることがあり得る。メモリシステム100は外部攻撃からデータを保護するためにデータを暗号化し、暗号化されたデータ(encrypted data)をメモリ120に格納することができる。
図1を参照すれば、制御ユニット110はデータ処理及び算術動作等のメモリシステム100の全般的な動作を制御する。メモリ120は制御ユニット110によって実行されるプログラム、又は使用者データ等を格納できる。メモリ120にはランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリのような不揮発性メモリ(NVM)等が包含され得る。図1では1つのメモリ120のみが図示されているが、メモリシステム100内には様々な種類のメモリが多様に存在することができる。
保安回路130は暗号化回路132及び復号化回路131を含む。暗号化回路132はアドレスADDR及びキー(KEY)を受信し、データDATAを暗号化することができる。ここで、アドレスADDR及びデータDATAは制御ユニット110から提供され、キー(KEY)はキー発生器140から提供され得る。復号化回路131はアドレスADDR及びキー(KEY)を受信し、暗号化されたデータを復号化することができる。
続いて図1を参照すれば、キー発生器140はメモリ120から乱数(RN:Random Number)を受信し、キー(KEY)を生成する。ここで、乱数RNはメモリ120から読み出した読出しデータ(RD:Read Data)であり得る。キー発生器140はメモリ120から提供された読出しデータRD又は使用者情報(user information)等を利用してキー(KEY)を生成する。
本発明の実施形態によるメモリシステム100はメモリ120の読出しデータ(RD:Read Data)を利用してキー(KEY)を生成するので、別の乱数発生器を必要としない。ここで、メモリシステム100はメモリ120の物理的特性を基づいて、読出しデータRDを乱数RNとして利用することができる。メモリ120の物理的特性を基づいてする乱数RN生成方法が以下で詳細に説明される。
図2は本発明の実施形態によるフラッシュメモリシステムを示すブロック図である。図2を参照すれば、フラッシュメモリシステム1000はフラッシュメモリ1100及びメモリコントローラ1200を含む。フラッシュメモリシステム1000にはメモリカード、USBメモリ、SSD等のように、フラッシュメモリに基づくデータ格納装置が全て包含され得る。
フラッシュメモリ1100はメモリコントローラ1200の制御にしたがって消去、書込み、又は読出し動作等を遂行できる。図2を参照すれば、フラッシュメモリ1100はメモリセルアレイ1110及びデータ入出力回路1140を含む。フラッシュメモリ1100はメモリブロック単位に消去動作を遂行し、ページ単位に書込み又は読出し動作を遂行する。
メモリコントローラ1200は外部(例えば、ホスト)の要請に応答してフラッシュメモリ1100に対する読出し及び書込み動作を制御する。メモリコントローラ1200はホストインターフェイス1210、フラッシュインターフェイス1220、制御ユニット1230、RAM1240、キー発生器1250、及び暗号化回路1260を含む。
ホストインターフェイス1210は外部(例えば、ホスト)とのインターフェイスを提供し、フラッシュインターフェイス1220はフラッシュメモリ1100とのインターフェイスを提供する。ホストインターフェイス1210はPATAバス(parallel AT attachment bus)、SATAバス(serial AT attachment)、SCSI、USB等を通じてホストと連結されることもあり得る。
制御ユニット1230はフラッシュメモリ1100に対する全般的な動作(例えば、読出し、書込み、ファイルシステム管理等)を制御することができる。例えば、図面には図示せずが、制御ユニット1230は中央処理装置(CPU)、プロセッサー(processor)、SRAM、DMA制御器等を包含することができる。
RAM1240は制御ユニット1230の制御にしたがって動作し、ワークメモリ(work memory)、バッファメモリ(buffer memory)、キャッシュメモリ(cache memory)等として使用され得る。RAM1240がワークメモリとして使用される場合に、制御ユニット1230によって処理されるデータが臨時格納される。RAM1240がバッファメモリとして使用される場合には、ホストからフラッシュメモリ1100へ、又はフラッシュメモリ1100からホストへ伝送されるデータをバッファーリングするのに使用される。RAM1240がキャッシュメモリとして使用される場合には低速のフラッシュメモリ1100が高速に動作するようにする。
RAM1240はフラッシュ変換階層FTLを駆動するための駆動メモリとして使用され得る。フラッシュ変換階層FTLはフラッシュメモリのマージ動作(merge operation)やマッピングテーブル(mapping table)等を管理するのに使用される。
キー発生器1250はフラッシュメモリ1100から提供される読出しデータを乱数RNとして利用する。キー発生器1250はフラッシュメモリ1100から提供される乱数RNを利用して、キー(KEY)を生成する。キー発生器1250は様々な方法にキー(KEY)を生成する。一般的にキー発生器1250は使用者情報や乱数(random number)を組合して生成する。暗号化回路1260はキー発生器1250からキー(KEY)を受信し、データDATAを暗号化する。
一方、従来のキー発生器は乱数を生成するために乱数発生器を別に具備する。しかし、本発明の実施形態によるフラッシュメモリシステム1000はフラッシュメモリ1100の読出しデータ(RD:Read Data)を乱数RNとして利用するので、別の乱数発生器を必要としない。
図3は図2に図示されたフラッシュメモリを例示的に示すブロック図である。図3を参
照すれば、フラッシュメモリ1100はメモリセルアレイ1110、アドレスデコーダー1120、ページバッファ回路1130、データ入出力回路1140、電圧発生器1150、及び制御ロジック1160を含む。
メモリセルアレイ1110は複数のメモリブロック(memory block)で構成され得る。図3では例として1つのメモリブロックが図示されている。各々のメモリブロックは複数の物理ページ(physical page)で構成され得る。ここで、物理ページは1つのワードラインに連結されているメモリセルの集合を意味する。図3で参照番号1111は1つの物理ページの例である。各々の物理ページは複数のメモリセルで構成され得る。各々のメモリセルはコントロールゲートとフローティングゲートを有するセルトランジスターで構成され得る。
メモリセルアレイ1110は複数のセルストリング(cell string)で構成されている。各々のセルストリング(例えば、1112)はストリング選択ライン(SSL:String Selection Line)に連結されるストリング選択トランジスター、複数のワードラインWL0〜WL63に連結される複数のメモリセル、及び接地選択ライン(GSL:Ground Selection Line)に連結される接地選択トランジスターを含む。ストリング選択トランジスターはビットラインBLに連結され、接地選択トランジスターは共通ソースライン(CSL:Common Source Line)に連結される。
フラッシュメモリ1100の1つのメモリセルにはシングルビットデータ(single bit data)又は2ビット以上のマルチビットデータ(multi bit data)が格納され得る。シングルビットデータを格納するSLCフラッシュメモリは閾値電圧分布にしたがって、消去状態とプログラム状態とを有する。マルチビットデータを格納するMLCフラッシュメモリは閾値電圧分布にしたがって、1つの消去状態と複数のプログラム状態とを有する。
続いて図3を参照すれば、アドレスデコーダー1120は選択ラインSSL、GSL又はワードラインWL0〜WL63を通じてメモリセルアレイ1110に連結される。プログラム又は読出し動作の時に、アドレスデコーダー1120はアドレスADDRを受信し、いずれか1つのワードライン(例えば、WL0)を選択することができる。
ページバッファ回路1130はビットラインBL0〜BLmを通じてメモリセルアレイ1110に連結される。ページバッファ回路1130は複数のページバッファ(図示せず)で構成される。1つのページバッファには1つのビットラインが連結(all BL構造)されるか、或いは2つ又はその以上のビットラインが連結(shield BL構造)されることもあり得る。ページバッファ回路1130は選択ページ1111にプログラムされるデータや選択ページ1111から読み出したデータを臨時的に格納できる。
データ入出力回路1140は内部的にはデータラインDLを通じてページバッファ回路1130に連結され、外部的には入出力ライン(I/O)を通じてメモリコントローラ(図2参照、1200)に連結される。データ入出力回路1140はプログラム動作の時、メモリコントローラ1200からプログラムデータ(program data)を受信する。そして、データ入出力回路1140は読出し動作の時、読出しデータ(read data)をメモリコントローラ1200へ提供し、乱数生成動作の時には乱数(random number)を出力(read out)することができる。
電圧発生器1150はメモリコントローラ1200から電源PWRを受信し、データを読み出すか、或いは書き込むのに必要であるワードライン電圧VWLを発生する。ワードライン電圧VWLはアドレスデコーダー1120へ提供される。図3を参照すれば、電圧発生器1150は選択読出し電圧発生器(Vrd generator、1151)、非選択読出し電圧発生器(Vread generator、1152)、及び乱数読出し電圧発生器(Vrn generator、1153)を含む。
選択読出し電圧発生器1151は選択されたワードライン(例えば、WL0)へ選択読出し電圧Vrdを提供する。そして、非選択読出し電圧発生器1152は非選択されたワードラインWL1〜WL63へ非選択読出し電圧Vreadを提供する。非選択読出し電圧Vreadはセルストリングに連結されたメモリセルを十分に動作させ得る電圧レベルである。
乱数読出し電圧発生器1153は乱数生成動作の時に乱数読出し電圧Vrnを発生する。乱数生成動作の時に、乱数読出し電圧発生器1153は選択ワードラインWL0へ乱数読出し電圧Vrnを提供し、非選択読出し電圧発生器1152は非選択ワードラインWL1〜WL63へ非選択読出し電圧Vreadを提供する。乱数読出し電圧Vrnはフラッシュメモリセルの閾値電圧分布特性を通じて求められる。これは図4及び図5でさらに詳細に説明される。
制御ロジック1160はコマンドCMD、アドレスADDR、及び制御信号CTRLを利用して、フラッシュメモリ1100のプログラム、読出し、消去等の動作を制御することができる。例えば、制御ロジック1160は読出し動作の時に、アドレスデコーダー1120を制御することによって、選択ワードライン(例えば、WL0)へ選択読出し電圧Vrdが提供されるようにし、ページバッファ回路1130及びデータ入出力回路1140を制御することによって、選択ページ1111にプログラムされたデータを読み出すことができる。一方、制御ロジック1160は乱数生成動作の時に、選択ワードラインWL0へ乱数読出し電圧Vrnを提供することによって、乱数を生成することができる。
図4はフラッシュメモリセルの閾値電圧分布を示すダイヤグラムである。図4で横軸はメモリセルの閾値電圧を示し、縦軸はメモリセルの数を示す。
乱数(random number)を生成できるフラッシュメモリの物理的特性の中にはプログラムノイズ(program noise)と読出しノイズ(read noise)がある。プログラムノイズは各々のメモリセル毎に互に異なる閾値電圧移動速度を有することに起因する。プログラムノイズはメモリセルの閾値電圧分布に影響を与える要素として、各々のプログラム状態は正規分布と類似な分布を有する。フラッシュメモリを利用する乱数の生成はプログラム状態の正規分布特性を利用することである。
読出しノイズは特定データが格納された同一ページへ同一読出し電圧を印加しても読出しデータが変わる現象に現われる。フラッシュメモリはこのような読出しノイズ特性を利用して乱数を生成することもできる。
図4に示したように、1つのページ内の全てのメモリセルを特定データ(例えば、0)にプログラムすれば、メモリセルの閾値電圧分布は正規分布曲線を形成する。この時、乱数読出し電圧Vrnは閾値電圧分布の中間値に該当する電圧であり得る。乱数読出し電圧Vrnを選択ワードラインWL0へ印加し、非選択読出し電圧Vreadを非選択ワードラインWL1〜WL63へ印加し読出し動作を遂行する。
このような乱数生成動作を通じて1つのページに該当する乱数を生成することができる。様々なページに対して乱数生成動作を遂行すれば、該当するページサイズぐらいの乱数を得られる。図4ではSLCプログラム動作の場合を例としているが、MLCプログラム動作の場合にも各々のプログラム状態から乱数を得られる。
図5はフラッシュメモリセルのワンショット(one shot)閾値電圧分布を示すダイヤグラムである。少なくとも1つのページを同一のデータ(例えば、データ 0)にSLCプログラムすれば、メモリセルは図5に示したようにワンショット(one shot)閾値電圧分布を有する。フラッシュメモリ(図3参照、1100)は様々なレベルの乱数読出し電圧を通じて乱数を生成することができる。
図5は3つの乱数読出し電圧Vrn1、Vrn2、Vrn3を印加する例を示している。選択ワードラインWL0へ第1乃至第3乱数読出し電圧Vrn1、Vrn2、Vrn3を順に印加し、乱数生成動作を遂行すれば、ページ内の各セルの閾値電圧によって、第1乃至第3乱数が生成される。
図6は図5に図示された乱数読出し電圧によって発生する乱数及びキー生成方法を示す図表である。図6で第1乱数RN1は第1乱数読出し電圧Vrn1を選択ワードライン(例えば、WL0)へ印加する時に発生する読出しデータである。同様に、第2及び第3乱数RN2は第2乱数読出し電圧Vrn2を印加する時に発生する読出しデータである。第1乃至第3乱数RN1〜RN3から発生するキー(KEY)は様々な方法に求められる。図6では第1乃至第3乱数RN1〜RN3をXOR演算を通じてキー(KEY)を求める例が図示されている。
図7は図2に図示されたフラッシュメモリシステムの乱数生成方法を説明するための順序図である。以下では図2及び図3を参照し、本発明の実施形態によるフラッシュメモリシステムの乱数生成方法が説明される。
S110段階で、乱数を発生するワードライン(例えば、WL0)が選択される。図3では乱数を発生するワードラインWL0が1つのみが図示されているが、より多い数のワードラインが選択されることもあり得る。フラッシュメモリ(図3参照、1100)はページ単位にプログラム及び読出し動作が遂行されるので、多数個のワードラインが選択される場合にもプログラムや読出し動作は各々の選択ワードラインに対して別個に遂行される。
S120段階で、選択ページは全ての同一データ(例えば、データ 0)にプログラムされる。このために、ページバッファ回路1130内の全てのページバッファにデータ0がロードされた後に、選択ページが全て0にプログラムされる。選択ページが0にプログラムされれば、メモリセルの閾値電圧分布は図5に示したようにワンショット(one shot)閾値電圧分布を有する。
S130段階で、選択ワードラインWL0へ乱数読出し電圧Vrnが印加される。非選択ワードラインWL1〜WL63には非選択読出し電圧Vreadが提供される。選択ワードラインWL0へ印加される乱数読出し電圧Vrnは閾値電圧分布の中間値に該当する電圧である。実施形態によっては図5に示したように様々なレベルの乱数読出し電圧が印加されることもあり得る。
S140段階で、選択されたページを読み出す。乱数読出し電圧Vrnが閾値電圧分布の中間値であるので、選択ページから読み出したデータは乱数(random number)として使用することができる。
S150段階で、選択ページから読み出すデータはメモリコントローラ(図2参照、1200)のキー発生器1250へ提供される。キー発生器1250はフラッシュメモリ1100の読出しデータを乱数(random number)として使用してキー(KEY)を生成する。暗号化回路1260はキー発生器1250から提供されるキー(KEY)を利用してデータを暗号化する。
以上で説明したように、本発明の実施形態によるフラッシュメモリシステム1000はフラッシュメモリセルの閾値電圧分布の特性を利用して乱数を発生できる。本発明はフラッシュメモリ1100の物理的特性を利用して乱数を発生するので、別の乱数発生器を必要としない。
図8は本発明の他の実施形態によるフラッシュメモリシステムを示すブロック図である。図8を参照すれば、フラッシュメモリシステム2000はフラッシュメモリ2100及びメモリコントローラ2200を含む。メモリコントローラ2200はホストインターフェイス2210、フラッシュインターフェイス2220、制御ユニット2230、RAM2240、及び暗号化回路2250を含む。
図8に図示されたフラッシュメモリシステム2000ではキー発生器2165がフラッシュメモリ2100内に包含される。フラッシュメモリ2100は内部的に読出しデータを利用してキー(KEY)を生成し、生成されたキー(KEY)をメモリコントローラ2200の暗号化回路2250へ提供する。キー発生器2165を含むフラッシュメモリ2100の内部構成及び動作は図9で詳細に説明される。
図9は図8に図示されたフラッシュメモリを例示的に示すブロック図である。図9を参照すれば、フラッシュメモリ2100はメモリセルアレイ2110、アドレスデコーダー2120、ページバッファ回路2130、データ入出力回路2140、電圧発生器2150、及び制御ロジック2160を含む。
電圧発生器2150は選択読出し電圧発生器(Vrd generator、2151)、非選択読出し電圧発生器(Vread generator、2152)、及び乱数読出し電圧発生器(Vrn generator、2153)を含む。乱数読出し電圧発生器2153は乱数生成動作の時に選択ワードラインWL0へ乱数読出し電圧Vrnを提供する。
制御ロジック2160はキー発生器2165を含む。キー発生器2165は乱数生成動作の時に、データ入出力回路2140から乱数(random number)を受信し、キー(KEY)を生成する。キー(KEY)はデータ入出力回路2140を通じてメモリコントローラ(図8参照、2200)の暗号化回路2250へ提供される。暗号化回路2250はフラッシュメモリ2100から提供されたキー(KEY)を利用してデータを暗号化し、暗号化されたデータをフラッシュメモリ2100又は他のメモリ(図示せず)へ提供する。
図8に図示されたフラッシュメモリシステム2000は図2に図示されたフラッシュメモリシステム1000と同様な方法で、フラッシュメモリセルの閾値電圧分布の特性を利用して乱数を生成する。本発明はフラッシュメモリ2100の物理的特性を利用して乱数を発生するので、別の乱数発生器を必要としない。
図10は本発明の他の実施形態によるメモリシステムを示すブロック図である。図10を参照すれば、メモリシステム200は制御ユニット210、フラッシュメモリ220、保安回路230、及びキー発生器240を含む。
フラッシュメモリ220はスロービットカウンター221を含む。図10に図示されたメモリシステム200はフラッシュメモリ220のスロービット(SB:Slow Bits)の数を乱数(random number)として利用してキー(KEY)を生成することができる。フラッシュメモリ220のスロービットSB物理的特性を基づく乱数RN発生方法が以下で詳細に説明される。
保安回路230は暗号化回路232及び復号化回路231を含む。暗号化回路131はアドレスADDR及びキー(KEY)を受信し、データDATAを暗号化することができる。ここで、キー(KEY)はキー発生器240から提供される。暗号化されたデータ(Encrypted DATA)はフラッシュメモリ220に格納される。
図11は図10に図示されたメモリシステムの乱数生成方法を説明するためのダイヤグラム及び図表である。フラッシュメモリ220はプログラム動作の時にスローセル(slow cell)の数がランダム(random)であるという物理的特性を利用して乱数(random number)を生成することができる。
図11を参照すれば、フラッシュメモリセルは閾値電圧分布にしたがって複数のプログラム状態P1、P2、P3を有することができる。フラッシュメモリ220は選択ワードライン(図3参照、WL0)へプログラム電圧を印加した後に、プログラム検証動作を遂行する。プログラム検証動作はプログラム検証電圧(例えば、Vf1、Vf2)を選択ワードラインへ印加することによって遂行される。ここで、Vf1はメモリセルがP1状態にプログラムされたか否かを検証するための電圧であり、Vf2はP2状態であるか否かを検証するための電圧である。
プログラム検証電圧Vf1、Vf2に到達しなかったスローセル(slow cell)の数はランダムであるので、スロービットの数を通じて乱数を生成することができる。図11の例で、第1スロービットSB1はVf1検証を通じて生成されたスロービットを示し、第2スロービットSB2はVf2検証を通じて生成されたスロービットを示す。キー(KEY)は第1及び第2スロービットSB1、SB2をXOR演算して生成することができる。
その他の乱数生成方法には読出しノイズ(read noise)特性を利用する方法がある。読出しノイズは特定データが記録された同一のページに対して同一の読出し電圧で読み出されることにも関わらず、選択ページからページバッファに転送されるデータが変わる物理的現象にある。読出しノイズはフラッシュメモリの物理的特性でこれを利用して乱数を生成することもできる。
一方、本発明によるメモリシステムはフラッシュメモリのP/Eサイクルにしたがって、様々な乱数生成方法を交互に使用することができる。例えば、P/Eサイクル初期段階ではフラッシュメモリの閾値電圧分布特性を利用して乱数を生成し、後の段階ではスロービット特性を利用して乱数を生成することができる。
また、本発明によるメモリシステムは動作モードにしたがって乱数生成方法を変更することができる。例えば、本発明の実施形態によるメモリシステムは閾値電圧分布特性を利用する乱数生成モードとスロービット特性を利用するモードを有し、モード変更を通じて乱数生成方法を変更することができる。
一方、本発明によるメモリシステムは上で説明した方法にフラッシュメモリで生成されたデータを擬似乱数生成器のシード(seed)として使用することができる。例えば、図2に図示されたフラッシュメモリシステム1000でキー発生器1250内に乱数(random number)を生成するための擬似乱数生成器を包含している場合に、擬似乱数生成器はフラッシュメモリ1100から提供されるシード(seed)を使用して乱数(random)を生成することもできる。
ここで、フラッシュメモリ1100は選択されたページを同一データにプログラムした後、選択されたワードラインへシード読出し電圧を提供し、選択されたページを読み出すことによって、シードを生成することができる。フラッシュメモリは閾値電圧分布内の特定電圧レベルに該当する電圧をシード読出し電圧に提供することができる。
本発明の実施形態によるメモリシステムは様々な製品に適用又は応用され得る。本発明の実施形態によるメモリシステムはパーソナルコンピューター、デジタルカメラ、カムコーダー、携帯電話、MP3、PMP、PSP、PDA等のような電子装置のみでなく、メモリカード、USBメモリ、ソリッドステートドライブ(Solid State Drive、以下、SSDと称する)等のような格納装置で具現され得る。
図12は本発明の実施形態によるメモリシステムをメモリカードシステムに適用した例を示すブロック図である。メモリカードシステム3000はホスト3100とメモリカード3200を含む。ホスト3100はホストコントローラ3110、ホスト接続ユニット3120、及びDRAM3130を含む。
ホスト3100はメモリカード3200にデータを書き込むか、或いはメモリカード3200に格納されたデータを読み出す。ホストコントローラ3110はコマンド(例えば、書込みコマンド)、ホスト3100の内のクロック発生器(図示せずが)で発生したクロック信号CLK、及びデータDATをホスト接続ユニット3120を通じてメモリカード3200へ伝送する。DRAM3130はホスト3100のメーンメモリである。
メモリカード3200はカード接続ユニット3210、カードコントローラ3220、及びフラッシュメモリ3230を含む。カードコントローラ3220はカード接続ユニット3210を通じて受信されたコマンドに応答して、カードコントローラ3220の内にあるクロック発生器(図示せずが)で発生したクロック信号に同期してデータをフラッシュメモリ3230に格納する。フラッシュメモリ3230はホスト3100から伝送されたデータを格納する。例えば、ホスト3100がデジタルカメラである場合、メモリカード3200は映像データを格納する。
図12に図示されたメモリカードシステム3000はカードコントローラ3220又はフラッシュメモリ3230内にキー発生器(図2又は図8参照)を包含することができる。本発明によるメモリカードシステム3000は上で説明した乱数生成方法を通じて、別の乱数発生器を具備しなくとも乱数を生成することができる。本発明はこれを通じてメモリカードの面積をそのまま維持しながら、データ信頼性を維持することができる。
図13は本発明の実施形態によるメモリシステムをソリッドステートドライブSSDシステムに適用した例を示すブロック図である。図13を参照すれば、SSDシステム4000はホスト4100とSSD4200を含む。ホスト4100はホストインターフェイス4111、ホストコントローラ4120、及びDRAM4130を含む。
ホスト4100はSSD4200にデータを書き込むか、或いはSSD4200に格納されたデータを読み出す。ホストコントローラ4120はコマンド、アドレス、制御信号等の信号SGLをホストインターフェイス4111を通じてSSD4200へ伝送する。DRAM4130はホスト4100のメーンメモリである。
SSD4200はホストインターフェイス4211を通じてホスト4100と信号SGLを通信し、電源コネクター(power connector)4221を通じて電源が入力される。SSD4200は複数の不揮発性メモリ4201〜420n、SSDコントローラ4210、及び補助電源装置4220を含むことができる。ここで、複数の不揮発性メモリ4201〜420nはNANDフラッシュメモリ以外にもPRAM、MRAM、ReRAM、FRAM(登録商標)等で具現され得る。
複数の不揮発性メモリ4201〜420nはSSD4200の格納媒体として使用される。複数の不揮発性メモリ4201〜420nは複数のチャンネルCH1〜CHnを通じてSSDコントローラ4210に連結され得る。1つのチャンネルには1つ又はそれ以上の不揮発性メモリが連結され得る。1つのチャンネルに連結される不揮発性メモリは同一のデータバスに連結され得る。
SSDコントローラ4210はホストインターフェイス4211を通じてホスト4100と信号SGLを通信する。ここで、信号SGLにはコマンド、アドレス、データ等が包含され得る。SSDコントローラ4210はホスト4100のコマンドにしたがって該当不揮発性メモリにデータを書き込むか、或いは該当不揮発性メモリからデータを読出す。SSDコントローラ4210の内部構成は図14を参照して詳細に説明される。
補助電源装置4220は電源コネクター4221を通じてホスト4100に連結される。補助電源装置4220はホスト4100から電源PWRを受信し、充電することができる。一方、補助電源装置4220はSSD4200の内に位置するか、或いはSSD4200の外に位置することもできる。例えば、補助電源装置4220はメーンボードに位置し、SSD4200へ補助電源を提供することもできる。
図14は図13に図示されたSSDコントローラ4210の構成を例示的に示すブロック図である。図14を参照すれば、SSDコントローラ4210はNVMインターフェイス4211、ホストインターフェイス4212、暗号化回路4213、制御ユニット4214、及びSRAM4215を含む。
NVMインターフェイス4211はホスト4100のメーンメモリから伝達されたデータを各々のチャンネルCH1〜CHnへスキャタリング(Scattering)する。そして、NVMインターフェイス4211は不揮発性メモリ4201〜420nから読み出したデータをホストインターフェイス4212を経由してホスト4100へ伝達する。
ホストインターフェイス4212はホスト4100のプロトコルに対応してSSD4200とのインターフェイスを提供する。ホストインターフェイス4212はUSB(Universal Serial Bus)、SCSI(Small Computer System Interface)、PCI express、ATA、PATA(Parallel ATA)、SATA(Serial ATA)、SAS(Serial Attached SCSI)等を利用してホスト4100と通信できる。また、ホストインターフェイス4212はホスト4100がSSD4200をハードディスクドライブ(HDD)として認識するように支援するディスクエミュレーション(Disk Emulation)機能を遂行できる。
暗号化回路4213はSSDコントローラ4210又は不揮発性メモリ4201〜420nに含まれたキー発生器からキー(KEY)を受信し、データを暗号化することができる。制御ユニット4214はホスト4100から入力された信号SGLを分析し、処理する。制御ユニット4214はホストインターフェイス4212やNVMインターフェイス4211を通じてホスト4100や不揮発性メモリ4201〜420nを制御する。制御ユニット4214はSSD4200を駆動するためのファームウェアにしたがって不揮発性メモリ4201〜420nの動作を制御する。
SRAM4215は不揮発性メモリ4201〜420nの効率的に管理をするために使用されるソフトウェアS/Wを駆動するのに使用され得る。また、SRAM4215はホスト4100のメーンメモリから入力されたメタデータを格納するか、或いはキャッシュデータを格納できる。急なパワーオフ動作の時に、SRAM4215に格納されたメタデータやキャッシュデータは補助電源装置4220を利用して不揮発性メモリ4201〜420nに格納され得る。
再び図13を参照すれば、本発明の実施形態によるSSDシステム4000は不揮発性メモリセルの閾値電圧分布の特性を利用して乱数を生成する。本発明は不揮発性メモリの物理的特性を利用して乱数を発生するので、別の乱数発生器を必要としない。
図15は本発明の実施形態によるフラッシュメモリシステムを電子装置で具現した例を示すブロック図である。ここで、電子装置5000はパーソナルコンピューター(PC)で具現されるか、或いは、ノートブック型コンピューター、携帯電話、PDA(Personal Digital Assistant)、及びカメラ等のような携帯用電子装置で具現され得る。
図15を参照すれば、電子装置5000はメモリシステム5100、電源装置5200、補助電源装置5250、中央処理装置5300、DRAM5400、及び使用者インターフェイス5500を含む。メモリシステム5100はフラッシュメモリ5110及びメモリコントローラ5120を含む。メモリシステム5100は電子装置5000に内装され得る。
本発明による電子装置5000はフラッシュメモリセルの閾値電圧分布の特性を利用して乱数を生成する。本発明はフラッシュメモリ5110の物理的特性を利用して乱数を発生するので、別の乱数発生器を必要としない。
本発明の実施形態によるメモリシステムは2次元構造を有するフラッシュメモリのみでなく、3次元構造を有するフラッシュメモリにも適用され得る。図16は本発明に使用されるフラッシュメモリを例示的に示すブロック図である。図16を参照すれば、フラッシュメモリ6000は3次元セルアレイ6110、データ入出力回路6120、アドレスデコーダー6130、及び制御ロジック6140を含む。
3次元セルアレイ6110は複数のメモリブロックBLK1〜BLKzを含む。各々のメモリブロックは3次元構造(又は垂直構造)を有することができる。2次元構造(又は水平構造)を有するメモリブロックでは、メモリセルが基板と水平方向に形成される。しかし、3次元構造を有するメモリブロックでは、メモリセルが基板と垂直方向に形成される。各々のメモリブロックはフラッシュメモリ6000の消去単位を成す。
データ入出力回路6120は複数のビットラインBLsを通じて3次元セルアレイ6110に連結される。データ入出力回路6120は外部からデータDATAが入力されるか、或いは3次元セルアレイ6110から読み出したデータDATAを外部へ出力する。アドレスデコーダー6130は複数のワードラインWLs及び選択ラインGSL、SSLを通じて3次元セルアレイ6110に連結される。アドレスデコーダー6130はアドレスADDRを受信しワードラインを選択する。
制御ロジック6140はフラッシュメモリ6000のプログラム、読出し、消去等の動作を制御する。例えば、制御ロジック6140はプログラム動作の時に、アドレスデコーダー6130を制御することによって、選択ワードラインにプログラム電圧が提供されるようにし、データ入出力回路6120を制御することによって、データがプログラムされるようにすることができる。
図17は図16に図示されたメモリブロックBLK1の3次元構造を例示的に示す斜視図である。図17を参照すれば、メモリブロックBLK1は基板SUBと垂直方向に形成されている。基板SUBにはn+ドーピング領域が形成される。基板SUBの上にはゲート電極膜(gate electrode layer)と絶縁膜(insulation layer)とが交互に蒸着される。そして、ゲート電極膜(gate electrode layer)と絶縁膜(insulation layer)との間には電荷格納膜(charge storage layer)が形成され得る。
ゲート電極膜と絶縁膜とを垂直方向にパターニング(vertical patterning)すれば、V字形状のピラー(pillar)が形成される。ピラーはゲート電極膜と絶縁膜を貫通して基板SUBに連結される。ピラー(Pillar)の外殻部分Oはチャンネル半導体に構成され得り、内部Iはシリコン酸化物(Silicon Oxide)のような絶縁物質で構成され得る。
続いて図17を参照すれば、メモリブロックBLK1のゲート電極膜(gate electrode layer)は接地選択ラインGSL、複数のワードラインWL1〜WL8、及びストリング選択ラインSSLに連結され得る。そして、メモリブロックBLK1のピラー(pillar)は複数のビットラインBL1〜BL3に連結され得る。図13では、1つのメモリブロックBLK1が2つの選択ラインGSL、SSL、8つのワードラインWL1〜WL8、及び3つのビットラインBL1〜BL3を有することと図示されているが、実際にはこれらよりより多いか、或いは少ないことがあり得る。
図18は図17に図示されたメモリブロックBLK1の等価回路図である。図18を参照すれば、ビットラインBL1〜BL3と共通ソースラインCSLとの間にはNANDストリングNS11〜NS33が連結されている。各々のNANDストリング(例えば、NS11はストリング選択トランジスターSST、複数のメモリセルMC1〜MC8、及び接地選択トランジスターGSTを含む。
ストリング選択トランジスターSSTはストリング選択ライン(String Selection Line;SSL1〜SSL3)に連結されている。複数のメモリセル(MC1〜MC8は各々対応するワードラインWL1〜WL8に連結されている。そして接地選択トランジスターGSTは接地選択ライン(Ground Selection Line:GSL)に連結されている。ストリング選択トランジスター(SSTはビットラインBL)に連結され、接地選択トランジスター(GSTは共通ソースラインCSL:Common Source Line)に連結されている。
続いて図18を参照すれば、同一高さのワードライン(例えば、WL1)は共通に連結され、ストリング選択ラインSSL1〜SSL3は分離されている。第1ワードラインWL1に連結され、NANDストリングNS11、NS12、NS13に属しているメモリセル(以下、ページと称する)をプログラムする場合には、第1ワードラインWL1と第1ストリング選択ラインSSL1が選択される。
本発明の範囲又は技術的思想を逸脱しなく本発明の構造が多様に修正や変更され得ることはが分野に熟練された者に明確である。上述した内容を考慮して見るとき、もし本発明の修正及び変更が下の請求項及び同等物の範疇内に属すれば、本発明がこの発明の変更及び修正を含むことと解釈できる。
1000… フラッシュメモリシステム
1100… フラッシュメモリ
1200… メモリコントローラ
1210… ホストインターフェイス
1220… フラッシュインターフェイス
1230… 制御ユニット
1240… RAM
1250… キー発生器
1260… 暗号化回路

Claims (13)

  1. 不揮発性メモリ装置の乱数生成方法において、
    複数の不揮発性メモリセルをプログラムする段階と、
    乱数読出しデータを発生するために、前記不揮発性メモリセルの特性に関連して選択された乱数読出し電圧を利用して前記プログラムされた複数の不揮発性メモリセルを読み出す段階と、
    前記乱数読出しデータから乱数(random number)を発生する段階と、を含み、
    前記不揮発性メモリセルの特性は前記不揮発性メモリセルのプログラムの結果にしたがう少なくとも1つの不揮発性メモリセルによるスローセル反応(slow cell response)である
    ことを特徴とする乱数生成方法。
  2. 前記乱数読出しデータから乱数を発生する段階は、別の乱数発生回路を使用しなくとも遂行される請求項1に記載の乱数生成方法。
  3. 前記不揮発性メモリセルのプログラムはワンショットプログラム動作である請求項1に記載の乱数生成方法。
  4. 前記不揮発性メモリセルの各々はシングルレベルセル(SLC)である請求項1に記載の乱数生成方法。
  5. 前記不揮発性メモリセルは1つのワードラインに共通に連結された物理的ページに配列される請求項1に記載の乱数生成方法。
  6. 複数の不揮発性メモリセルの特性の観点で選択された乱数読出し電圧を使用して、プログラムされた複数の不揮発性メモリセルから乱数読出しデータを得る段階を含み、
    前記乱数読出し電圧は前記不揮発性メモリセルのプログラムの間に各々の不揮発性メモリセルがスローセル(slow cell)として反応するか否かを検証するのに使用されるプログラム検証電圧である
    ことを特徴とする乱数生成方法。
  7. 前記乱数読出しデータを論理的に結合(logically combining)することによって、乱数を発生する段階をさらに含む請求項6に記載の乱数生成方法。
  8. 前記乱数から暗号化キーを発生する段階と、
    前記暗号化キーを使用して、メモリ装置とメモリコントローラを含むメモリシステムによって入力されたデータを暗号化する段階と、を含み、
    前記メモリ装置は前記不揮発性メモリセルを含む請求項7に記載の乱数生成方法。
  9. 前記暗号化キーを発生する段階は、前記メモリ装置と前記メモリコントローラとの中でいずれか1つに配置されたキー発生器によって遂行される請求項8に記載の乱数生成方法。
  10. プログラム電圧を使用して複数の不揮発性メモリセルをプログラムする段階と、
    少なくとも1つの乱数読出し電圧を使用して前記プログラムされた複数の不揮発性メモリセルを読み出すことによって、請求項1乃至請求項9のいずれか一項に記載の方法により、乱数読出しデータを発生する段階と、
    前記乱数読出しデータを乱数としてキー発生器へ提供し、前記キー発生器を使用して暗号化キーを発生する段階と、を含み、
    前記不揮発性メモリセルの各々は前記プログラムの結果に発生する名目の閾値電圧分布内に在る閾値電圧を示すように具体化される暗号化キー発生方法。
  11. 前記不揮発性メモリセルの各々はシングルレベルセルである請求項10に記載の暗号化キー発生方法。
  12. 前記不揮発性メモリセルのプログラムはワンショットプログラム動作を使用して前記不揮発性メモリセルへ前記プログラム電圧を提供することで構成される請求項11に記載の暗号化キー発生方法。
  13. 前記少なくとも1つの乱数読出し電圧は第1乱数読出しデータに対応して発生する第1乱数読出し電圧、及び第2乱数読出しデータに対応して発生する第2乱数読出し電圧を含み、
    前記暗号化キー発生方法は前記乱数読出しデータを発生するために前記第1乱数読出しデータ及び前記第2乱数読出しデータを論理的に結合する請求項10に記載の暗号化キー発生方法。
JP2013119560A 2012-07-31 2013-06-06 不揮発性メモリセルの物理的特性を利用して乱数を生成する方法 Active JP6193629B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120084064A KR102083271B1 (ko) 2012-07-31 2012-07-31 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
KR10-2012-0084064 2012-07-31

Publications (2)

Publication Number Publication Date
JP2014032655A JP2014032655A (ja) 2014-02-20
JP6193629B2 true JP6193629B2 (ja) 2017-09-06

Family

ID=50025491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013119560A Active JP6193629B2 (ja) 2012-07-31 2013-06-06 不揮発性メモリセルの物理的特性を利用して乱数を生成する方法

Country Status (5)

Country Link
US (1) US9218159B2 (ja)
JP (1) JP6193629B2 (ja)
KR (1) KR102083271B1 (ja)
CN (1) CN103578550B (ja)
TW (1) TWI617945B (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060996B1 (ko) * 2013-01-07 2020-02-11 삼성전자주식회사 단말기의 메모리 주소 및 데이터변환 장치 및 방법
US9529570B2 (en) * 2014-03-19 2016-12-27 Seagate Technology Llc Random number generation using pulsed programming parameters
DE102014206992A1 (de) * 2014-04-11 2015-10-15 Siemens Aktiengesellschaft Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
KR102235492B1 (ko) * 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
US9575727B2 (en) 2014-09-26 2017-02-21 Intel Corporation Methods for generating random data using phase change materials and related devices and systems
JP6587188B2 (ja) * 2015-06-18 2019-10-09 パナソニックIpマネジメント株式会社 乱数処理装置、集積回路カード、および乱数処理方法
KR20170008546A (ko) * 2015-07-14 2017-01-24 에스케이하이닉스 주식회사 난수 발생 회로 및 이를 이용한 반도체 시스템
US9967094B2 (en) * 2015-08-25 2018-05-08 Nxp Usa, Inc. Data processing system with secure key generation
US9747982B1 (en) 2016-02-22 2017-08-29 Arm Ltd. Device and method for generating random numbers
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
TWI620119B (zh) * 2017-02-21 2018-04-01 群聯電子股份有限公司 隨機資料產生電路、記憶體儲存裝置及隨機資料產生方法
US10512182B2 (en) 2017-02-22 2019-12-17 Toshiba Memory Corporation Electronic apparatus
JP6865652B2 (ja) * 2017-02-22 2021-04-28 キオクシア株式会社 電子機器
CN108536423B (zh) * 2017-03-03 2022-05-10 群联电子股份有限公司 随机数据产生电路、存储器存储装置及随机数据产生方法
JP6349008B1 (ja) * 2017-04-13 2018-06-27 力旺電子股▲ふん▼有限公司eMemory Technology Inc. 乱数発生装置及びその制御方法
US10536266B2 (en) 2017-05-02 2020-01-14 Seagate Technology Llc Cryptographically securing entropy for later use
EP3407336B1 (en) * 2017-05-22 2022-08-17 Macronix International Co., Ltd. Unchangeable phyisical unclonable function in non-volatile memory
KR20190033791A (ko) * 2017-09-22 2019-04-01 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 장치 및 이들을 포함하는 메모리 시스템
US11522724B2 (en) * 2017-12-11 2022-12-06 International Business Machines Corporation SRAM as random number generator
US11728000B1 (en) 2017-12-13 2023-08-15 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for detecting counterfeit or defective memory
CN110018810B (zh) * 2018-01-10 2021-05-18 力旺电子股份有限公司 随机码产生器
TWI648739B (zh) * 2018-03-20 2019-01-21 大陸商深圳大心電子科技有限公司 記憶體管理方法與儲存控制器
US11063755B2 (en) * 2018-05-07 2021-07-13 Cryptography Research, Inc. Generating a key at a device based on a memory of the device
US11620108B1 (en) * 2018-05-17 2023-04-04 Board Of Trustees Of The University Of Alabama For And On Behalf Of The University Of Alabama In Huntsville Random number generation systems and methods
US11321475B2 (en) 2018-10-04 2022-05-03 Hewlett Packard Enterprise Development Lp Entropy data based on error correction data
KR102644274B1 (ko) * 2018-11-22 2024-03-06 삼성전자주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 메모리 컨트롤러의 동작 방법
US11757632B2 (en) * 2018-12-19 2023-09-12 Micron Technology, Inc. Generating a random value based on a noise characteristic of a memory cell
US11139043B2 (en) 2019-05-20 2021-10-05 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for identifying counterfeit memory
KR20200137542A (ko) * 2019-05-30 2020-12-09 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 저장 장치
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
CN110491434B (zh) * 2019-08-23 2021-04-02 上海华虹宏力半导体制造有限公司 一种闪存存储器装置及其编程方法
US11650795B2 (en) * 2019-08-23 2023-05-16 SK Hynix Inc. Raw read based physically unclonable function for flash memory
JP2021033687A (ja) * 2019-08-26 2021-03-01 キオクシア株式会社 メモリシステム
CN110941418B (zh) * 2019-11-26 2022-04-01 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
US11532354B2 (en) * 2020-03-22 2022-12-20 Silicon Storage Technology, Inc. Precision tuning of a page or word of non-volatile memory cells and associated high voltage circuits for an analog neural memory array in an artificial neural network
US11232844B2 (en) * 2020-05-22 2022-01-25 Samsung Electronics Co., Ltd. Memory with adaptive slow-cell data compression
KR20210145341A (ko) * 2020-05-25 2021-12-02 삼성전자주식회사 비휘발성 메모리 장치에서의 데이터 암호화 방법, 비휘발성 메모리 장치 및 사용자 장치
KR20220099384A (ko) 2021-01-06 2022-07-13 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR20230003972A (ko) * 2021-06-30 2023-01-06 현대자동차주식회사 디지털 랜덤 암호키 생성 장치

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2333652A (en) * 1998-01-24 1999-07-28 Motorola Ltd Random number generator with improved equiprobability
US7170996B1 (en) * 1999-10-18 2007-01-30 Qualcomm Incorporated Random number generation for encrypting cellular communications
DE60234084D1 (de) * 2001-02-07 2009-12-03 Fdk Corp Zufallszahlengenerator und wahrscheinlichkeitsgenerator
US20020128928A1 (en) * 2001-03-09 2002-09-12 Hiroshi Sukegawa Music distribution method for distributing production such as music, server used for said music distribution method, and music reproduction apparatus
JP4053792B2 (ja) * 2001-03-09 2008-02-27 株式会社東芝 音楽配信方法及び音楽再生装置
US6963888B2 (en) * 2001-11-29 2005-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
TW557636B (en) * 2002-03-26 2003-10-11 Ind Tech Res Inst Random number generator
DE10219135B4 (de) * 2002-04-29 2004-03-04 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl
US7599976B1 (en) 2002-11-13 2009-10-06 Metrowerks Corporation System and method for cryptographic key generation
JP3696209B2 (ja) * 2003-01-29 2005-09-14 株式会社東芝 シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
US7139785B2 (en) * 2003-02-11 2006-11-21 Ip-First, Llc Apparatus and method for reducing sequential bit correlation in a random number generator
TW580797B (en) * 2003-03-11 2004-03-21 Chunghwa Telecom Co Ltd Random number generator using audio card
JP4359130B2 (ja) * 2003-12-05 2009-11-04 株式会社東芝 乱数生成素子
BRPI0418778A (pt) * 2004-04-26 2007-10-09 Trek 2000 Int Ltd dispositivo de armazenamento de dados portátil com sistema de criptografia
KR100706812B1 (ko) 2006-02-10 2007-04-12 삼성전자주식회사 반도체 장치의 물리적 파라미터들의 통계적 분포 특성을평가하는 방법
US20070230702A1 (en) 2006-04-04 2007-10-04 Research In Motion Limited Method, system and apparatus for updating encryption keys on a mobile communication device
TWI367490B (en) * 2006-09-08 2012-07-01 Sandisk Corp Method of pseudo random and command driven bit compensation for the cycling effects in flash memory and apparatus therefor
KR100969758B1 (ko) 2007-01-22 2010-07-13 삼성전자주식회사 플래시 변환 레이어에서 데이터를 암호화하여 처리하기위한 방법 및 장치
KR100824203B1 (ko) * 2007-04-03 2008-04-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US8130955B2 (en) * 2007-12-21 2012-03-06 Spansion Llc Random number generation through use of memory cell activity
US7826277B2 (en) * 2008-03-10 2010-11-02 Hynix Semiconductor Inc. Non-volatile memory device and method of operating the same
US8230158B2 (en) * 2008-08-12 2012-07-24 Micron Technology, Inc. Memory devices and methods of storing data on a memory device
KR101468096B1 (ko) * 2008-10-24 2014-12-04 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템
TWI387921B (zh) * 2009-04-16 2013-03-01 Univ Nat Changhua Education 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法
JP5017407B2 (ja) * 2010-03-24 2012-09-05 株式会社東芝 半導体記憶装置
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
TWI455142B (zh) * 2010-04-08 2014-10-01 Silicon Motion Inc 快閃記憶體之資料讀取的方法以及資料儲存裝置
JP5499365B2 (ja) * 2010-09-29 2014-05-21 国立大学法人神戸大学 メモリセルアレイを用いたidチップおよびその生成方法

Also Published As

Publication number Publication date
KR102083271B1 (ko) 2020-03-02
US9218159B2 (en) 2015-12-22
CN103578550A (zh) 2014-02-12
JP2014032655A (ja) 2014-02-20
CN103578550B (zh) 2019-05-28
US20140037086A1 (en) 2014-02-06
KR20140017290A (ko) 2014-02-11
TW201405359A (zh) 2014-02-01
TWI617945B (zh) 2018-03-11

Similar Documents

Publication Publication Date Title
JP6193629B2 (ja) 不揮発性メモリセルの物理的特性を利用して乱数を生成する方法
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
US8964481B2 (en) Nonvolatile memory device and sub-block managing method thereof
US9378396B2 (en) Storage device and memory controller thereof
KR101678907B1 (ko) 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20140020057A (ko) 키 제어 로직을 포함하는 플래시 메모리 장치 및 그것의 암호화 키 저장 방법
US9847122B2 (en) Multi-bit memory device and on-chip buffered program method thereof
KR102154499B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20160110596A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
KR20140133268A (ko) 더미 워드 라인을 갖는 3차원 플래시 메모리 장치 및 그것을 포함하는 데이터 저장 장치
US9524781B2 (en) Nonvolatile memory device and operating method thereof
US9030878B2 (en) Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof
TWI720985B (zh) 記憶體系統及其操作方法
US20140006859A1 (en) Storage system and data managing method thereof
US20170117056A1 (en) Memory device and an edge word line management method thereof
CN111128280B (zh) 存储装置及其操作方法
US9841918B2 (en) Flash memory device including deduplication, and related methods
US12073884B2 (en) Storage device and operating method thereof
JP2014096122A (ja) 不揮発性半導体記憶装置を用いた記憶媒体のファイルの記録方法
KR20130081533A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US20180267903A1 (en) Memory system and operating method thereof
KR20150059058A (ko) 호스트 ftl을 갖는 사용자 장치 및 그것의 오픈 블록의 페이지 오프셋 전송 방법
US11822800B2 (en) Storage system including host and storage device and operation method thereof
CN113935062A (zh) 存储器系统及其操作方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170810

R150 Certificate of patent or registration of utility model

Ref document number: 6193629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250