説明

符号化部とこれを含むデータ格納装置及びデータ格納システム並びにコンピュータシステム

【課題】符号化部とこれを含むデータ格納装置及びデータ格納システム並びにコンピュータシステムを提供する。
【解決手段】本発明のデータ格納装置は、少なくとも一つの入力コマンドをデコードし、入力コマンドに応答してリード信号及び開始信号のうちの少なくとも一つを生成する制御部を含む。開始信号は内部モード決定プロセスの開始を示す。データ格納装置は、リード信号に応答してデータを出力するメモリ部及び開始信号に応答して内部モード決定プロセスを開始して実行する符号化部も含む。内部モード決定プロセスは符号化モードを自律的に決定し、符号化部は符号化データを生成するために決定した符号化モードに基づいて出力データを符号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化データの出力機能を備えるデータ格納装置及びシステムに関し、より詳細には、出力されるデータを符号化し、それぞれのデータフラグメントに対して適用する符号化方式をランダムに異なるようにすることによって強化したデータ保安(セキュリティ)機能を提供するデータ格納装置及びシステムに関するものである。
【背景技術】
【0002】
デジタルデータを格納するための多様なデータ格納装置が提供されている。例えば、ハードディスクドライブ、ソリッドステートドライブ(Solid State Drive:SSD)、多様なメモリカードがある。データ格納装置に格納されているデジタルデータを閲覧が許されていない者によって照会されないようにするため、保安(セキュリティ)領域に格納したデータの場合、符号化した後で出力することによってデータが流出してもデコードし難くするか又は略できないようにする強化したデータ保安技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、データの出力動作中に外部から2回以上の特定コマンドの入力を受けるだけでデータの各フラグメントを異なる方式により符号化して出力する符号化部とこれを含むデータ格納装置及びデータ格納システム並びにコンピュータシステムシステムを提供することにある。
本発明の目的は、符号化出力の際、出力されるデータの符号化率などのコーディングポリシーを反映できる符号化部とこれを含むデータ格納装置及びデータ格納システム並びにコンピュータシステムを提供することにある。
本発明の目的は、元データを簡単に抽出できないようにデータを符号化する符号化部とこれを含むデータ格納装置及びデータ格納システム並びにコンピュータシステムを提供することにある。
【課題を解決するための手段】
【0004】
上記目的を達成するためになされた本発明の一態様によるデータ格納装置は、少なくとも一つの入力コマンドをデコードし、該入力コマンドに応答してリード信号及び内部モード決定プロセスの開始を示す開始信号のうちの少なくとも一つを生成する制御部と、前記リード信号に応答してデータを出力するメモリ部と、前記開始信号に応答して符号化モードを自律的に決定することを含む内部モード決定プロセスを開始して実行し、該決定した符号化モードに基づいて前記メモリ部から出力される出力データを符号化して符号化データを出力する符号化部と、を備える。
【0005】
上記目的を達成するためになされた本発明の他の態様によるデータ格納装置は、入力コマンドをデコードし、符号化モードを示さない入力コマンドに応答してリード信号及びトリガー信号のうちの少なくとも一つを生成する制御部と、前記リード信号に応答してデータを出力するメモリ部と、前記トリガー信号に応答して符号化モードを示す指示データを生成し、該指示データに基づいて符号化モードセットのうちの一つの符号化モードを選択し、該選択した符号化モードに基づいて前記出力データを符号化する符号化部と、を備える。
【0006】
上記目的を達成するためになされた本発明の他の態様によるデータ格納装置は、入力コマンドをデコードし、該入力コマンドに応答してリード信号及びトリガー信号のうちの少なくとも一つを生成する制御部と、前記リード信号に応答してデータを出力するメモリ部と、前記トリガー信号に応答して第1ランダムデータを生成し、該第1ランダムデータに基づいて符号化モードセットのうちの一つの符号化モードを自律的に選択し、該選択した符号化モードに基づいて前記メモリ部から出力されたデータを符号化する符号化部と、を備える。
【0007】
上記目的を達成するためになされた本発明の一態様による符号化部は、要求される分布(distribution)を有するランダムデータを生成して該ランダムデータにより符号化モードを決定する符号化決定部と、前記決定した符号化モードに基づいてデータを符号化する符号化器と、を備える。
【0008】
また、上記目的を達成するためになされた本発明の少なくとも一態様はデータ格納装置及び/又は符号化部を含むシステムに関するものである。
【0009】
また、一実施形態としてデータを符号化する方法を提供する。
【0010】
一実施形態で、前記方法は、符号化データを生成するために、ユーザの入力に基づき一つ以上の符号化モードが有する符号化率を多様化して符号化モードを選択し、選択した符号化モードに基づいてメモリ部の出力データを符号化する。
【0011】
前記符号化モードの選択は、コーディングポリシーに基づくランダム発生器を設定し、該ランダム発生器を利用してランダムに符号化モードインジケータを生成する。前記コーディングポリシーは複数の符号化モードのそれぞれに対する選択確率を示す。また、前記符号化モードインジケータは複数の復号化モードのうちの一つを示す。
【0012】
また他の実施形態で、前記方法は、コーディングポリシーに基づき、複数の符号化モードから一つの符号化モードを選択する。前記方法は、選択した符号化モードによりデータを符号化して符号化データを生成する。前記方法は、符号化モード選択及び複数のデータに対する符号化データの段階を繰り返して行う。
【0013】
前記方法は、入力コマンドに基づき、コーディングポリシーを設定する。前記方法は、チェンジコマンドに応答してコーディングポリシーを変更する。前記方法は、メモリ部にデータが格納された領域に基づいて前記コーディングポリシーを設定する。前記方法は、コーディングポリシー格納部からコーディングポリシーリストをロードし、リストから前記コーディングポリシーを選択する。前記符号化モードは、第1符号化モード及び第2符号化モードを含み、前記第1符号化モードを選択する場合、符号化データは元の状態にデコードすることができ、前記第2符号化モードを選択する場合、符号化データは元の状態にデコードすることができない。前記コーディングポリシーは、前記第1符号化モードを選択する比率を示す。符号化モードの選択は、コーディングポリシーに基づいてランダム発生器を設定し、該ランダム発生器を利用して符号化モードインジケータをランダムに生成し、前記符号化モードインジケータは第1符号化モード及び第2符号化モードのうちの一つを示す。
【0014】
他の実施形態で、前記方法は、複数の符号化データフラグメントセットを生成する。それぞれのセットは同一の元データを代表し、それぞれのセットは少なくとも第1符号化データフラグメント及び第2符号化データフラグメントのパターンを含む。第1符号化データフラグメントは第2符号化データフラグメントに比べて符号化が行われていない。第1符号化データフラグメントは、元の状態にデコードすることができ、第2符号化データフラグメントは元の状態にデコードすることができない。前記方法は、一つのセットで示される第1符号化パターンと、他のセットで示されるパターンが異なるように複数のセットを生成する。それぞれのパターンは少なくとも一つの第1符号化データフラグメントを有する。少なくとも2セットの複数の符号化データフラグメントは第1符号化データフラグメントの個数が同一である。前記方法は、第1符号化データフラグメントの最大個数を示すコーディングポリシーを得て、前記コーディングポリシーに基づいて複数の符号化データフラグメントセットを生成する。
【0015】
また、一実施形態として、データリード方法を提供する。
【0016】
一実施形態で、前記方法は、入力コマンドに応答してリード信号及びトリガー信号のうちの少なくとも一つを生成し、前記リード信号に応答してメモリ部からデータを出力し、トリガー信号に応答して第1ランダムデータを生成し、第1ランダムデータに基づいて符号化モードセットから一つの符号化モードを自律的に選択して決定した符号化モードに基づいて出力データを符号化する。
その他の実施形態の具体的な内容は詳細な説明及び図面に含まれている。
【発明の効果】
【0017】
本発明によれば、データ格納装置でデータが出力される間、データ格納装置に特定コマンドを2回以上入力するだけで、出力データが強化された保安機能を有して符号化される効果がある。
【0018】
また、データ格納装置で符号化部の符号化モードスイッチングが特定コマンドの入力に応答して行われ、データ出力はスイッチングが行われる間に実行されない。従って、符号化部の符号化モードスイッチングに要求される時間を充分に保証する効果がある。その結果、データを出力する間に符号化部の符号化モードスイッチングによって要求されるデータが復元できる符号化から復元できない符号化になるか、又は復元できない符号化から復元できる符号化になる場合を防止することができる。
【0019】
また、データ格納装置は所望の(又は所定の)コーディングポリシーによる特定コマンドの入力に応答して符号化部の符号化モードを決定することができ、コーディングポリシーは外部装置から定められる。従って、符号化方法は外部装置によって定めることが可能である。
【0020】
更に、データ格納装置から出力されるデータが復元できるように符号化されるデータの位置は毎回異なり、元データは出力されない。従って、出力データが不当にデコードされることを防止することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施形態によるホスト装置及びデータ格納装置を含むコンピュータシステムの構成図である。
【図2】本発明の他の実施形態によるホスト装置及びデータ格納装置を含むコンピュータシステムの構成図である。
【図3】本発明の一実施形態によるデータ格納装置のブロック構成図、入力コマンド、及び出力データを示す図である。
【図4】本発明の一実施形態によるデータ格納装置がデータを符号化して出力する一例を示す概念図である。
【図5】本発明の一実施形態によるデータ格納装置の符号化決定部のブロック構成図である。
【図6】本発明の一実施形態によるデータ格納装置内で使用されるコーディングポリシーリストを示す図である。
【図7】本発明の一実施形態によるメモリ部の格納領域の構成例を説明する図である。
【図8】本発明の一実施形態による符号化器の構成例を説明する図である。
【図9】本発明の他の実施形態による符号化器の構成例を説明する図である。
【図10】本発明の他の実施形態による符号化器の構成例を説明する図である。
【図11】本発明の他の実施形態による符号化器の構成例を説明する図である。
【図12】本発明の他の実施形態による符号化器の構成例を説明する図である。
【図13】本発明の他の実施形態による符号化器の構成例を説明する図である。
【図14】本発明の一実施形態による第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置の動作を説明するためのタイミング図である。
【図15】本発明の一実施形態による第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置の動作を説明するためのタイミング図である。
【図16】本発明の一実施形態による第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置で符号化部スイッチング動作の最大の許容時間を説明するための詳細タイミング図である。
【図17】本発明の一実施形態による符号化対象データを同一サイズに分割した第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置の動作を説明するためのタイミング図である。
【図18】本発明の一実施形態による符号化対象データを同一ではないサイズに分割した第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置の動作を説明するためのタイミング図である。
【図19】本発明の一実施形態による第3コマンド(AUTH_READ)の入力を順次に受けるデータ格納装置の動作を説明するためのタイミング図である。
【図20】本発明の一実施形態による第3コマンド(AUTH_READ)及びアドレス情報の入力を順次に受けるデータ格納装置の動作を説明するためのタイミング図である。
【図21】本発明の一実施形態によるコントローラ及びデータ格納装置を含むデータ格納システムの構成及び動作を説明するための図である。
【図22】本発明の他の実施形態によるコントローラ及びデータ格納装置を含むデータ格納システムの構成及び動作を説明するための図である。
【図23】本発明の更に他の実施形態によるコントローラ及びデータ格納装置を含むデータ格納システムの構成及び動作を説明するための図である。
【発明を実施するための形態】
【0022】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。本発明の利点、特徴、及びそれらを達成する方法は、図面と共に詳細に後述する実施形態を参照すると明確になるであろう。しかし、本発明は、以下で開示する実施形態に限定されるものではなく、異なる多様な形態で具現することが可能である。本実施形態は、単に本発明の開示が完全になるように、本発明が属する技術分野で通常の知識を有する者に対して発明の範疇を完全に知らしめるために提供するものである。図面に表示した構成要素のサイズ及び相対的なサイズは説明の明瞭性のために誇張することがある。なお、明細書全体に亘り、同一の参照符号は同一の構成要素を指す。
【0023】
一つの素子(elements)が他の素子と「接続された(connected to)」又は「カップリングされた(coupled to)」と指称する場合は、他の素子と直接連結又はカップリングされた場合又は中間に他の素子が介在する場合を全て含む。反面、一つの素子が他の素子と「直接接続された(directly connected to)」又は「直接カップリングされた(directly coupled to)」と指称する場合は中間に他の素子を介在しないことを示す。「及び/又は」は言及したアイテムのそれぞれ及び一つ以上の全ての組合せを含む。
【0024】
第1、第2等が、多様な素子、構成要素を説明するために使用される。しかし、これらの構成要素はこれらの用語によって制限されないことは勿論である。これらの用語は単に一つの構成要素を他の構成要素と区別するために使用するものである。例えば、本発明の技術的な思想内で第1信号は、第2信号であり得、第2信号は第1信号であり得る。
【0025】
本明細書で使用する用語は、実施形態を説明するためのものであり、本発明を制限しようとするものではない。本明細書で、単数形は特別に言及しない限り複数形も含む。明細書で使用する「含む(comprises)」及び/又は「含む(comprising)」は言及した構成要素、段階、動作及び/又は素子に一つ以上の他の構成要素、段階、動作及び/又は素子の存在又は追加を排除しない。
【0026】
他に定義しなければ、本明細書で使用する全ての用語(技術及び科学的用語を含む)は、本発明が属する技術分野で通常の知識を有する者に共通に理解され得る意味において使用するものである。また、一般的に使用される辞典に定義されている用語は、明確に特別に定義されていない限り理想的に又は過度に解釈されない。
【0027】
本明細書で使用する「符号化(coding)」は、元データをランダム化してノイズデータに変換することであるが、元データを暗号化して後に復号化により元に戻すことができるようにすることを意味する。一実施形態によるデータ格納装置は、コマンドに応答して元データをランダム化したり、元データを暗号化したりすることができる。
【0028】
データ格納装置が元データをノイズデータに変換して出力する場合、符号化データの復元のため、元データがエラー修正コードを含むのが好ましい。エラー修正コードはViterbi code、Turbo codeなどの既知のコードを使用することができる。
【0029】
先ず、図1を参照して本発明の一実施形態によるコンピュータシステムについて説明する。本実施形態によるコンピュータシステム70は、ホスト装置60及びデータ格納装置10を含む。
【0030】
本実施形態によるホスト装置60は、プロセッサのような演算手段を備えるプロセシング装置である。具体的には、ホスト装置60を含むコンピュータシステム70は、携帯電話、双方向コミュニケーションシステム、単方向ポケットベル、双方向ポケットベル、パーソナルコミュニケーションシステム、携帯用のコンピュータ、携帯情報端末(PDA)、オーディオ及び/又はビデオプレーヤ、デジタル及び/又はビデオカメラ、ナビゲーションシステム、GPSなどである。
【0031】
本実施形態のデータ格納装置10は、格納手段として、例えば、NAND−FLASHメモリ、NOR−FLASHメモリ、相変化メモリ(PRAM Phase change Random Access Memory)、固体磁気メモリ(MRAM Magnetic Random Access Memory)、抵抗メモリ(RRAM(登録商標) Resistive Random Access Memory)などのような不揮発性メモリを使用したチップ又はパッケージである。以下ではデータ格納装置10の実施例としてFLASHメモリチップについて説明する。
【0032】
図1に示すように、データ格納装置10は、データ格納装置10を制御するホスト装置60に直接接続される。符号化対象データ20を得るためのリード(read)動作が行われる場合、ホスト装置60は、符号化対象データ20のリード動作のためにデータ格納装置10にコマンドを生成して提供する。
【0033】
コマンドは、その機能により、データリード動作を実行する第1コマンド、データ格納装置10の符号化モード決定のための開始信号である第2コマンド、又はデータリード動作実行及び符号化モードの決定を同時に行う第3コマンドなどがある。
【0034】
データ格納装置10は、第2コマンド又は第3コマンドの入力に応答して後のデータ出力の際に適用する符号化モードを自律的に決定する。従って、第2コマンド又は第3コマンドの入力は内部の符号化モードを決定するプロセスの開始信号としてのみ使用し、符号化モードはコマンドが指定した通りには決定されない。
【0035】
即ち、データ格納装置10に入力される符号化モードの決定に関連するコマンドはデータ格納装置10の符号化モードを直接決定したり示したりしない。また、符号化モード決定を開始することに関連するコマンドが入力される度に、データ格納装置10は、必然的に符号化モードを変更しない。上述したように、データ格納装置10が自律的に符号化モードを決定するため、ハッキングを意図してデータ格納装置10から出力されたデータを得た場合にも、復元可能なデータであるか否かについて簡単に把握できない保安(セキュリティ)効果を有する。
【0036】
データ格納装置10の符号化モードは、メモリから出力されるデータを何パーセント符号化するかを指定する。例えば、データ格納装置10の符号化モードは、20%のデータを符号化するA符号化モード及び70%のデータを符号化するB符号化モードの2種類がある。データ格納装置10は、第2コマンド又は第3コマンドが入力されると、A、B符号化モードのうちの一つをデータ格納装置10の符号化モードとして自律的に決定する。
【0037】
また他の実施形態として、データ格納装置10の符号化モードは、データを符号化せずにバイパス(bypass)するC符号化モード及び全てのデータを符号化するD符号化モードの2種類がある。データ格納装置10は、第2コマンド又は第3コマンドが入力されると、符号化モードとしてC符号化モード又はD符号化モードのうちの一つを自律的に決定する。
【0038】
一実施形態として、データ格納装置10の符号化モードは、それぞれ異なるデータ符号化率を有する複数の符号化モジュールのうちのどの符号化モジュールを使用するかについて決定する。特に、データ格納装置10の符号化モードは、復元できるようにデータを符号化する符号化モジュール及び復元できないようにデータを符号化する符号化モジュールを使用する符号化モードを含む。
【0039】
データ格納装置10は、符号化対象データを出力する間に第2コマンド又は第3コマンドの入力を複数回受けて出力するデータの符号化モードを変更することができる。符号化対象データ20は全ての類型のデジタルデータを意味する。例えば、データ格納装置10を認証するために使用されるデータ格納装置10識別情報のような認証情報である。
【0040】
ホスト装置60が符号化のためのコマンドをデータ格納装置10に提供する方法について説明する。
【0041】
先ず、符号化対象データ20を二つ以上に分割し、それぞれの分割したデータに対して適用する符号化モードを、符号化対象データ20を出力する度に変更する方式について説明する。
【0042】
ホスト装置60は、符号化対象データ20の出力範囲を分割した第1コマンド及び第2コマンドを交互に生成する。
【0043】
第1コマンドの入力を受ける間、データ格納装置10は、第2コマンドに応答して決定した符号化モードにより符号化対象データ20の一部を符号化して出力する。データ格納装置10は、第2コマンドの入力に応答してモード決定の基礎データを生成し、モード決定の基礎データに基づいて後に出力するデータを符号化するための符号化モードを決定する。データ格納装置10は、モード決定の基礎データとしてランダムデータを生成することができ、ランダムデータは特定符号化率の設定ができるランダムデータ生成器によって生成される。
【0044】
第1コマンド及び第2コマンドが入力されたデータ格納装置10の動作については図14〜図18を参照して後述する。
【0045】
次に、ホスト装置60は、分割された符号化対象データを出力するために第3コマンドを2回以上順次に生成する。データ格納装置10は、第3コマンドの入力に応答してモード決定の基礎データを生成し、モード決定の基礎データに基づいて決定した符号化モードにより符号化対象データ20の一部を符号化して出力する。第3コマンドの入力を1回受けると、出力するデータの量は第3コマンドに含まれるアドレスによって決定され得、又はホストと接続していることにより予め定められている場合もある。第3コマンドを受けたデータ格納装置10の動作についても図19及び図20を参照して後述する。
【0046】
データ格納装置10が第1コマンド及び第2コマンド又は第3コマンドの入力を受けて出力する符号化対象データ20の一部は同一のデータであり得る。即ち、符号化対象データ20は複数の同一のデータフラグメントが連結されて形成され得る。データ格納装置10は、第1コマンド及び第2コマンド又は第3コマンドの入力を受けてデータフラグメントを一つずつ符号化して出力する。このような場合、第1コマンド及び第2コマンド又は第3コマンドの入力を受ける度に出力されるデータフラグメントは符号化モードによりそれぞれ異なるデータである。
【0047】
次に、データ格納装置10が符号化対象データ20を繰り返して出力する方法について説明する。
【0048】
データ格納装置10は、第1又は第3コマンドに応答して符号化対象データ20を出力する。第1コマンドの入力を受ける場合、データ格納装置10が符号化対象データ20を出力する前に符号化モードをランダムに変更できるように第2コマンドの入力を先に受けることが好ましい。
【0049】
符号化対象データ20を繰り返して出力するデータ格納装置10は、同一のアドレスに格納されたデータを出力するのにも拘らず、出力する度に異なるデータが出力されるように構成される。
【0050】
以下、特に言及しない限り、データ格納装置10は、符号化対象データ20を分割して出力するように構成される。
【0051】
図2を参照して本発明の他の実施形態によるコンピュータシステムについて説明する。本実施形態のコンピュータシステム80は、ホスト装置60、コントローラ40、及びデータ格納装置10を含む。本実施形態のデータ格納装置10は、データ格納装置10を制御するコントローラ40と電気的に接続される。また、コントローラ40は、ホスト装置60と接続される。即ち、データ格納装置10は、コントローラ40を介してホスト装置60の制御を受ける。
【0052】
符号化対象データのリード動作が実行される場合、ホスト装置60は、一つのリード要求をコントローラ40に提供したり、分割された符号化対象データに対するリード要求を2回以上コントローラ40に提供したりする。
【0053】
ホスト装置60が分割されたデータに対して複数のリード要求を提供する場合、コントローラ40は、リード要求をデータ格納装置10に伝達する。即ち、コントローラ40は、リード要求に応答して第3コマンドを生成し、データ格納装置10に第3コマンドを提供し、データ格納装置10は、モード決定の基礎データに基づいて決定した符号化モードにより符号化対象データ20の一部を符号化して出力する。データ格納装置10は、第3コマンドの入力に応答してモード決定の基礎データを生成し、モード決定の基礎データに基づいて決定した符号化モードにより符号化対象データ20の一部を符号化して出力する。データ格納装置10から出力されたデータはコントローラ40を経由してホスト装置60に提供される。
【0054】
ホスト装置60は、リード動作を行う場合、コントローラ40に一つのリード要求を提供し、リードを要求する入力を受けたコントローラ40は、データ格納装置10が分割された符号化対象データを出力するために第3コマンドを2回以上順次に生成したり、データ格納装置10が分割された符号化対象データを出力するために第2コマンド及び第1コマンドを交互に生成したりする。この場合、データ格納装置10は、第3コマンドの入力に応答してモード決定の基礎データを生成し、モード決定の基礎データに基づいて決定した符号化モードにより符号化対象データ20の一部を符号化して出力する。また、データ格納装置10は、第1コマンドの入力を受ける間に第2コマンドに応答して生成されたモード決定の基礎データに基づいて決定した符号化モードにより符号化対象データの一部を符号化して出力する。
【0055】
図1及び図2に示すデータ格納装置10は、データ格納装置10に提供された入出力(I/O)端子(pin又はball(図示せず))により第1コマンド及び第2コマンド又は第3コマンドを受ける。その機能により多様な入出力端子がある。例えば、入出力データが送受信されるI/O端子、I/O端子を介して入力されるデータがコマンドであるか、又はアドレスであるか区分するためのコマンドラッチ端子及びアドレスラッチ端子と、I/O端子を介して入出力タイミングを決定するためのリードイネーブルメント端子及びライトイネーブルメント端子などがある。
【0056】
具体的には、コマンドを識別するためのデータはデータ格納装置10に提供されるI/O端子を介して入力される。I/O端子を介して入力されたデータがコマンドであるか否かを決定するために、コマンドラッチターミナル及びアドレスラッチターミナルを介して適切な信号が印加される。同時に、I/O端子を介して入力タイミングを形成するために、ライトイネーブルメント端子を介しても適切な信号が印加される。これについては図16を参照して詳細に後述する。
【0057】
第1コマンド又は第3コマンドはアドレス関連情報を含み得る。この場合、データ格納装置10は第1又は第3コマンドに伴うアドレスに該当するデータを出力する。
【0058】
本発明の一実施形態によるデータ格納装置10の構成及び動作について図3を参照してより詳細に説明する。図3に示すように、データ格納装置10は、メモリ部12、制御部14、及び符号化部16を含む。
【0059】
制御部14は、入力されたコマンドをデコードし、デコードの結果により内部リード信号18及び内部トリガー(trigger)信号19のうちの少なくとも一つを含む信号を出力する。制御部14は、入力されたコマンドをデコードするコマンドデコーダ140を含み、内部リード信号18のみを出力するか、内部リード信号18及び内部トリガー信号19を共に出力するか、又は内部トリガー信号19のみを出力する。本明細書では内部リード信号18のみ出力するコマンドを第1コマンド、内部トリガー信号19のみを出力するコマンドを第2コマンド、内部リード信号18及び内部トリガー信号19を共に出力するコマンドを第3コマンドという。
【0060】
内部リード信号18に応答してメモリ部12が符号化対象データ20の一部を出力する。データ格納装置10は、符号化対象データ20の一部又は分割された符号化対象データを2回以上出力することができ、データを分割して出力する間に符号化部16の符号化モードを1回以上転換する。
【0061】
メモリ部12は、制御部14から内部リード信号18の提供を受けて符号化対象データ20の一部を符号化部16に出力する。
【0062】
メモリ部12は、フラッシュメモリセルの集合であるセルアレイで構成される。セルアレイは多様なタイプのメモリセルを含み得る。例えば、セルアレイはNANDフラッシュメモリセル又はNORフラッシュメモリセルで構成され、或いはNANDフラッシュメモリセルとNORフラッシュメモリセルが混合した形態で構成される。
【0063】
メモリ部12を構成するセルアレイは2次元又は3次元で形成され得る。
【0064】
メモリ部12の各メモリセルに格納されるデータビット数は多様な形態で構成され得る。例えば、メモリ部12は、セル当たり1ビットのデータが格納されるシングルレベルフラッシュメモリセル(SLC)で構成され得、或いはセル当たり複数ビットのデータが格納されるマルチレベルフラッシュメモリセル(MLC)で構成され得る。また、シングルレベルフラッシュメモリセルとマルチレベルフラッシュメモリセルが混合した形態で構成され得る。
【0065】
メモリ部12の内部には符号化対象データ20が格納される保安領域120が割り当てられている。保安領域120は、特定アドレス領域に割り当てることができ、アドレス領域はセルアレイで特定ブロックに割り当てられたものである。保安領域の割り当ての一例として、図7にブロック0〜ブロック2が保安領域として割り当てられていることを示す。
【0066】
保安領域120以外の領域に格納されたデータがメモリ部12から提供された場合、符号化部16は、符号化モードがオン状態であっても符号化部をバイパスしたメモリ部12から提供されたデータを出力することができる。従って、保安領域120以外の領域に格納されたデータに対して符号化を要求するコマンドが入力されても、符号化部16はデータを符号化しない場合もある。
【0067】
符号化対象データ20が格納される保安領域120は、SLC(Single Level Cell)で構成され、保安領域120以外の一般領域はMLC(Multi Level Cell)で構成される。
【0068】
また、保安領域120は複数の区域を含み得る。それぞれの区域に格納されるデータは異なるコーディングポリシーが適用され得る。図7に示すように、例えば、コーディングポリシー1はブロック0に格納されるデータに適用され、コーディングポリシー2はブロック1に格納されるデータに適用され、コーディングポリシー3はブロック2に格納されるデータに適用される。従って、制御部14に入力されたコマンドがコーディングポリシーを示さない場合、制御部14は、符号化対象データ20が格納されたブロックに相応するコーディングポリシーが適用されるように符号化部16にコーディングポリシー変更信号を提供する。例えば、図7に示すメモリ部12の構成において、符号化対象データ20がブロック2に格納されるものである場合、制御部14は、符号化部16にコーディングポリシー3が適用されるようにコーディングポリシー変更信号を提供する。コーディングポリシーの変更信号を受けた符号化部16の動作については詳細に後述する。
【0069】
コーディングポリシーは特定符号化モードを適用する比率を決定する。例えば、符号化モードAがホスト装置60又はコントローラ40で復元できないように(non−correctable)符号化する符号化モードであり、符号化モードBがホスト装置60又はコントローラ40で復元できる(correctable)ように符号化する符号化モードである場合、符号化モードBを適用する比率を70%にするコーディングポリシーは、ホスト又はコントローラがデータ格納装置10から出力された符号化されたデータ10個のうちの7個を一般的に復元できることを意味する。
【0070】
符号化部16は、符号化モードによりメモリ部12から提供されたデータを符号化して出力する。
【0071】
符号化部16の符号化モードは、データを符号化するために符号化を行うモジュールのうちのどのモジュールを使用するかを、内部的、自律的に決定する。例えば、第1符号化モードでは入力データ中30%のデータを符号化するためのモジュールを使用し、第2符号化モードでは入力データ中70%のデータを符号化するためのモジュールを使用する。これとは異なり、第1符号化モードでは入力データを全て符号化するためのモジュールを使用し、第2符号化モードでは入力データをそのまま出力する場合も想定することができる。即ち、符号化部16の符号化モードは入力されるデータの符号化率を意味する。符号化部16は、内部トリガー信号19に応答して符号化モードを自律的に決定する。内部トリガー信号19も符号化モードを示さない。より詳細には、内部トリガー信号19を受けると、符号化部16は、内部トリガー信号19を開始信号としてモード決定の基礎データを生成する。また、符号化部16は、モード決定の基礎データに基づいてメモリ部から提供されたデータを符号化するために符号化モードを決定する。既に上述したように、内部トリガー信号19は、符号化部16の符号化モードを決定するための開始信号として提供されるのみであり、符号化部16の符号化モード決定に直接には影響を与えない。
【0072】
符号化部16は、ランダムデータ生成方法により自身の符号化モードを自律的に決定する。即ち、符号化部16は、第1内部トリガー信号19に応答してモード決定の基礎データとして第1ランダムデータを生成する。但し、符号化対象データが特定コーディングポリシーに符合するように符号化しなければならないため、符号化部16は、要求される(又は予め定められた)確率で第1ランダムデータを生成する。例えば、第1符号化モードを示す「0」と第2符号化モードを示す「1」のうちの一つの値がランダムに生成されるが、「0」が生成される確率が70%になるようにランダムデータ生成器を設定することができる。特定確率を決める間にモード決定の基礎データがランダムに生成される場合、符号化対象データの符号化出力パターンがランダムに変わる間、データ符号化率と関連するコーディングポリシーと遭遇する。即ち、モード決定データのデータパターンはコーディングポリシーによりランダムに変わるため、符号化出力パターンもランダムに変わる。
【0073】
符号化部16は、選択した符号化モードにより第2ランダムデータを更に生成することができる。第2ランダムデータはメモリ部12から提供されたデータを符号化することに使用される。例えば、符号化部16は、メモリ部12から提供されたデータを符号化するための第2ランダムデータと共に論理演算して符号化データを出力する。論理演算は、例えば、排他的なOR演算、論理演算の組合せなどである。複数の内部リード信号に応答して符号化部16から出力される複数のデータフラグメントは符号化対象データ20の符号化データ30を構成する。
【0074】
本実施形態のデータ格納装置10は、第2コマンド又は第3コマンドを2回以上入力することで出力されるデータの符号化をコーディングポリシーにより異なるようにすることができる。図4を参照してこれを詳細に説明する。
【0075】
符号化対象データ20は10回に分けてリードされ、第3コマンドは一定の間隔でデータ格納装置10に入力されると仮定する。またホスト装置60又はコントローラ40の復元できる限界符号化率が40%であると仮定する。復元できる限界符号化率は、例えばエラー修正コード(ECC)を利用して復元できる符号化データの最大符号化率を意味する。
【0076】
符号化モードがA−モードである場合、20%のデータを符号化する符号化モジュールを使用し、符号化モードがB−モードである場合、80%のデータを符号化する符号化モジュールを使用すると仮定する。即ち、A−モードで符号化されて出力されるデータは復元できるデータであり、B−モードで符号化されて出力されるデータは復元できないノイズデータである。また、第3コマンドが入力される場合、コーディングポリシーによりA−モードが選択される確率は70%であると仮定する。
【0077】
この場合、図4の右側に示すように、符号化パターンはROUND毎に異なって見えるが、復元できる符号化データが出力される確率は70%に維持される。符号化モードの決定は符号化部16で生成された第1ランダムデータに依存するため、この前提の環境で復元できる符号化データが出力される確率は70%とは多少異なることもある。しかし、このような誤差はROUNDを多数実行することによって解消される。また、ランダム数字の生成は復元できる符号化モードが少なくとも1回〜最大選択回数以内で選択されるように設定することができる。即ち、数字生成はデータパターンが少なくとも1回〜最大選択回数以内で復元できる符号化モードを指示するように符号化パターンに符合するデータパターンを生成する。最大数字はコーディングポリシーと符合する。例えば、コーディングポリシーが70%であれば、復元できる符号化モードにより符号化されるのは10回のうち7回以下である。
【0078】
図4に示す符号化対象データ20は、10個に分けられた領域にいずれも同一のデータが含まれている。即ち、符号化対象データ20は、2以上の同一のデータフラグメントが連結されて形成されたものであり、データ格納装置10は、符号化対象データ20のフラグメントを出力する。
【0079】
複数の同一のデータフラグメントが連結されて符号化対象データ20が形成された場合、データ格納装置10は、同一のデータフラグメントを複数回符号化して出力する。この場合、コーディングポリシーと符号化モードは、データフラグメントが出力される前に決定され、データフラグメントは、決定した符号化モードにより符号化されて出力される。データフラグメントの符号化パターンもROUND毎に異なる場合もあるが、復元できる符号化データフラグメントの比率は各ROUNDで同一に決定される。
【0080】
図4に示すものとは異なり、一実施形態として、データ格納装置10は、符号化対象データを同一アドレスによってアクセス可能な同一領域に格納することができる。この場合、データ格納装置10は、第3コマンドを複数回受けることができる。符号化対象データは、符号化部16で生成されたモード決定の基礎データに基づいて選択された符号化モードにより符号化される。しかし、符号化モードは、符号化対象データが出力される度に決定されるため、同一領域に格納された符号化対象データが出力されても、データ格納装置10は、符号化モードにより異なる符号化データを出力することができる。
【0081】
再び図4を参照すると、符号化対象データ20を複数回出力するデータ格納装置10は、符号化対象データ20の出力回数だけコマンドの入力を受ける。例えば、符号化対象データ20が10回出力される場合、データ格納装置10は、第1コマンド及び第2コマンドの両方の入力を10回受けるか、又は第3コマンドの入力を10回受ける。
【0082】
一方、データ格納装置10は、第3コマンドの入力を1回受けることで複数回の符号化対象データ20を出力することができる。このため、第3コマンドの入力を受けた制御部14は、符号化対象データ20を全て出力するために、内部リード信号18及び内部トリガー信号19を符号化対象データ20の出力回数だけメモリ部12及び符号化部16にそれぞれ提供する。
【0083】
上述したように、本実施形態によるデータ格納装置10で、符号化パターンは、復元できる符号化データが出力される確率を維持し、毎回ランダムに変わる。従って、保安を維持しつつ符号化データを復元してデータ格納装置10からデータをリードすることができる。
【0084】
符号化部16は、上述したように二つ以上の符号化モードを有することができる。しかし、理解を高めるため、符号化部16が二つの符号化モードを有する場合を例に説明する。
【0085】
図3に示すように、符号化部16は、符号化モードによりメモリ部12から提供されたデータを処理する符号化器168、及び内部トリガー信号19に応答してモード決定の基礎データを生成してモード決定の基礎データに基づいて符号化モードを決定し、符号化器168を決定した符号化モードで動作させるために、符号化器制御信号を符号化器168に提供する符号化決定部160を含む。
【0086】
符号化決定部160は、内部トリガー信号19を受ける度に符号化器の制御信号を符号化器168に提供する。これとは異なり、符号化決定部160は、自律的に決定した符号化モードが符号化器168の現在の符号化モードと異なる場合に限り、符号化モードを変換するために、符号化器168に符号化器制御信号を提供することができる。即ち、符号化決定部160は、符号化器168の符号化モード変更が必要な場合にのみ符号化器168に符号化器制御信号を提供する。この場合、符号化器168は、最小限の制御信号を受けるため、動作効率が改善される。
【0087】
図5を参照して符号化決定部160の構成及び動作について詳細に説明する。符号化決定部160は、データ格納装置10に電源が印加された後、コーディングポリシーリスト格納部163からコーディングポリシーに対するデータをロードするコーディングポリシーリストロード部164を含む。また、符号化決定部160は、内部トリガー信号19が入力されたときに符号化モードを自律的に決定するための符号化モード決定器161、及び符号化モード決定器161により決定された符号化モードで符号化器168を制御するために、符号化器制御信号を生成する符号化器制御信号生成器162を含む。
【0088】
コーディングポリシーリストロード部164は、コーディングポリシーリスト格納部163からコーディングポリシーに対するデータをロードする。コーディングポリシーリストロード部164は、データ格納装置10に電源が印加された後、ロード作業を行う。これとは異なり、コーディングポリシーリストロード部164は、データ格納装置10に電源が印加された後、ホスト装置又はコントローラから入力された特定コマンドに応答してロード作業を行うことができる。コーディングポリシーリストロード部164は、ロードされたデータを格納するために非揮発性格納手段であるレジスターを含み得る。
【0089】
図6に本発明の一実施形態によるコーディングポリシーリストを示す。コーディングポリシーは、一つのみ、又は二つ以上あり、その中から一つを選択して適用することもできる。コーディングポリシーが二つ以上ある場合、データ格納装置10は、コントローラ40又はホスト装置60により指定されたコーディングポリシーを使用するか又はコーディングポリシーを自律的に決定する。
【0090】
図6は、コーディングポリシーのうちの一つが選択されて使用される場合の例を示す図である。例えば、コーディングポリシー1が選択された場合、復元できる符号化率は40%である。符号化決定部160が内部トリガー信号19を10回受けると、復元できるようにデータを符号化する符号化モジュールは約4回選択される。
【0091】
符号化部16に適用されるコーディングポリシーを変更するため、データ格納装置10は、コーディングポリシーの設定に関連するコマンドの入力を受ける。即ち、この場合、制御部14は、入力されたコマンドをデコードし、デコードの結果に応じて内部リード信号、内部トリガー信号、及びコーディングポリシー変更信号のうちの少なくとも一つを出力する。また、符号化部16は、制御部14からコーディングポリシー変更信号を受けてコーディングポリシーを変更する。
【0092】
即ち、データ格納装置10に電源が印加された後、コーディングポリシーリストがロードされ、外部コマンドは、コーディングポリシーリストに含まれたコーディングポリシーのうちの一つを設定するために入力される。その次に、符号化部16は、設定されたコーディングポリシーの復元できる符号化率に基づいてモード決定の基礎データを生成する。
【0093】
図5に示すように、コーディングポリシーリスト格納部163は、符号化決定部160の外部に別途設けられる。例えば、コーディングポリシーリスト格納部163は、メモリ部12の特定ブロックであるeFUSE(電子ヒューズ)ブロックであり得る。また、コーディングポリシーリスト格納部163は、データ格納装置10内でメモリ部12から分離しているeFUSEブロックであり得る。データ格納装置10に電源が印加された後、eFUSEブロックに格納されたコーディングポリシーデータに対して初期リード動作が行われる。初期リード動作によるコーディングポリシーデータリードはコーディングポリシーリストロード部164によってロードされる。
【0094】
eFUSEブロック内に格納されたデータはeFUSEデータロードモードで更新が可能であるため、コーディングポリシーデータもまた更新され得る。即ち、コーディングポリシーリスト格納部163は、プログラマブル装置であり得、コーディングポリシー格納部163内に格納されたコーディングポリシーはユーザの入力に基づいてプログラミングすることができる。
【0095】
内部トリガー信号19が入力されると、符号化モード決定器161は、設定されたコーディングポリシーによる比率に基づいてランダムデータを生成するランダムデータ生成器165を活性化させる。即ち、ランダムデータ生成器165は、復元できるように符号化する符号化モード指示値がコーディングポリシーによって定義された比率で生成されるようにランダムデータを生成する。ランダムデータ生成器165は、内部トリガー信号19が1回入力されると、モード決定の基礎データを1回生成する。ランダムデータ生成器165は、ランダム数字生成のアルゴリズムなどでプログラミングされたプロセッサなどのようにハードウェア装備である。
【0096】
符号化モードA及び符号化モードBがある場合、符号化モードAと符号化モードBのうちの一つが選択される。例えば、「0」が生成されると、符号化モードAが選択され、「1」が生成されると、符号化モードBが選択される。
【0097】
次に、符号化器制御信号生成器162は、モード決定の基礎データにより符号化器168を制御するために、符号化器制御信号を生成して出力する。
【0098】
符号化決定部160がランダムデータ生成によって符号化器の符号化モードを決定する方式について追加して説明する。
【0099】
上述したように、コーディングポリシーに基づいてモード決定の基礎データを生成することは、復元できるようにデータを符号化する符号化モード指示値が特定確率で生成されるようにランダムデータを生成することである。符号化決定部160によって生成されたランダムデータは説明の便宜上「第1ランダムデータ」と称する。
【0100】
符号化決定部160が同一の間隔、同一の回数で内部トリガー信号19を受けても、符号化器168の符号化モードを決定するために使用されるデータは第1ランダムデータである。従って、ランダムデータ生成の属性上、特定アドレスで格納された特定データが復元できるように符号化されたか否かは毎回リード動作毎に変わる。即ち、データ格納装置10から出力される復元できるように符号化されたデータ領域は毎回リード動作毎に変わる。言い換えると、データ格納装置10内の特定領域に格納された特定データの出力データは毎回リード動作毎に変わるため、ハッカーによっていずれのデータが復元できるデータであるか把握され難い。従って、本実施形態のデータ格納装置10において、符号化決定部160は、第1ランダムデータに基づいて符号化器168の符号化モードを決定するために、符号化対象データ20のうちの復元できるように符号化される領域の位置を変えることが可能である。
【0101】
第1ランダムデータを生成するランダムデータ生成器165は、特定データ(例えば、特定符号化モードを示す)の生成確率をプログラミングできるようにプログラミングすることができる。
【0102】
以下、図8〜図13を参照して符号化器168の構成について説明する。
【0103】
先ず、符号化器168は、メモリ部12から提供されたデータを符号化する複数の符号化モジュールを含み得る。図8は、2個の符号化モジュール169、170を含む符号化器168の一例を示す図である。メモリ部12から出力されたデータは2個の符号化モジュール169、170に提供される。符号化決定部160から提供された符号化器制御信号により2個の符号化モジュール169、170のうちの一つのみがONになる。その次に、ONなった符号化モジュールから提供された符号化データがMUX171を介して出力される。この場合、符号化モジュールは、入力データを異なる符号化率で符号化する。符号化モジュール169、170のそれぞれの符号化率はユーザの入力に基づいてプログラミングされる。即ち、ユーザは一つ以上の符号化モジュール169、170が有する符号化率を異なるようにすることができる。また、符号化器168は、符号化モジュール169、170のうちの選択されない符号化モジュールの電源が遮断されるように構成される。図8で、MUX171が符号化モジュールの後に位置しているが、MUX171は、メモリ部12と符号化モジュールとの間に位置し得る。
【0104】
複数の符号化モジュールは、ホスト装置又はコントローラの復元できる限界符号化率以下の比率により入力データを符号化する一つ以上のAタイプ符号化モジュール、及び復元できる限界符号化率超過の比率により入力データを符号化する一つ以上のBタイプ符号化モジュールを含み得る。例えば、ホスト装置又はコントローラの復元できる限界符号化率が30%である場合、符号化モジュール169は、データの20%を符号化するAタイプ符号化モジュールであり得、符号化モジュール170は、データの70%を符号化するBタイプ符号化モジュールであり得る。
【0105】
即ち、図8に示す符号化器168は、符号化決定部160の制御により、Aタイプ符号化モジュール及びBタイプ符号化モジュールのうちの一つの符号化モジュールを利用してデータを符号化して出力する。
【0106】
図9は、符号化決定部160の制御により、メモリ部12から提供されるデータを符号化したり、そのままデータを出力したりする符号化器168を示す図である。図9に示す符号化器168は、入力データを符号化するための符号化モジュール172、及びメモリ部12から提供されるデータをMUX171にそのまま出力するバイパスバス173を含む。符号化器168は、決定した符号化モードによる符号化決定部160の制御によって符号化モジュール172及びバイパスバス173のうちの一つを活性化させる。例えば、符号化モジュール172は、メモリ部12から提供されるデータを符号化する。符号化モジュール172の符号化率は復元できる限界符号化率を超過する範囲内で多様に設定される。符号化モジュール172の符号化率はユーザの入力に基づいてプログラミングされる。即ち、ユーザは符号化モジュール172の符号化率を異なるようにすることができる。また符号化器168は、符号化モジュール172が選択されない場合に符号化モジュール172の電源が遮断されるように構成される。
【0107】
図9に示す符号化器168は、符号化決定部160の制御によってメモリ部12から提供されるデータを符号化するか又は符号化せずに符号化器168をそのまま通過するデータを出力する。
【0108】
図9でMUX171は、符号化モジュール172の後に位置しているが、MUX171はメモリ部12と符号化モジュール172との間に位置し得る。
【0109】
一方、符号化器168は、複数の符号化モジュールの代りに一つのプログラマブル符号化モジュールを備えることができる。図10は、符号化器168がプログラマブル符号化モジュール174を有する一例を示す図である。プログラマブル符号化モジュール174は、入力データの符号化率を設定する。
【0110】
図10に示す符号化器168は、決定した符号化モードによる符号化決定部160の制御によりプログラマブル符号化モジュール174の符号化率を設定する。また図10に示す符号化器168は、復元できるようにデータを符号化する符号化モードと復元できないようにデータを符号化する符号化モードとの間で符号化モードをスイッチングすることができる。即ち、符号化器168は、第1符号化モードで復元できる限界符号化率以下の第1符号化率でプログラマブル符号化モジュール174の符号化率を設定することができ、又は符号化器168は、第2符号化モードで復元できる限界符号化率超過の第2符号化率でプログラマブル符号化モジュール174の符号化率を設定することができる。符号化器168は、プログラマブル符号化モジュール174で使用されるプログラミング比率を設定するために、ユーザプログラマブルであり得る。プログラマブル比率を設定するのは、異なる符号化モード生成するためである。
【0111】
一実施形態として、符号化器168は、複数の符号化モジュール169、170の代わりに複数のランダムデータ生成器を備える。図11は、2個のランダムデータ生成器175、176を備える符号化器168の一例を示す図である。2個のランダムデータ生成器175、176のうちの一つのみが符号化決定部160から提供される符号化器制御信号によりONになる。その次に、符号化器168は、ONになったランダムデータ生成器から提供されたデータをメモリ部12から提供されたデータと論理演算180した結果を出力する。複数のランダムデータ生成器は、論理演算を行った後にメモリ部12から被演算子維持データを生成する確率が異なる。論理演算はAND、OR、XOR、NOR、NAND演算、又はこれらの組合せなどを含み得る。
【0112】
被演算子維持データは、論理演算を行った後にメモリ部12から受けたデータ値をそのまま有するデータを意味する。例えば、被演算子維持データが「E」であり、論理演算がXORであれば、全ての被演算子Aに対して「A XOR E = A」である。
【0113】
即ち、ON状態でランダムデータ生成器175、176のうちの一つの被演算子維持データ生成確率がXパーセントである場合、符号化器168から出力されたデータ中Xパーセントはメモリ部12からの元データと同じであり得、(100−X)パーセントはメモリ部12からの元データと異なることになる。従って、論理演算180に関する被演算子維持データ生成確率は符号化率と関連することがわかる。ランダムデータ生成器175、176のそれぞれによって生成された符号化率はユーザ入力に基づいてプログラミングすることができる。即ち、ユーザは一つ以上のランダムデータ生成器175、176により生成される符号化率を多様に設定することができる。
【0114】
複数のランダムデータ生成器は、復元できる限界符号化率超過の比率で入力データから被演算子維持データを生成する一つ以上のAタイプのランダムデータ生成器、及び復元できる限界符号化率以下の比率で入力データから被演算子維持データを生成する一つ以上のBタイプのランダムデータ生成器を含む。即ち、複数のランダムデータ生成器は復元できるように符号化するAタイプ及び復元できないように符号化するBタイプに分けられる。
【0115】
図12に示すように、符号化器168は、Aタイプのランダムデータ生成器175及び被演算子維持データ出力器178を含み得る。決定した符号化モードによる符号化決定部160の制御下で、符号化器168は、メモリ部12から提供されたデータをAタイプのランダムデータ生成器175及び被演算子維持データ出力器178のうちの一つから提供されたデータと論理演算して論理演算した結果を出力する。図12に示す符号化器168は、メモリ部12から提供されたデータを符号化したり、図9に示す符号化器168と同様に符号化決定部160の制御によりデータをそのまま出力したりする。これとは異なり、図12の符号化器168は、被演算子維持データ出力器178を有する代りに論理演算を行わずにメモリ部12からデータが出力されるようにバイパスバスを有することができる。ランダムデータ生成器175は、特定符号化モード又は符号化量を生成するランダムデータを生成するようにユーザがプログラミングすることができる。また、ランダムデータ生成器175は、選択されない場合には電源が遮断される。
【0116】
図13に示すように、符号化器168は、特定論理演算に関する被演算子維持データ生成確率を設定できるプログラマブルランダムデータ生成部179を含み得る。符号化器168は、決定した符号化モードによりプログラマブルランダムデータ生成部179の被演算子維持データ生成確率を設定することができ、メモリ部12から提供されたデータをプログラマブルランダムデータ生成部179から提供されたデータと特定論理演算180した結果を出力する。
【0117】
図13に示す符号化器168は、図10に示す符号化器168と同様に、復元できるようにデータを符号化する符号化モード及び復元できないようにデータを符号化する符号化モードとの間でスイッチングする。即ち、符号化器168は、第1符号化モードで復元できる限界符号化率超過の第1符号化率でプログラマブルランダムデータ生成部の被演算子維持データ生成確率を設定し、第2符号化モードで復元できる限界符号化率以下の第2符号化率でプログラマブルランダムデータ生成部の被演算子維持データ生成確率を設定する。符号化器168は、異なる符号化モードにするために、プログラマブルランダムデータ生成部179の構成に使用されるプログラミング比率を設定するためのユーザプログラマブルである。
【0118】
図8〜図13に示す符号化器168は、一例として示すものであり、符号化器168は所望する(又は予め定められた)スクランブルロジック回路として実現することができる。
【0119】
本実施形態によるデータ格納装置10は、符号化対象データ20の出力のために第1コマンド及び第2コマンドの入力を交互に受ける。この場合、データ格納装置10は、要求される(又は予め定められた)データサイズ毎に第2コマンドであるトリガーコマンドの入力を受けるか、又は全ての符号化対象データ20を出力するために要求される(又は予め定められた)回数だけの第2コマンドの入力を受ける。
【0120】
本実施形態のデータ格納装置10は、符号化対象データ20を出力するために2回以上第3コマンドの入力を受ける。この場合、データ格納装置10は、要求される(又は予め定められた)サイズのデータ毎に第3コマンドの入力を受け、全ての符号化対象データ20を出力するためにトリガー回数と同一になるように要求される(又は予め定められた)回数の第3コマンドの入力を受ける。
【0121】
以下、符号化対象データ20の一部を出力するために第1コマンド及び第2コマンドの入力を交互に受けるデータ格納装置10の動作を、図14〜図18を参照して詳細に説明する。
【0122】
第1コマンド及び第2コマンドを再び説明すると、第1コマンドは、制御部14によりデコードされ、内部リード信号18の形態でメモリ部12に伝達される。この点で従来のリードコマンドと類似する。第2コマンドは、制御部14によりデコードされ、内部トリガー信号19の形態で符号化部16に伝達される。
【0123】
データ格納装置10、特に制御部14は、第1コマンド及び第2コマンドの入力を交互に受ける。即ち、第1コマンドが入力された後、第2コマンドが入力され、第2コマンド入力された後、第1コマンドが入力される。しかし、制御部14は、符号化対象データ20が出力される間の最後に第1コマンドの入力を受けることが好ましい。最後のコマンドが第2コマンドである場合、これ以上の残余出力データがないため、第2コマンド入力は意味がないからである。
【0124】
制御部14は、最初に第2コマンドの入力を受けることができる。例えば、制御部14は、第2コマンド、第1コマンド、第2コマンド、第1コマンドの順に交互に入力を受ける。制御部14は、最初に第1コマンドの入力を受けることもできる。例えば、制御部14は、第1コマンド、第2コマンド、第1コマンドの順に交互に入力を受ける。
【0125】
整理すると、符号化対象データ20が出力される間、制御部14は、第2コマンド又は第1コマンドが最初のコマンドになるように第2コマンド及び第1コマンドの入力を交互に受けることができ、第1コマンドが最後のコマンドであることが好ましい。図14は、第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置10の動作について説明するためのタイミング図である。
【0126】
第2コマンド604は、直前の第1コマンド602によるデータ出力622が完了した後、I/Oピンを介して入力される。制御部14は、第2コマンド604の入力に応答し、符号化部16に内部トリガー信号19を提供し、符号化部16は、次の第1コマンドが入力されると、次の符号化のための第1ランダムデータにより符号化部16の符号化モードを自律的に決定する。ここで、自律的に決定する際に、符号化部16が符号化部16の符号化モードスイッチングが必要であると決定した場合、内部トリガー信号19を受けた後にスイッチングを完了することに要求される時間をtSW606aと記載する。
【0127】
上述したように、符号化部16は、第2コマンド604が入力されてもモード決定の基礎データにより符号化モードがスイッチングされないこともある。図14で、符号化部16で一番目の第2コマンド604の入力後には符号化モードがスイッチングされたが、二番目の第2コマンド604の入力後には符号化モードがスイッチングされない。
【0128】
図15に示すように、第1コマンド602は2個のサイクルを有する。即ち、第1コマンド602は、リード開始コマンド「00h」及びリード終了(confirm)コマンド「30h」を含み得る。また、出力対象データのアドレス情報はリード開始コマンドとリード終了コマンドとの間に含まれる。第1コマンド602の入力に応答してデータ格納装置10から出力されるデータは、リードイネーブルメント(RE)ピンの信号がトグル(toggle)されることによりそのアドレスが増加する。
【0129】
図16は、本発明の一実施形態による第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置10で符号化部のスイッチング動作の最大許容時間を説明するためのタイミング図である。
【0130】
データ格納装置10のI/Oピンに入力されたコマンドは、ライトイネーブルメント(WE)ピンに印加された信号が高く移動するときにラッチ(latch)される。フラッシュメモリチップに定められている通り、ライトイネーブルメント(WE)ピンに印加された信号が高く移動するときI/Oピンに入力されたデータのタイプは、コマンドラッチピン(CMD)及びアドレスラッチピン(ALE)に印加された信号状態により把握することができる。
【0131】
図16に示すように、直前の第1コマンドの入力に応答してデータ出力が完了した後、I/Oピンに入力された第2コマンドは、WE信号(S700)の立ち上がりエッジ(Rising edge)で入力される。この場合、制御部14の内部トリガー信号19を符号化部16に提供する(S701)。次に、WE信号の立ち上がりエッジ(S702、S704、及びS706)によりコマンド「00h」、「address」、「30h」命令がフラッシュメモリチップに定められたタイミングにより順次に入力される。次に、第1コマンド602によるデータ出力が行われる。第2コマンド604の入力後、次の第1コマンド602の入力に応答してデータ出力がなされる前に符号化部16のスイッチング動作が行われることが好ましい。即ち、tSW606aの最大許容期間(MAX tSW)はS700時点からS708時点に至る。
【0132】
図16に示すように、符号化部16のスイッチングが行われるための充分な時間が確保されることが分かる。
【0133】
図17は、本発明の一実施形態による符号化対象データを同一サイズに分割した第1コマンド(READ)及び第2コマンド(TR)の入力を交互に受けるデータ格納装置10の動作について説明するためのタイミング図である。
【0134】
図17に示すように、第1コマンドによりメモリ部12から出力される各符号化対象のデータフラグメント(620、622、624、626)のサイズは同一である。勿論、最後の第1コマンド602によりメモリ部12から出力される符号化対象のデータフラグメントは、既に出力されて残ったデータのみが出力されるため、他の符号化対象のデータフラグメントのサイズと異なることがある。
【0135】
即ち、第2コマンド604は一定のアドレス間隔で入力される。1番目の第2コマンドが入力される(S900)ときには符号化部16がオフ−状態からオン−状態にスイッチングされるが、2番目の第2コマンド(S902)及び3番目の第2コマンドが入力される(S904)ときには符号化部16がスイッチングされず、4番目の第2コマンドが入力される(S906)ときには符号化部16が再びスイッチングされることが分かる。既に説明したように、同一の符号化対象データ20の再リード要求によりデータが再出力される場合、図17と異なるように符号化部16の符号化モードスイッチングが行われる。
【0136】
図18に示すように、データ格納装置10は、第2コマンド604及び符号化対象データ20を同一ではないサイズに分割した第1コマンド602の入力を交互に受ける。第1コマンド602によりメモリ部12から出力される各符号化対象のデータフラグメント(630、632、634)のサイズはそれぞれ異なる。図18は、一番目の第2コマンドが入力されるとき(S910)、二番目の第2コマンドが入力されるとき(S914)、及び三番目の第2コマンドが入力されるとき(S914)のいずれも符号化部16の符号化モードがスイッチングされていることを示す。図18に示す符号化モードスイッチングケースは、符号化部16の符号化モードを自律的に決定した結果により毎回異なる。
【0137】
上述したように、データ格納装置10は、第2コマンド又は第3コマンドの入力を受けて符号化部16の符号化モードをスイッチングすることもでき、しないこともできる。しかし、符号化部16の符号化モードをスイッチングするためには、第2コマンド又は第3コマンドの入力を受けなければならない。また、データ格納装置10は、ホスト装置60から入力されたリード要求によりデータが出力される間に少なくとも一度は符号化部16の符号化モードをスイッチングする。上記で言及した動作を行うことによって少なくとも一つの実施形態によるデータ格納装置10は、符号化データ出力機能を実行することができる。また、外部から入力される第2コマンド又は第3コマンドによって符号化モードの間のスイッチングが行われる。従って、一部データが非正常的に符号化されるか又は符号化モードの間のスイッチングの遅延により非符号化されて出力される問題を防止することができる。
【0138】
以下、一つの符号化対象データ20の出力のために第3コマンドの入力を2回以上受けるデータ格納装置10の動作について図19及び図20を参照して説明する。
【0139】
制御部14が第3コマンド606の入力を受けて内部リード信号18及び内部トリガー信号19を出力するため、第3コマンド606は第1コマンド602及び第2コマンド604が一つに併合したコマンドとして理解することができる。
【0140】
図19は、第3コマンド606がアドレス情報を含まない場合を示す。データ格納装置10は、アドレス情報が第3コマンドに含まれなくても符号化対象データ20を分割して出力するため、第3コマンド606の入力に応答して要求される(又は予め定められた)サイズを有するデータを出力するように作動する。これとは異なり、データ格納装置10は、次の第3コマンド606の入力を受けると、第3コマンド606の入力に応答して直前の出力の終了時点からデータ出力を再開するように作動することができ、一時的にデータ出力を停止するように作動することもできる。
【0141】
データ格納装置10は、第3コマンドの入力を受けて符号化部16の符号化モードを決定してメモリ部12からデータが出力されるように準備する動作を行う。メモリ部12から実際にデータが出力される時点はリードイネーブルメント(RE)ピンの信号がトグル(toggle)される時点である(図16を参照)。
【0142】
従って、第3コマンド606の入力に応答して内部トリガー信号19が符号化部16に伝達される時点と、第3コマンド606の入力に応答してデータがメモリ部12から出力される時点との間には時間差が存在する。従って、符号化部16は、内部トリガー信号19の提供により自律的に決定した符号化モードへの変更を、内部トリガー信号19と同時に提供された内部リード信号18の提供によるメモリ部からのデータ出力時点の以前に完了すると、第3コマンド606の入力を受けて決定された符号化部16の符号化モードにより符号化されるか又は符号化されないデータ出力を支援することができる。
【0143】
図20は、図19に示すものとは異なり、第3コマンド606の入力を受けた後、出力されるデータのアドレスが別途に入力される場合を示す。コマンドとアドレスの入力は、コマンドラッチ端子及びアドレスラッチ端子に印加された信号状態によって区別される。この場合、データ格納装置10は、第3コマンド606の入力を受けた後、別途に入力されたアドレス情報に符合するデータのみを出力する。
【0144】
データ格納システムは、例えばメモリカードのようなカードである。具体的には、本実施形態のデータ格納システムは、例えば携帯電話機、双方向ラジオ通信システム(two−way communication system)、単方向ポケットベル(one−way pager)、双方向ポケットベル(two−way pager)、パーソナルコミュニケーションシステム(personal communication system)、携帯用のコンピュータ(portable computer)、携帯情報端末(PDA:Personal Data Assistance)、オーディオ及び/又はビデオプレーヤ、デジタル及び/又はビデオカメラ、ナビゲーションシステム(navigation system)、GPS(Global Positioning System)などの電子装置に使用される所定の業界標準(industry standard)を充足するカードである。しかし、これらに限定されるものではなく、本実施形態によるデータ格納システムは、例えばメモリスティック(stick)のような多様な形態で実現される。
【0145】
先ず、図21を参照して本発明の一実施形態によるデータ格納システム50の動作について説明する。
【0146】
本実施形態のデータ格納システム50のコントローラ40は、符号化対象データ20のうちの一部に対するリードを要求する入力を受けて第3コマンド606を生成する。リード要求は符号化対象データ20のうちの一部に対するものであるため、符号化対象データ20の全てを出力するために、コントローラ40は、リード要求を2回以上受けなければならない。データ格納装置10は、第3コマンド606の入力に応答して出力されるデータの符号化に関連するモード決定の基礎データを生成する。次に、データ格納装置10は、モード決定の基礎データに基づいて決定した符号化モードにより符号化対象データ20の一部を符号化して出力する。第3コマンド606によるデータ格納装置10の動作については上述したので重複する説明は省略する。
【0147】
リード要求にトリガータイプが含まれる場合、トリガータイプが含まれた第3コマンド606を生成することができる。この場合、上記で説明したように、データ格納装置10は、トリガータイプに符合するコーディングポリシーにより第3コマンド606の入力に応答してデータを符号化することを自律的に決定する。トリガータイプがリード要求を含まなくても、コントローラ40は、符号化対象データ20の格納位置により決定されるトリガータイプを第3コマンド606に含めることができる。
【0148】
以下、図22及び図23を参照して本発明の他の実施形態によるデータ格納システム50の動作について説明する。
【0149】
本実施形態よるデータ格納システム50は、符号化対象データ20を全て出力するためにコントローラ40に要求されるリード要求が一つのみである点で図21に示すデータ格納システムとは異なる。
【0150】
先ず、図22に示すデータ格納システム50で、コントローラ40は、リードを要求する入力を1回受けて、分割された符号化対象データを出力するために第3コマンド606を2回以上順次に出力する。例えば、図22に示すように、それぞれの出力範囲が分割された第3コマンド606は、10KB(Kilo Byte)だけのデータをそれぞれ出力するようにするものである。出力範囲が分割された第3コマンド606の入力を受けたデータ格納装置10が符号化対象データ20のフラグメントを出力することにおいて、符号化モードを自律的に決定して決定結果により符号化して出力する点については上述した。
【0151】
データ格納装置10がデータ符号化するか否かを自律的に決定する際に適用するコーディングポリシー情報はリード要求を含み得る。また、コントローラ40は、リード要求と別途にコーディングポリシーを設定又は変更するためにデータ格納装置10にコーディングポリシー変更のためのコマンドを提供することができる。
【0152】
コーディングポリシーがリード要求に含まれなくても、コーディングポリシーは、符号化対象データ20の格納領域により決定され(S40)、符号化対象データは、決定されたコーディングポリシーにより符号化される。図22に示すように、符号化対象データ20が、タイプ1のコーディングポリシーが適用される領域に格納された場合、コントローラ40は、リード要求がコーディングポリシーに対する情報を含まなくてもコーディングポリシーをタイプ1と決定することができる。
【0153】
次に、図23に示すデータ格納システム50で、コントローラ40は、符号化対象データに対するリードを要求する入力を受けて第2コマンド及び符号化対象データの出力範囲が分割された第1コマンドを交互に出力する。
【0154】
図23に示すように、コントローラ40は、リードを要求する入力を受けて符号化対象データ20の出力範囲が10KBずつ分割された第1コマンド602及び第2コマンド604を交互に出力する。
【0155】
出力範囲が分割された第1コマンド602及び第2コマンド604の入力を交互に受ける場合、データ格納装置10は、第2コマンド604に応答して符号化モードを自律的に決定し、決定した符号化モードにより符号化対象データ20のフラグメントを符号化して出力する点については上述した。
【0156】
以上、図面を参照しながら本発明の実施形態について詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0157】
10 データ格納装置
12 メモリ部
14 制御部
16 符号化部
18 内部リード信号
19 内部トリガー信号
20 符号化対象データ
22 元データ
30 符号化データ
40 コントローラ
50 データ格納システム
60 ホスト装置
70、80 コンピュータシステム
120 保安領域
140 コマンドデコーダ
160 符号化決定部
161 符号化モード決定器
162 符号化器制御信号生成器
163 コーディングポリシーリスト格納部
164 コーディングポリシーリストロード部
165、175、176 ランダムデータ生成器
168 符号化器
169、170、172 符号化モジュール
171 MUX
173 バイパスバス
174 プログラマブル符号化モジュール
178 被演算子維持データ出力器
179 プログラマブルランダムデータ生成部
180 論理演算
602 第1コマンド
604 第2コマンド
606 第3コマンド
606a tSW
620、622、624、626、630、632、634 符号化対象データフラグメント

【特許請求の範囲】
【請求項1】
少なくとも一つの入力コマンドをデコードし、該入力コマンドに応答してリード信号及び内部モード決定プロセスの開始を示す開始信号のうちの少なくとも一つを生成する制御部と、
前記リード信号に応答してデータを出力するメモリ部と、
前記開始信号に応答して符号化モードを自律的に決定することを含む内部モード決定プロセスを開始して実行し、該決定した符号化モードに基づいて前記メモリ部から出力される出力データを符号化して符号化データを出力する符号化部と、を備えることを特徴とするデータ格納装置。
【請求項2】
前記符号化部は、ランダムデータを生成し、該ランダムデータに基づいて前記符号化モードを決定することを特徴とする請求項1に記載のデータ格納装置。
【請求項3】
前記符号化部は、符号化モードセットのうちの特定の符号化モードを選択する確率を示すコーディングポリシーを得て、該コーディングポリシーに基づいて前記ランダムデータを生成することを特徴とする請求項2に記載のデータ格納装置。
【請求項4】
前記符号化部は、前記内部モード決定プロセスによりデータパターンを生成し、該データパターンに基づいて符号化モードを決定することを特徴とする請求項1に記載のデータ格納装置。
【請求項5】
前記符号化部は、符号化モードセットのうちの特定の符号化モードを選択する確率を示すコーディングポリシーを得て、該コーディングポリシーに基づいて前記データパターンを生成することを特徴とする請求項4に記載のデータ格納装置。
【請求項6】
前記符号化部は、符号化モードセットのうちの特定の符号化モードを選択する確率を示すコーディングポリシーを得て、該コーディングポリシーに基づいて前記符号化モードを決定することを特徴とする請求項1に記載のデータ格納装置。
【請求項7】
前記符号化部は、前記少なくとも一つの入力コマンド及び他の入力コマンドに基づいて前記コーディングポリシーを得ることを特徴とする請求項6に記載のデータ格納装置。
【請求項8】
前記符号化部は、前記出力データの前記メモリ部内の格納位置に基づいて前記コーディングポリシーを得ることを特徴とする請求項6に記載のデータ格納装置。
【請求項9】
前記符号化部は、コーディングポリシー格納部からコーディングポリシーのリストをロードし、該リストから前記コーディングポリシーのうちの一つを選択することを特徴とする請求項6に記載のデータ格納装置。
【請求項10】
前記符号化部は、符号化出力データセットを生成するため、元データを示す複数の出力データを符号化し、該複数の出力データのそれぞれの符号化モードを決定するため、該複数の出力データのそれぞれに対して前記内部モード決定プロセスを実行し、前記符号化モードのそれぞれに基づいて複数の出力データのそれぞれを符号化することを特徴とする請求項1に記載のデータ格納装置。
【請求項11】
前記符号化部は、同一の元データを示す符号化出力データセットを1セット以上生成することを特徴とする請求項10に記載のデータ格納装置。
【請求項12】
前記制御部は、第1入力コマンド及び第2入力コマンドの入力を交互に受け、前記符号化部が前記元データを示す前記複数の出力データの入力を受けて前記複数の出力データを符号化するように、前記第1入力コマンドに応答して前記リード信号を生成し、前記第2入力コマンドに応答して前記開始信号を生成することを特徴とする請求項10に記載のデータ格納装置。
【請求項13】
前記複数の出力データのそれぞれは、同一のサイズを有することを特徴とする請求項12に記載のデータ格納装置。
【請求項14】
前記複数の出力データのうちの少なくとも一つは、他の前記複数の出力データと異なるサイズを有することを特徴とする請求項12に記載のデータ格納装置。
【請求項15】
前記第1コマンドを最初に受けることを特徴とする請求項12に記載のデータ格納装置。
【請求項16】
前記第2コマンドを最初に受けることを特徴とする請求項12に記載のデータ格納装置。
【請求項17】
請求項12に記載のデータ格納装置と、
複数のリードを要求する入力に応答し、前記第1入力コマンド及び前記第2入力コマンドを交互に生成するコントローラと、を備えることを特徴とするデータ格納システム。
【請求項18】
請求項12に記載のデータ格納装置と、
一つのリードを要求する入力に応答し、前記第1入力コマンド及び前記第2入力コマンドを交互に生成するコントローラと、を備えることを特徴とするデータ格納システム。
【請求項19】
前記制御部は、複数の入力コマンドを受け、前記符号化部が前記元データを示す前記複数の出力データの入力を受けて符号化するように、前記複数の入力コマンドのそれぞれに応答して前記リード信号及び前記開始信号を生成することを特徴とする請求項10に記載のデータ格納装置。
【請求項20】
請求項19に記載のデータ格納装置と、
複数のリードを要求する入力に応答し、前記複数の入力コマンドを生成するコントローラと、を備えることを特徴とするデータ格納システム。
【請求項21】
請求項19に記載のデータ格納装置と、
一つのリードを要求する入力に応答し、前記複数の入力コマンドを生成するコントローラと、を備えることを特徴とするデータ格納システム。
【請求項22】
前記符号化部は、
第1符号化率で前記出力データを符号化する第1符号化モジュールと、
前記第1符号化率超過の符号化率を有する第2符号化率で出力データを符号化する第2符号化モジュールと、
前記決定した符号化モードに基づいて前記第1符号化モジュール及び前記第2符号化モジュールのうちの一つから符号化データを選択的に出力するセレクタと、を含むことを特徴とする請求項1に記載のデータ格納装置。
【請求項23】
前記符号化部は、前記決定した符号化モードに基づいて前記第1符号化モジュール及び第2符号化モジュールのうちの一つのみを活性化させることを特徴とする請求項22に記載のデータ格納装置。
【請求項24】
前記第1符号化率は、前記符号化出力データを元の状態にデコードできるようにする比率であり、前記第2符号化率は前記符号化出力データを元の状態にデコードできないようにする比率であることを特徴とする請求項22に記載のデータ格納装置。
【請求項25】
前記符号化部は、
第1符号化率によって前記メモリ部からの出力データを符号化する第1符号化モジュールと、
前記決定した符号化モードに基づいて前記第1符号化モジュールからの出力データ及び前記メモリ部からの出力データのうちの一つを選択的に出力するセレクタと、を含むことを特徴とする請求項1に記載のデータ格納装置。
【請求項26】
前記第1符号化率は、前記符号化出力データを元の状態にデコードできないようにする比率であることを特徴とする請求項25に記載のデータ格納装置。
【請求項27】
前記符号化部は、前記決定した符号化モードに基づいて前記第1符号化モジュールを選択的に非活性化させることを特徴とする請求項25に記載のデータ格納装置。
【請求項28】
前記符号化部は、
前記決定した符号化モードに基づく符号化率で前記出力データを符号化するプログラマブル符号化モジュールを含むことを特徴とする請求項1に記載のデータ格納装置。
【請求項29】
前記符号化部は、
第1ランダムデータを生成する第1ランダムデータ生成器と、
第2ランダムデータを生成する第2ランダムデータ生成器と、
前記決定した符号化モードに基づいて前記第1及び前記第2ランダムデータのうちの一つを選択的符号化データとして選択するセレクタと、
符号化データを生成するために前記出力データと前記選択的符号化データとを論理的に結合する論理演算器と、を含み、
前記第1ランダムデータは、前記第2ランダムデータより更に低い符号化率を発生させることを特徴とする請求項1に記載のデータ格納装置。
【請求項30】
前記第1ランダムデータが前記符号化データである場合に前記符号化データは元の状態にデコードすることができ、
前記第2ランダムデータが前記符号化データである場合に前記符号化データは元の状態にデコードできないことを特徴とする請求項29に記載のデータ格納装置。
【請求項31】
前記符号化部は、前記決定した符号化モードに基づいて前記第1ランダムデータ生成器及び前記第2ランダムデータ生成器のうちの一つのみを活性化させることを特徴とする請求項29に記載のデータ格納装置。
【請求項32】
前記符号化部は、
第1ランダムデータを生成する第1ランダムデータ生成器と、
前記第1ランダムデータ及び参照データのうちの一つを選択的符号化データとして選択的に選択するセレクタと、
符号化データを生成するため、前記出力データと前記選択的符号化データとを論理的に結合する論理演算器と、を含み、
前記参照データは、前記第1ランダムデータより更に低い符号化率を発生させることを特徴とする請求項1に記載のデータ格納装置。
【請求項33】
前記参照データは、前記出力データと論理的に結合する場合に前記出力データを符号化しないことを特徴とする請求項32に記載のデータ格納装置。
【請求項34】
前記第1ランダムデータが前記符号化データである場合、前記符号化データは元の状態にデコードできないことを特徴とする請求項32に記載のデータ格納装置。
【請求項35】
前記符号化部は、前記決定した符号化モードに基づいて前記第1ランダムデータ生成器を選択的に非活性化させることを特徴とする請求項32に記載のデータ格納装置。
【請求項36】
前記符号化部は、
前記符号化データを生成するため、符号化データと前記出力データとを論理的に結合する論理演算器と、
前記決定した符号化モードに基づく符号化率で前記出力データが符号化されるように前記符号化データとして使用されるランダムデータを生成するプログラマブルランダムデータ生成器と、を含むことを特徴とする請求項1に記載のデータ格納装置。
【請求項37】
前記符号化部は、符号化率に基づいて前記出力データを符号化する少なくとも一つの符号化モジュールを含み、
前記符号化率は、プログラミングできることを特徴とする請求項1に記載のデータ格納装置。
【請求項38】
前記出力データは、前記データ格納装置を認証するための認証データであることを特徴とする請求項1に記載のデータ格納装置。
【請求項39】
前記メモリ部は、シングルレベルセル(SLC)に符号化される元データを格納し、マルチレベルセル(MLC)に符号化されない元データを格納することを特徴とする請求項1に記載のデータ格納装置。
【請求項40】
入力コマンドをデコードし、符号化モードを示さない入力コマンドに応答してリード信号及びトリガー信号のうちの少なくとも一つを生成する制御部と、
前記リード信号に応答してデータを出力するメモリ部と、
前記トリガー信号に応答して符号化モードを示す指示データを生成し、該指示データに基づいて符号化モードセットのうちの一つの符号化モードを選択し、該選択した符号化モードに基づいて前記出力データを符号化する符号化部と、を備えることを特徴とするデータ格納装置。
【請求項41】
前記トリガー信号は、符号化モードを示さないことを特徴とする請求項40に記載のデータ格納装置。
【請求項42】
前記符号化部は、前記トリガー信号に応答して前記符号化モードを自律的に選択することを含む内部モード決定プロセスを開始して実行することを特徴とする請求項41に記載のデータ格納装置。
【請求項43】
入力コマンドをデコードし、該入力コマンドに応答してリード信号及びトリガー信号のうちの少なくとも一つを生成する制御部と、
前記リード信号に応答してデータを出力するメモリ部と、
前記トリガー信号に応答して第1ランダムデータを生成し、該第1ランダムデータに基づいて符号化モードセットのうちの一つの符号化モードを自律的に選択し、該選択した符号化モードに基づいて前記メモリ部から出力されたデータを符号化する符号化部と、を備えることを特徴とするデータ格納装置。
【請求項44】
請求項1に記載のデータ格納装置と、
前記入力コマンドを生成し、前記データ格納装置から前記符号化部によって符号化されたデータの入力を受けるホストプロセシング装置と、を備えることを特徴とするコンピュータシステム。
【請求項45】
請求項1に記載のデータ格納装置と、
アクセスコマンドに応答して前記入力コマンドを生成し、前記データ格納装置から前記符号化データの入力を受けるコントローラと、
前記アクセスコマンドを前記コントローラに送信し、前記コントローラから前記符号化データを受信するホストプロセシング装置と、を備えることを特徴とするコンピュータシステム。
【請求項46】
請求項1に記載のデータ格納装置と、
前記入力コマンドを生成し、前記符号化データを受信するコントローラと、を備えることを特徴とするデータ格納システム
【請求項47】
要求される分布を有するランダムデータを生成して該ランダムデータにより符号化モードを決定する符号化決定部と、
前記決定した符号化モードに基づいてデータを符号化する符号化器と、を備えることを特徴とする符号化部。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2012−243320(P2012−243320A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2012−113143(P2012−113143)
【出願日】平成24年5月17日(2012.5.17)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea