特許第6239259号(P6239259)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星電子株式会社の特許一覧

特許6239259システムオンチップとその動作方法、及びそれを含むシステムインパッケージ
<>
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000002
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000003
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000004
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000005
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000006
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000007
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000008
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000009
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000010
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000011
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000012
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000013
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000014
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000015
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000016
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000017
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000018
  • 特許6239259-システムオンチップとその動作方法、及びそれを含むシステムインパッケージ 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6239259
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】システムオンチップとその動作方法、及びそれを含むシステムインパッケージ
(51)【国際特許分類】
   H04L 9/10 20060101AFI20171120BHJP
【FI】
   H04L9/00 621A
【請求項の数】20
【全頁数】18
(21)【出願番号】特願2013-97518(P2013-97518)
(22)【出願日】2013年5月7日
(65)【公開番号】特開2013-236376(P2013-236376A)
(43)【公開日】2013年11月21日
【審査請求日】2016年3月17日
(31)【優先権主張番号】10-2012-0047743
(32)【優先日】2012年5月4日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
(74)【代理人】
【識別番号】110000051
【氏名又は名称】特許業務法人共生国際特許事務所
(72)【発明者】
【氏名】李 憲 洙
(72)【発明者】
【氏名】崔 弘 默
(72)【発明者】
【氏名】朴 相 ヒョン
【審査官】 宮司 卓佳
(56)【参考文献】
【文献】 特開2012−004661(JP,A)
【文献】 特表2010−525435(JP,A)
【文献】 特開2003−198531(JP,A)
【文献】 特開2010−231778(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
システムオンチップ(SoC)の動作方法であって、
前記SoCに含まれるエンジンが、前記SoCに含まれるデータバスを介して平文データを受信する段階と、
前記エンジンが、前記SoCに含まれるCPUによってセキュリティモードで入力された暗号キーを用いて前記平文データを暗号文データに変換する段階と、
前記エンジン、前記暗号文データを前記SoCに含まれるメモリコントローラに前記データバスを介すること無く、直接伝送する段階と、を有し、
前記メモリコントローラは、不揮発性メモリの動作を制御することを特徴とするシステムオンチップの動作方法。
【請求項2】
前記平文データを暗号文データに変換する段階の前に、前記平文データを前記CPUの制御によってメインメモリから前記データバスを介してリードする段階を更に含むことを特徴とする請求項1に記載のシステムオンチップの動作方法。
【請求項3】
システムオンチップ(SoC)の動作方法であって、
前記SoCに含まれるエンジン、前記SoCに含まれるメモリコントローラから暗号文データを直接受信する段階と、
前記エンジン前記SoCに含まれるCPUによってセキュリティモードで前記エンジンに入力された暗号キーを用いて前記暗号文データを平文データに変換する段階と、を有し、
前記メモリコントローラは、不揮発性メモリの動作を制御することを特徴とするシステムオンチップの動作方法。
【請求項4】
前記暗号文データを平文データに変換する段階の前に、前記平文データを前記SoCに含まれるDMA(Direct Memory Access)ユニットから前記エンジンに伝送する段階を更に含むことを特徴とする請求項3に記載のシステムオンチップの動作方法。
【請求項5】
システムオンチップ(SoC)であって、
CPUと、
前記CPUによってセキュリティモードで入力された暗号キーを用いて、第1平文データを第1暗号文データに暗号化し、第2暗号文データを第2平文データに復号化する暗号化/復号化エンジンと、
前記暗号化/復号化エンジンに直接接続され、前記第1暗号文データを不揮発性メモリに伝送し、前記不揮発性メモリから前記第2暗号文データを受信するメモリコントローラと、を有し、
前記暗号化/復号化エンジンと前記メモリコントローラとは直接接続され、前記暗号化/復号化エンジンと前記メモリコントローラとの間にはいかなる装置も接続されないことを特徴とするシステムオンチップ。
【請求項6】
前記暗号キーを保存するワンタイムプログラマブル(OTP)メモリを更に含むことを特徴とする請求項5に記載のシステムオンチップ。
【請求項7】
前記システムオンチップ(SoC)の外部にある装置から受信した前記第1平文データを前記暗号化/復号化エンジンに伝送し、前記暗号化/復号化エンジンから受信した前記第2平文データを前記装置に伝送するDMA(Direct Memory Access)ユニットを更に含むことを特徴とする請求項5に記載のシステムオンチップ。
【請求項8】
前記CPUは、前記システムオンチップ(SoC)の外部にある装置と前記暗号化/復号化エンジンとの間で前記第1平文データ又は前記第2平文データの伝送を制御すことを特徴とする請求項5に記載のシステムオンチップ。
【請求項9】
請求項5に記載のシステムオンチップ(SoC)と、
前記SoCの制御によって、不揮発性メモリとデータを通信する装置と、を備えることを特徴とするシステムインパッケージ。
【請求項10】
請求項5に記載のシステムオンチップ(SoC)と、
不揮発性メモリと、
前記SoCの制御によって、前記不揮発性メモリとデータを通信する装置と、を備えることを特徴とするシステムインパッケージ。
【請求項11】
システムオンチップ(SoC)であって、
CPUと、
外部の揮発性メモリから平文データを受信する揮発性メモリコントローラと、
不揮発性メモリコントローラに直接接続され、前記揮発性メモリコントローラから送信された前記平文データを、前記CPUによってセキュリティモードで入力された暗号キーを用いて暗号文データに暗号化する暗号化エンジンと、
前記CPU及び前記揮発性メモリコントローラに接続されたデータバスと、
不揮発性メモリを制御し、前記平文データを送信するために用いられる前記データバスを介すること無く、前記暗号文データを前記暗号化エンジンから直接受信する不揮発性メモリコントローラと、を有し、
前記SoCは、前記SoCの外部にある装置と前記不揮発性メモリとの間データの伝送を制御し、
前記不揮発性メモリコントローラ及び前記暗号化エンジンは、前記データを伝送するための第1データパスに該当し、
前記暗号化エンジンと前記不揮発性メモリコントローラとは直接接続され、前記暗号化エンジンと前記不揮発性メモリコントローラとの間にはいかなる装置も接続されないことを特徴とするシステムオンチップ。
【請求項12】
暗号キーを保存するためのワンタイムプログラマブル(OTP)メモリを更に含み、
前記暗号化エンジンは、前記OTPメモリに保存された暗号キーを用いて、前記データを暗号化することを特徴とする請求項11に記載のシステムオンチップ。
【請求項13】
前記第1データパスは、前記装置から受信した前記データを前記暗号化エンジンに伝送し、前記暗号化エンジンから受信した前記データを前記装置に伝送するDMA(Direct Memory Access)ユニットを更に含むことを特徴とする請求項11に記載のシステムオンチップ。
【請求項14】
前記DMAユニットは、前記暗号化エンジンに直接接続されることを特徴とする請求項13に記載のシステムオンチップ。
【請求項15】
暗号化されていない前記データを伝送する第2データパスを更に含むことを特徴とする請求項14に記載のシステムオンチップ。
【請求項16】
選択信号に基づいて、前記第1データパス及び前記第2データパスのうちの何れか1つを選択するための選択回路を更に含むことを特徴とする請求項15に記載のシステムオンチップ。
【請求項17】
システムオンチップ(SoC)であって、
CPUと、
前記CPUに接続されたデータバスと、
前記データバスに平文データを出力するメインメモリコントローラと、
前記データバスから受信した前記平文データを、前記CPUによってセキュリティモードで入力された暗号キーを用いて暗号文データに暗号化するエンジンと、
前記データバスを介すること無く、前記暗号文データを前記エンジンから直接受信する不揮発性メモリコントローラと、
前記エンジンをバイパスして前記データバスを前記不揮発性メモリコントローラに接続させる第1電気的経路と、
前記エンジンを介して前記データバスを前記不揮発性メモリコントローラに接続させる第2電気的経路と、を有し、
前記SoCは、非セキュリティモードで、前記平文データを前記データバスから前記不揮発性メモリコントローラに伝送するために前記第1電気的経路のみを活性化させ、
前記SoCは、セキュリティモードで、前記平文データを前記エンジンに伝送し、前記エンジンから受信した前記暗号文データを前記不揮発性メモリコントローラに伝送するために前記第2電気的経路のみを活性化させ
前記エンジンと前記不揮発性メモリコントローラとは直接接続され、前記エンジンと前記不揮発性メモリコントローラとの間にはいかなる装置も接続されないことを特徴とするシステムオンチップ。
【請求項18】
前記第1電気的経路は、マルチプレクサ及びデマルチプレクサ介して前記平文データを前記不揮発性メモリコントローラに伝送するための経路を含むことを特徴とする請求項17に記載のシステムオンチップ。
【請求項19】
前記第2電気的経路は、前記マルチプレクサを介して前記平文データを前記エンジンに伝送するための経路と、前記デマルチプレクサを介して前記暗号文データを前記不揮発性メモリコントローラに伝送するための経路とを含むことを特徴とする請求項18に記載のシステムオンチップ。
【請求項20】
前記エンジンは、前記第2電気的経路を介して前記不揮発性メモリコントローラから受信した暗号文データを復号化することを特徴とする請求項17に記載のシステムオンチップ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムオンチップ(System On Chip:SoC)に係り、より詳細には、暗号化/復号化エンジンとメモリコントローラとが直接接続されたシステムオンチップとその動作方法、及びそれを含むシステムインパッケージに関する。
【背景技術】
【0002】
メインメモリは、CPU(Central Processing Unit)が実行するプログラムとCPUで必要なデータを、他の記録媒体、例えば不揮発性メモリ装置から受信する。また、メインメモリは、データを保存するために、データを他の記録媒体、例えば不揮発性メモリ装置に伝送する。
【0003】
メインメモリと不揮発性メモリ装置との間のデータ送受信過程で、データがプロービング(probing)されることを防止するために、データ送受信途中でデータを暗号化する過程が含まれ得る。メインメモリと不揮発性メモリ装置とを含むシステムの性能は、メインメモリと不揮発性メモリ装置との間でデータを送受信するためのデータ伝送経路、即ちデータパスによって決定される。
【発明の概要】
【発明が解決しようとする課題】
【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の性能が向上する。
【図面の簡単な説明】
【0018】
図1】本発明の一実施形態によるシステムオンチップを含むシステムのブロック図である。
図2図1に示したシステムオンチップの一実施形態によるブロック図である。
図3図2に示した暗号化/復号化エンジンに暗号キーを入力するセキュリティモードを説明するための概念図である。
図4図1に示したシステムオンチップの他の実施形態によるブロック図である。
図5図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図6図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図7図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図8図7に示した選択回路及び暗号化/復号化エンジンのブロック図である。
図9図1に示したシステムオンチップの更に他の実施形態によるブロック図である。
図10】本発明の一実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図11】本発明の他の実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図12】本発明の更に他の実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図13】本発明の更に他の実施形態によるシステムオンチップの動作方法を説明するフローチャートである。
図14図1に示したシステムを含むデータ処理装置の一実施形態によるブロック図である。
図15図1に示したシステムを含むデータ処理装置の他の実施形態によるブロック図である。
図16図1に示したシステムを含むデータ処理装置の更に他の実施形態によるブロック図である。
図17図1に示したシステムオンチップを含むシステムインパッケージ及び不揮発性メモリ装置のブロック図である。
図18図1に示したシステムオンチップを含むシステムインパッケージの他の実施形態によるブロック図である。
【発明を実施するための形態】
【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】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0083】
10 システム
100、100A、100B、100C、100D、100E、100F システムオンチップ(SoC)
100a プロセッサ
110 バス
120 CPU
130 メモリコントローラ
140 不揮発性メモリコントローラ
150 暗号化/復号化エンジン
160 第1OTPメモリ
170 DMAユニット
180 レジスタ
182 第2OTPメモリ
190 選択回路
192 第1選択器
194 第2選択器
200 不揮発性メモリ装置
200a 保存装置
300 メインメモリ
300a メモリ
400、500、600 データ処理装置
410、510、610 パワーソース
420、520、620 入出力ポート
430、530、630 拡張カード
440、540、640 ネットワーク装置
450、550、650 ディスプレイ
460、560、660 カメラモジュール
700、700′ システムインパッケージ(SiP)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18