(58)【調査した分野】(Int.Cl.,DB名)
前記暗号文データを平文データに変換する段階の前に、前記平文データを前記SoCに含まれるDMA(Direct Memory Access)ユニットから前記エンジンに伝送する段階を更に含むことを特徴とする請求項3に記載のシステムオンチップの動作方法。
選択信号に基づいて、前記第1データパス及び前記第2データパスのうちの何れか1つを選択するための選択回路を更に含むことを特徴とする請求項15に記載のシステムオンチップ。
前記第2電気的経路は、前記マルチプレクサを介して前記平文データを前記エンジンに伝送するための経路と、前記デマルチプレクサを介して前記暗号文データを前記不揮発性メモリコントローラに伝送するための経路とを含むことを特徴とする請求項18に記載のシステムオンチップ。
前記エンジンは、前記第2電気的経路を介して前記不揮発性メモリコントローラから受信した暗号文データを復号化することを特徴とする請求項17に記載のシステムオンチップ。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、システムオンチップに含まれる暗号化/復号化エンジンとメモリコントローラとを直接接続することによって、データ伝送経路を減少させるシステムオンチップとその動作方法、及びそれを含むシステムインパッケージを提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するためになされた本発明の一態様によるシステムオンチップ(SoC)の動作方法は、前記SoCに含まれるエンジンによって、暗号キーを用いて平文データを暗号文データに変換する段階と、前記エンジンによって、前記暗号文データを前記SoCに含まれるメモリコントローラに直接伝送する段階と、を有し、前記メモリコントローラは、不揮発性メモリの動作を制御する。
【0006】
前記SoCの動作方法は、前記平文データを暗号文データに変換する段階の前に、前記平文データをCPUの制御によってメインメモリからバスを介してリードする段階を更に含み得
る。
【0007】
上記目的を達成するためになされた本発明の他の態様によるシステムオンチップ(SoC)の動作方法は、前記SoCに含まれるエンジンによって、前記SoCに含まれるメモリコントローラから暗号文データを直接受信する段階と、前記エンジンによって、暗号キーを用いて前記暗号文データを平文データに変換する段階と、を有し、前記メモリコントローラは、不揮発性メモリの動作を制御する。
【0008】
前記SoCの動作方法は、前記暗号文データを平文データに変換する段階の前に、前記平文データを前記SoCに含まれるDMA(Direct Memory Access)ユニットから前記エンジンに伝送する段階を更に含み得
る。
【0009】
上記目的を達成するためになされた本発明の一態様によるシステムオンチップ(SoC)は、暗号キーを用いて、第1平文データ(plain data)を第1暗号文データ(cipher data)に暗号化し、第2暗号文データを第2平文データに復号化する暗号化/復号化エンジンと、前記暗号化/復号化エンジンに直接接続され、前記第1暗号文データを不揮発性メモリに伝送し、該不揮発性メモリから前記第2暗号文データを受信するメモリコントローラと、を有する。
【0010】
前記SoCは、前記暗号キーを保存するワンタイムプログラマブル(OTP)メモリを更に含み得る。
前記SoCは、前記SoCの外部にある装置から受信した前記第1平文データを前記暗号化/復号化エンジンに伝送し、該暗号化/復号化エンジンから受信した前記第2平文データを前記装置に伝送するDMA(Direct Memory Access)ユニットを更に含み得
る。
前記SoCは、前記SoCの外部にある装置と前記暗号化/復号化エンジンとの間で前記第1平文データ又は前記第2平文データの伝送を制御するCPUを更に含み得る。
【0011】
上記目的を達成するためになされた本発明の一態様によるシステムインパッケージ(System−in Pakage)は、上記システムオンチップ(SoC)と、前記SoCの制御によって、不揮発性メモリとデータを通信する装置と、を備える。
【0012】
上記目的を達成するためになされた本発明の他の態様によるシステムインパッケージは、上記SoCと、不揮発性メモリと、前記SoCの制御によって、前記不揮発性メモリとデータを通信する装置と、を備える。
【0013】
上記目的を達成するためになされた本発明の他の態様によるシステムオンチップ(SoC)は、不揮発性メモリを制御するメモリコントローラと、前記メモリコントローラに直接接続され、データを暗号化又は復号化する暗号化/復号化エンジン(engine)と、を有し、前記SoCは、前記SoCの外部にある装置と前記不揮発性メモリとの間でデータの伝送を制御し、前記メモリコントローラ及び前記暗号化/復号化エンジンは、前記データを伝送するための第1データパスに該当する。
【0014】
前記SoCは、暗号キーを保存するためのワンタイムプログラマブル(OTP)メモリを更に含み、前記暗号化/復号化エンジンは、前記OTPメモリに保存された暗号キーを用いて、前記データを暗号化又は復号化することができる。
前記第1データパスは、前記装置から受信した前記データを前記暗号化/復号化エンジンに伝送し、該暗号化/復号化エンジンから受信した前記データを前記装置に伝送するDMA(Direct Memory Access)ユニットを更に含み得る。
前記DMAユニットは、前記暗号化/復号化エンジンに直接接続され得る。
前記SoCは、暗号化されていない前記データを伝送する第2データパスを更に含み得る。
前記SoCは、選択信号に基づいて、前記第1データパス及び前記第2データパスのうちの何れか1つを選択するための選択回路を更に含み得
る。
【0015】
上記目的を達成するためになされた本発明の更に他の態様によるシステムオンチップ(SoC)は、データバスと、前記データバスに平文データを出力するメインメモリコントローラと、前記データバスから受信した前記平文データを、キー(key)を使って暗号文データに暗号化するエンジンと、不揮発性メモリコントローラと、前記エンジンをバイパス(bypass)して前記データバスを前記不揮発性メモリコントローラに接続させる第1電気的経路と、前記エンジンを介して前記データバスを前記不揮発性メモリコントローラに接続させる第2電気的経路と、を有し、前記SoCは、非セキュリティモード(Non−Secure Mode)で、前記平文データを前記データバスから前記不揮発性メモリコントローラに伝送するために前記第1電気的経路のみを活性化させ、前記SoCは、セキュリティモードで、前記平文データを前記エンジンに伝送し、該エンジンから受信した前記暗号文データを前記不揮発性メモリコントローラに伝送するために前記第2電気的経路のみを活性化させる。
【0016】
前記第1電気的経路は、マルチプレクサ(multiplexer)とデマルチプレクサ(demultiplexer)とを介して前記平文データを前記不揮発性メモリコントローラに伝送するための経路を含み得る。
前記第2電気的経路は、前記マルチプレクサを介して前記平文データを前記エンジンに伝送するための経路と、前記デマルチプレクサを介して前記暗号文データを前記不揮発性メモリコントローラに伝送するための経路とを含み得
る。
前記エンジンは、前記第2電気的経路を介して前記不揮発性メモリコントローラから受信した暗号文データを復号化することができる。
【発明の効果】
【0017】
本発明のシステムオンチップ(SoC)によれば、SoCの内部でデータを暗号化するため、SoCの外部からデータをプロービングすることができない。SoCは、暗号化に必要な暗号キーをSoCの内部に保存するため、暗号キーの露出を防止することができる。
また、SoCは、暗号化に必要な暗号キーをソフトウェアでアクセスすることができないため、ハッキングによって暗号キーが流出することを防止することができる。SoCのソフトウェアは、暗号化に介入しないので、ソフトウェアの負担を増加させない。
また、SoCは、SoCの内部に具現された暗号化/復号化エンジンとメモリコントローラとを直接接続することによって、SoCの内部のデータ伝送経路を減少させることができる。従って、SoCの性能が向上する。
【発明を実施するための形態】
【0019】
本明細書で“直接伝送する”と言及した場合には、伝送中に他の構成による処理過程を経ずにデータを伝送することを意味する。本明細書で“直接接続される”と言及した場合には、中間に他の構成を置かずに配線(wiring)、マルチプレクサ、及び/又はデマルチプレクサなどを介して接続されることを意味する。
【0020】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【0021】
図1は、本発明の一実施形態によるシステムオンチップを含むシステムのブロック図である。
図1を参照すると、システム10は、システムオンチップ(SoC)100、不揮発性メモリ装置200、及びメインメモリ300を含む。実施形態として、システム10は、PC(Personal Computer)、データサーバ(Data Server)、又は携帯用電子装置として具現可能である。
【0022】
例えば、携帯用電子装置は、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットPC、PDA(Personal Digital Assistant)、EDA(Enterprise Digital Assistant)、デジタルスチルカメラ、デジタルビデオカメラ、PMP(Portable Multimedia Player)、PDN(Personal Navigation Device又はPortable Navigation Device)、携帯用ゲームコンソール、又は電子ブックなどとして具現可能である。
【0023】
SoC100は、不揮発性メモリ装置200とメインメモリ300との間のデータの送受信を制御する。SoC100の構成と動作は、
図2、及び
図4〜
図9を参照して詳しく説明する。
【0024】
不揮発性メモリ装置200は、各種のプログラム及びデータを保存する。実施形態として、不揮発性メモリ装置200は、EEPROM(Electrically Erasable Programmable Read−Only Memory)、フラッシュメモリ、MRAM(Magnetic RAM)、スピン注入トルクMRAM(Spin−Transfer Torque MRAM)、Conductive Bridging RAM(CBRAM):FeRAM(Ferroelectric RAM)、PRAM(Phase change RAM)、抵抗メモリ(Resistive RAM:ReRAM)、ナノチューブReRAM(Nanotube ReRAM)、ポリマーRAM(Polymer RAM:PoRAM)、ナノ浮遊ゲートメモリ(Nano Floating Gate Memory:NFGM)、ホログラフィックメモリ(Holographic Memory)、分子電子メモリ素子(Molecular Electronics Memory Device)、又は絶縁抵抗変化メモリ(Insulator Resistance Change Memory)などとして具現可能であるが、本発明の範囲はこれに限定されるものではない。
【0025】
メインメモリ300は、SoC100で実行されるプログラムとSoC100で必要なデータとをSoC100を介して不揮発性メモリ装置200から受信する。メインメモリ300は、保存されるデータを、SoC100を介して不揮発性メモリ装置200に伝送する。実施形態として、メインメモリ300は、揮発性メモリであるRAM(Random Access Memory)、例えばDRAM(Dynamic RAM)又はSRAM(Static RAM)として具現可能であるが、本発明の範囲はこれに限定されるものではない。
【0026】
図2は、
図1に示したシステムオンチップの一実施形態によるブロック図である。
図2を参照すると、
図1のSoC100の一実施形態によるSoC100Aは、バス(bus)110、CPU120、メモリコントローラ130、不揮発性メモリコントローラ140、及び暗号化/復号化エンジン150を含む。
【0027】
CPU120は、バス110に接続され、SoC100Aの全般的な動作を制御する。メモリコントローラ130は、メインメモリ300の動作、例えばリード(read)動作又はライト(write)動作を制御する。メモリコントローラ130は、バス110に接続される。
【0028】
不揮発性メモリコントローラ140は、不揮発性メモリ装置200のデータアクセス動作、例えばリード動作、ライト動作、プログラム(program)動作、又はイレーズ(erase)動作などを制御する。
【0029】
暗号化/復号化エンジン150は、メインメモリ300からメモリコントローラ130とバス110とを介して伝送された平文データを暗号文データに変換、即ち暗号化する。暗号化/復号化エンジン150は、暗号文データを、バス110を経由せずに不揮発性メモリコントローラ140に直接、例えばオンザフライ(on−the−fly)で伝送する。
【0030】
暗号化/復号化エンジン150は、不揮発性メモリコントローラ140から出力された暗号文データを、バス110を経由せずに直接、例えばオンザフライで受信する。暗号化/復号化エンジン150は、暗号文データを平文データに変換、例えば復号化する。
【0031】
暗号化/復号化エンジン150の暗号化過程又は復号化過程には、暗号キーが使われる。暗号化/復号化エンジン150は、暗号キーを保存するための記憶媒体(図示せず)を含む。他の実施形態として、暗号キーは、セキュリティモード(Secure Mode)でのみ記憶媒体にアクセス可能になるように設定し得る。セキュリティモードは、
図3を参照して詳しく説明する。
【0032】
暗号化/復号化エンジン150は、データを所定サイズ、例えば64ビット、128ビット、又は256ビットのブロック(block)単位で暗号化又は復号化する。この場合、暗号化又は復号化のための暗号キーとアルゴリズム(algorithm)は、ブロック単位で適用可能である。
【0033】
暗号化アルゴリズムは、DES(Data Encryption Standard)アルゴリズム又はAES(Advanced EncryptionStandard)アルゴリズムであり得るが、これに限定されるものではない。実施形態として、暗号化/復号化エンジン150がデータをブロック単位で変換、例えば暗号化又は復号化する方法を決定する暗号モードは、ECB(Electronic Code Book)モード、CBC(Cipher Block Chaining)モード、PCBC(Propagating Cipher Block Chaining)モード、又はCFB(Cipher Feed Back)モードであり得るが、本発明の範囲はこれに限定されるものではない。
【0034】
データが、不揮発性メモリ装置200にライトされる時のライトデータパス(write data path:WP)を説明すると、メインメモリ300から出力された平文データがメモリコントローラ130とバス110とを介してCPU120に伝送された後、平文データは、CPU120からバス110を介して暗号化/復号化エンジン150に伝送される。即ち、CPU120の制御によって、平文データは、暗号化/復号化エンジン150に伝送される。
【0035】
暗号化/復号化エンジン150は、暗号キーを用いて平文データを暗号文データに変換する。暗号文データは、不揮発性メモリコントローラ140を介して不揮発性メモリ装置200に伝送される。
【0036】
データが、不揮発性メモリ装置200からリードされる時のリードデータパス(read data path:RP)を説明すると、不揮発性メモリ装置200から出力された暗号文データは、不揮発性メモリコントローラ140を介して暗号化/復号化エンジン150に直接伝送される。
【0037】
暗号化/復号化エンジン150は、暗号キーを用いて暗号文データを平文データに変換する。平文データがバス110を介してCPU120に伝送された後、平文データは、CPU120からバス110とメモリコントローラ130とを介してメインメモリ300に伝送される。即ち、CPU120の制御によって、平文データは、バス110とメモリコントローラ130とを介してメインメモリ300に伝送される。
【0038】
図3は、
図2に示した暗号化/復号化エンジンに暗号キーを入力するセキュリティモードを説明するための概念図である。
図2及び
図3を参照すると、オペレーティングシステム(Operating System:OS)は、ハードウェアを管理し、応用プログラム(Application Program)を実行させるために、ハードウェアに設けられる。
【0039】
セキュリティ(Secure)OSは、セキュリティが要求されるセキュリティ応用プログラム(Secure Application Program)を実行させるために、一般的なオペレーティングシステム(OS)とは別個にハードウェアに設けられる。実施形態として、セキュリティOSは、所定時間内に実行が完了しなければならない応用プログラム、例えば、セキュリティ応用プログラムを実行させるために、リアルタイムオペレーティングシステム(Real Time Operating System:RTOS)として具現可能である。
【0040】
非セキュリティモードとは、オペレーティングシステム(OS)によって応用プログラムが実行される場合を意味し、セキュリティモードとは、セキュリティOSによってセキュリティ応用プログラムが実行される場合を意味する。セキュリティモードでセキュリティ応用プログラムが実行されることによって、CPU120は、暗号化/復号化エンジン150に暗号キーを入力するか、或いは暗号化/復号化エンジン150の内部又は外部に保存されている暗号キーにアクセスする。実施形態として、セキュリティモードでセキュリティ応用プログラムが実行されることによって、暗号キーは、変更又は再設定され得る。
【0041】
図4は、
図1に示したシステムオンチップの他の実施形態によるブロック図である。
図1〜
図4を参照すると、
図1のSoC100の他の実施形態によるSoC100Bは、バス110、CPU120、メモリコントローラ130、不揮発性メモリコントローラ140、暗号化/復号化エンジン150、及び第1OTPメモリ(One−Time Programmable Memory)160を含む。第1OTPメモリ160は、暗号化/復号化エンジン150の暗号化過程又は復号化過程で使われる暗号キーを保存する。実施形態として、第1OTPメモリ160は、ヒューズ(fuse)、アンチヒューズ(anti−fuse)、又は電子ヒューズとして具現可能である。
【0042】
図4のSoC100Bは、
図2のSoC100Aとは異なって、セキュリティモードでセキュリティ応用プログラムが実行されても、CPU120は、第1OTPメモリ160に保存された暗号キーにアクセス、例えばリード、ライト、又はイレーズできないように具現される。
【0043】
データの暗号化又は復号化に使われる暗号キーが、第1OTPメモリ160から暗号化/復号化エンジン150に供給されることを除けば、
図4のSoC100BのライトデータパスWP及びリードデータパスRPのそれぞれは、
図2のSoC100AのライトデータパスWP及びリードデータパスRPのそれぞれと実質的に同一である。
【0044】
図5は、
図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図1及び
図5を参照すると、
図1のSoC100の更に他の実施形態によるSoC100Cは、バス110、CPU120、メモリコントローラ130、不揮発性メモリコントローラ140、暗号化/復号化エンジン150、第1OTPメモリ160、及びDMAユニット(Direct Memory Access Unit)170を含む。
【0045】
DMAユニット170は、CPU120を介さずに必要な構成(例えば、130、140、又は150)を介してメインメモリ300又は不揮発性メモリ装置200にアクセスすることができる。この際、DMAユニット170は、バス110に接続される。
【0046】
不揮発性メモリ装置200が、データをライトする時のライトデータパスWPを説明すると、メインメモリ300から出力された平文データは、メモリコントローラ130とバス110とを介してDMAユニット170に伝送される。平文データは、DMAユニット170からバス110を介して暗号化/復号化エンジン150に伝送される。
【0047】
暗号化/復号化エンジン150は、平文データを暗号文データに変換する。暗号化/復号化エンジン150から出力された暗号文データは、直接不揮発性メモリコントローラ140に伝送された後、不揮発性メモリ装置200に伝送される。即ち、暗号化/復号化エンジン150は、暗号文データを不揮発性メモリコントローラ140に直接、例えばオンザフライで伝送する。
【0048】
データが、不揮発性メモリ装置200からリードされる時のリードデータパスRPを説明すると、不揮発性メモリ装置200から出力された暗号文データは、不揮発性メモリコントローラ140を介して暗号化/復号化エンジン150に伝送される。即ち、暗号化/復号化エンジン150は、不揮発性メモリコントローラ140から出力された暗号文データを直接、例えばオンザフライで受信する。
【0049】
暗号化/復号化エンジン150は、暗号文データを平文データに変換する。平文データは、バス110を介してDMAユニット170に伝送される。平文データは、DMAユニット170からバス110とメモリコントローラ130とを介してメインメモリ300に伝送される。
【0050】
図6は、
図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図1及び
図6を参照すると、
図1のSoC100の更に他の実施形態によるSoC100Dは、バス110、CPU120、メモリコントローラ130、不揮発性メモリコントローラ140、暗号化/復号化エンジン150、第1OTPメモリ160、及びDMAユニット170を含む。
【0051】
DMAユニット170は、バス110と暗号化/復号化エンジン150との間に接続される。データは、DMAユニット170と暗号化/復号化エンジン150との間で、オンザフライで伝送される。
【0052】
不揮発性メモリ装置200が、データをライトする時のライトデータパスWPを説明すると、メインメモリ300から出力された平文データは、メモリコントローラ130、バス110、及びDMAユニット170を介して暗号化/復号化エンジン150に伝送される。
【0053】
暗号化/復号化エンジン150は、平文データを暗号文データに変換、例えば暗号化する。暗号文データは、不揮発性メモリコントローラ140を介して不揮発性メモリ装置200に伝送される。この際、暗号化/復号化エンジン150は、不揮発性メモリコントローラ140に暗号文データを直接、例えばオンザフライで伝送する。
【0054】
不揮発性メモリ装置200が、データをリードする時のリードデータパスRPを説明すると、不揮発性メモリ装置200から出力された暗号文データは、不揮発性メモリコントローラ140を介して暗号化/復号化エンジン150に伝送される。この際、暗号化/復号化エンジン150は、不揮発性メモリコントローラ140から暗号文データを直接、例えばオンザフライで受信する。
【0055】
暗号化/復号化エンジン150は、暗号文データを平文データに変換、例えば復号化する。平文データは、DMAユニット170、バス110、及びメモリコントローラ130を介してメインメモリ300に伝送される。
【0056】
図7は、
図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図1、
図3、及び
図7を参照すると、
図1のSoC100の更に他の実施形態によるSoC100Eは、バス110、CPU120、メモリコントローラ130、不揮発性メモリコントローラ140、暗号化/復号化エンジン150、第1OTPメモリ160、DMAユニット170、レジスタ180、及び選択回路190を含む。
【0057】
レジスタ180は、バス110に接続される。レジスタ180は、選択信号SELを発生する選択信号発生器として作動する。レジスタ180は、CPU120がセキュリティ応用プログラムを実行するか否か、即ちセキュリティモードを指示する指示信号に基づいて選択信号SELを変更する。指示信号は、CPU120から出力される。
【0058】
例えば、セキュリティモードで、指示信号のロジックレベルは、ハイ(high)であり、非セキュリティモードで、指示信号のロジックレベルは、ロー(low)である。選択回路190は、レジスタ180から出力された選択信号SELによってデータパスを選択する。選択回路190の構造と動作は、
図8を参照して詳しく説明する。
【0059】
図8は、
図7に示した選択回路及び暗号化/復号化エンジンのブロック図である。
図3、
図7、及び
図8を参照すると、選択回路190は、第1選択器192と第2選択器194とを含む。
【0060】
第1選択器192は、デマルチプレクサとして具現可能であり、第2選択器194は、マルチプレクサとして具現可能である。
【0061】
選択回路190は、選択信号SELのロジックレベルがハイである時、データが暗号化/復号化エンジン150を含むデータパスを選択する。CPU120がセキュリティ応用プログラムを実行する時、即ちセキュリティモードである時、選択回路190は、暗号化/復号化エンジン150を含むデータパスを選択する。しかし、選択回路190は、選択信号SELのロジックレベルがローである時、暗号化/復号化エンジン150を含まないデータパス、即ちバイパスを選択することができる。実施形態として、CPU120が一般応用プログラムを実行する時、即ち非セキュリティモードである時、選択回路190は、暗号化/復号化エンジン150を含まないデータパス、即ちバイパスを選択する。
【0062】
図9は、
図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図1、
図8、及び
図9を参照すると、
図1のSoC100の更に他の実施形態によるSoC100Fは、バス110、CPU120、メモリコントローラ130、不揮発性メモリコントローラ140、暗号化/復号化エンジン150、第1OTPメモリ160、DMAユニット170、第2OTPメモリ182、及び選択回路190を含む。
【0063】
第2OTPメモリ182は、選択信号SELを発生する選択信号発生器として作動する。第2OTPメモリ182は、1つのレベル、例えばハイレベルを有する選択信号SELを発生するようにプログラムされる。この際、選択回路190は、暗号化/復号化エンジン150を含むデータパスのみを選択する。
【0064】
図10は、本発明の一実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図2、
図4〜
図7、
図9、及び
図10を参照すると、暗号化/復号化エンジン150は、暗号キーを用いて平文データを暗号文データに変換、即ち暗号化する(ステップS10)。
【0065】
暗号化/復号化エンジン150は、暗号化データを不揮発性メモリコントローラ140に直接、例えばオンザフライで伝送する(ステップS12)。従って、暗号キーと暗号化データは、SoC100の内部に存在するため、プロービングに強い効果がある。
【0066】
図11は、本発明の他の実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図5〜
図7、
図9、及び
図11を参照すると、暗号化/復号化エンジン150は、平文データをDMAユニット170から受信する(ステップS20)。暗号化/復号化エンジン150は、平文データをDMAユニット170から直接、例えばオンザフライで受信する。
【0067】
図12は、本発明の更に他の実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図2、
図4〜
図7、
図9、及び
図12を参照すると、暗号化/復号化エンジン150は、不揮発性メモリコントローラ140から暗号文データを直接、例えばオンザフライで受信する(ステップS30)。暗号化/復号化エンジン150は、暗号文データを平文データに復号化する(ステップS32)。
【0068】
図13は、本発明の更に他の実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図5〜
図7、
図9、及び
図13を参照すると、暗号化/復号化エンジン150は、平文データをDMAユニット170に伝送する(ステップS34)。暗号化/復号化エンジン150は、平文データをDMAユニット170に直接、例えばオンザフライで伝送する。
【0069】
図14は、
図1に示したシステムを含むデータ処理装置の一実施形態によるブロック図である。
図1及び
図14を参照すると、データ処理装置400は、PC又はデータサーバとして具現可能である。
【0070】
データ処理装置400は、プロセッサ100a、保存装置200a、メモリ300a、パワーソース410、入出力ポート420、拡張カード430、ネットワーク装置440、及びディスプレイ450を含む。実施形態として、データ処理装置400は、カメラモジュール460を更に含み得る。
【0071】
プロセッサ100aは、
図1に示したSoC100を意味する。プロセッサ100aは、マルチコア(Multi−Core)プロセッサであり得る。実施形態として、プロセッサ100aは、
図1に示したSoC100を含む。プロセッサ100aは、構成要素(200a、300a、及び410〜460)のうちの少なくとも1つの動作を制御する。
【0072】
保存装置200aは、
図1に示した不揮発性メモリ装置200を意味する。保存装置200aは、ハードディスクドライブ(Hard Disk Drive)又はSSD(Solid State Drive)として具現可能である。
【0073】
メモリ300aは、
図1に示したメインメモリ300を意味する。メモリ300aは、揮発性メモリ又は不揮発性メモリとして具現可能である。メモリ300aに対するデータアクセス動作、例えばリード動作、ライト動作(又は、プログラム動作)、又はイレーズ動作を制御するメモリコントローラ(
図2の140)は、プロセッサ100に集積又は内蔵され得る。
【0074】
パワーソース410は、構成要素(100a、200a、300a及び420〜460)のうちの少なくとも1つに動作電圧を供給する。
【0075】
入出力ポート420は、保存装置200aにデータを伝送するか、保存装置200aから出力されたデータを外部装置に伝送するポートを意味する。例えば、入出力ポート420は、コンピュータマウスのようなポインティング装置(pointing device)を接続するためのポート、プリンターを接続するためのポート、又はUSB(Universal Serial Bus)ドライブを接続するためのポートである。
【0076】
拡張カード430は、SD(Secure Digital)カード又はMMC(MultiMedia Card)として具現可能である。実施形態として、拡張カード430は、SIM(Subscriber Identification Module)カード又はUSIM(Universal Subscriber Identity Module)カードであり得る。
【0077】
ネットワーク装置440は、保存装置200aを有線ネットワーク又は無線ネットワークに接続させる装置を意味する。
【0078】
ディスプレイ450は、保存装置200a、メモリ300a、入出力ポート420、拡張カード430、又はネットワーク装置440から出力されたデータを表示する。カメラモジュール460は、光学イメージを電気的なイメージに変換するモジュールを意味する。従って、カメラモジュール460から出力された電気的なイメージは、保存装置200a、メモリ300a、又は拡張カード430に保存される。また、カメラモジュール460から出力された電気的なイメージは、ディスプレイ450を通じて表示される。
【0079】
図15は、
図1に示したシステムを含むデータ処理装置の他の実施形態によるブロック図である。
図1及び
図15を参照すると、データ処理装置500は、ラップトップ(laptop)コンピュータとして具現可能である。
【0080】
図16は、
図1に示したシステムを含むデータ処理装置の更に他の実施形態によるブロック図である。
図1及び
図16を参照すると、データ処理装置600は、携帯用装置として具現可能である。携帯用装置600は、携帯電話、スマートフォン、タブレットPC、PDA、EDA、デジタルスチルカメラ、デジタルビデオカメラ、PMP、PDN、携帯用ゲームコンソール、又は電子ブックとして具現可能である。
【0081】
図17は、
図1に示したシステムオンチップを含むシステムインパッケージ及び不揮発性メモリ装置のブロック図であり、
図18は、
図1に示したシステムオンチップを含むシステムインパッケージの他の実施形態によるブロック図である。
図1及び
図17を参照すると、SoC100及びメインメモリ300は、システムインパッケージ(SiP)700にパッケージングされる。
図1及び
図18を参照すると、SoC100、不揮発性メモリ装置200、及びメインメモリ300は、SiP700′にパッケージングされる。
【0082】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。