JP2007143149A - 暗号/復号化シリアルata装置、及び、方法 - Google Patents

暗号/復号化シリアルata装置、及び、方法 Download PDF

Info

Publication number
JP2007143149A
JP2007143149A JP2006306383A JP2006306383A JP2007143149A JP 2007143149 A JP2007143149 A JP 2007143149A JP 2006306383 A JP2006306383 A JP 2006306383A JP 2006306383 A JP2006306383 A JP 2006306383A JP 2007143149 A JP2007143149 A JP 2007143149A
Authority
JP
Japan
Prior art keywords
encryption
decryption
fis
sata
sata device
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.)
Granted
Application number
JP2006306383A
Other languages
English (en)
Other versions
JP4762861B2 (ja
Inventor
Shuning Wann
▲述▼寧 萬
Chung-Yen Chiu
仲炎 邱
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.)
Enova Tech Corp
Original Assignee
Enova Tech Corp
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
Priority claimed from US11/282,175 external-priority patent/US7900057B2/en
Application filed by Enova Tech Corp filed Critical Enova Tech Corp
Publication of JP2007143149A publication Critical patent/JP2007143149A/ja
Application granted granted Critical
Publication of JP4762861B2 publication Critical patent/JP4762861B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】暗号/復号化シリアルATA装置、及び、方法を提供する。
【解決手段】暗号/復号化シリアルATA装置は、メインコントローラー、SATA装置プロトコルスタック、SATAホストプロトコルスタック、及び、暗号/復号化装置、からなる。暗号/復号化装置は、メインコントローラー、SATA装置プロトコルスタック、ホストプロトコルスタック間に結合され、高速コード処理を提供する。
【選択図】図1

Description

本発明は、暗号/復号化応用に関するものであって、特に、暗号/復号化シリアルATA(Serial ATA、或いは、SATA)装置、及び、方法に関するものである。"ATA"(ATインターフェース、ATアタッチメント)は、保存装置内部に配置された実体、電気性、転送、及び、指令の各プロトコルのことである。"AT"は1984年から導入されたIBM社のパソコン(Personal Computer,PC)AT(Advanced Technology)を演繹するもので、その当時の最先端のパソコンであった。
シリアルATA(SATA)規格はパラレルATAの高速インターフェースを代替する。SATA規格は三種の異なる速度を定義し、即ち、第一世代は転送速度が毎秒15億ビット(1.5Gbps)、第二世代転送速度は毎秒3.0Gbps、及び、第三世代転送速度は毎秒6.0Gbpsである。且つ、SATA規格はホストコンバータと保存装置コントローラー間のピアツーピア転送を定義する。例えば、ホストコンバータはPCI(Peripheral Component Interconnect)インターフェースのシリアルATAコントローラーを含むICを有する。"PCI"はインテル社が提唱するローカルバス(Local Bus)基準である。保存装置はシリアルATAハードディスクドライブ(Hard−Disk Drive)である。このピアツーピア転送はシェアせず、即ち、各SATA装置とコントローラーはコミュニケーション時、独占のピアツーピアチャンネルを使用する。
作業システム(Operating System,OS)にとって、SATAコントローラーはパラレルATA(parallel ATA)コントローラーと同様であり、よって、SATAコントローラーは、パラレルATAコントローラーと相同の指令、及び、相同の初期化行為をサポートする。特に、シリアルATAはホストソフトウェアにパラレルATAに相同なタスクファイルプログラミングレジスタ(Task File Programming Registers)を提供する。但し、シリアルATA中、これらのレジスタは通常実質的にディスクに配置されるのではない。ホストコントローラーに移され、SATA規格中、"シャドウレジスタ"(Shadow Registers)と称される。ディスクの相同のレジスタインターフェースを精確に模倣し、ソフトの互換性を確保する。
SATA規格は功能の分層を提供する。SATA構造中の最下層は物理層(Physical layer)で、物理層は実際の電子信号を生成し、生成された電子信号を転送し、及び、受信した電子信号を復号化する役割を果たす。物理層の能力は、特殊強制リセット信号の転送、ホスト挿接と否の検出、電源管理状態、及び、速度の転換を含む。この方面で、SATA規格は低圧差分信号により転送する。特に、信号は共同接地と相関する導体上で電圧により転送されるのではなく、二つの相隣する導体間の電位差により転送する。導体上の電圧が高い時、もう一つの導体の電圧は低く、二つの相隣する導体はもう一つの導体の反対になる。この種の信号の転送はノイズとクロストークを除去することができる。等量の相隣する信号に影響する電磁妨害(electromagnetic interference、EMI)は、ノイズとクロストークを含み、受信端で差分除去を受ける。
物理層上はリンク層で、この層は転送データのエンコード、受信データのデコード、基本通信、及び、プロトコルを担当する。常用する8ビット(8b)/10ビット(10b)エンコード方法を使用する。8ビットのバイトは256個の異なる値を表示し、異なる米国情報交換標準コード(American Standard Code for Information Interchange、ASCII)中に列記される。一つの10ビットのバイトは1024個の異なる値を有する。10ビットフィールド対256個の可能なバイト値をエンコードする時、1024個の可能値中から256個の値を選択してエンコード方法中に用いる。この種の8b/10bエンコード方法は、有限のランレングス、データ通信(Data Communication,DC)の平衡、及び、プリミティブ(primitives)のような特殊なビットコード制御の能力を有する。
プリミティブは、出力端と受信端間の特殊条件の転送を表示するのに用いられ、例えば、SOF(Start of Frame)、EOF(End of Frame)、及び、ALIGN(ビットストリーム中のビットバウンダリの位置を識別する)。リンク層は(a)通信を構築するアイドル(IDLE)プロトコル、(b)データペイロードの転送を処理する"転送"プロトコル、(c)既に転送されたデータペイロードの受信を処理する"受信"プロトコル、及び、(d)二つの電源管理状態からの進出入を処理する電源管理(power management)プロトコル、を含む。
リンク層はデータペイロードパッケージの転送を担う。データペイロードパッケージはフレーム情報構造(Frame Information Structure,FIS)と称される。フレーム(frame)は一から複数個のホストと装置間で転送されるダブルワード(Double Word、DWORD)の集合である。DWORDは32ビット(bits)データ、或いは、二つの相隣するワード(WORD)、或いは、四個の相隣するバイト(BYTE)を表示することができる。ビットで表示する時、右から左に、右側は最低有効ビット、ビット0で、左側は最高有効ビットで、ビット31である。
リンク層プロトコル中、ホストと装置間で交換するプリミティブのシリアル、及び、各種プリミティブ、及び、条件に対する応答を描写する。リンク層プロトコルは既に転送されたFISデータペイロード計算の巡回符号方式(Cyclic Redundancy Check code、CRC code)を担う。計算されたCRCは転送されたFISデータの末端に付加される。リンク層は受信したFIS中のCRCを検証、並びに除去する。データペイロード転移上の電磁妨害の影響を最小にするため、リンク層はFISをSATAインターフェースに転送する前に、まず、FIS中のペイロードデータをスクランブル(scramble)する。
SATA構造中、リンク層上方はトランスポート層で、主に、転送したいFISを構築し、受信したFISを分解する。高層がFISデータの構築を要求する時、トランスポート層(a)は要求されたFIS類別に基づいて、データ内容を収集する。(b)FIS内容を配列する。(c)リンク層に転送に必要なフレームを通知すると共に、FIS内容をリンク層に転送する。(d)バッファ/ファイフォ(First In First Out,FIFO)工程を管理し、リンク層に必要な工程制御を通知する。(e)リンク層からフレーム応答情報を受信する。(f)高層に転送が正常か否か、及び、エラー情報を報告する。トランスポート層はATA指令、或いは、前のFIS内容上において無上下文の分を保持する。
FISの一般形式はFISヘッダー、及び、FIS本体を含む。FISヘッダーは通常、FIS類型フィールドの値と少なくとも一つの制御フィールドを含む。FIS本体はデータペイロードを含む。FIS類型フィールドの値は第一バイト中に記録される。FIS類型は、(a)レジスタ-ホストから装置(Register―Host to Device)型、(b)レジスタ-装置からホスト型((Register―Device to Host)、(c)データ形態、(d)ダイレクトメモリアクセス(Direct Memory Access,DMA)起動形態、(e) プログラム式入出力 (Programmed Input/Output,PIO)設定形態、(f)設定装置ビット形態、(g)DMA設定形態、及び、(h)ビルトインセルフテスト(Built-in Self-Test,BIST)起動を含む。第二バイトは、FISの制御情報、及び、三限定ビット、数個の保留ビットを含む。この三個の限定ビットは全形態のFISに適用しない。この三個の限定ビットは、指令/制御ビットであるC(高)ビット、中段指令を触発するかを表示する1ビット、及び、データ転送方向を記載するDビットを含む。上述の二個のバイトの後の全フィールドはFISペイロードデータである。
例えば、レジスターホストから装置の形態のFIS類別フィールドの値は16進数値0×27、スクランブル後はこのフィールドが16進数値0×AA、及び、二進数形式の10ビットエンコード値は0101011010である。データ形態FISのフォーマットは、ホストから装置に転送される場合も、装置からホストに転送される場合も相同である。データ形態FISは二フィールドをFIS類別と相関する制御データの識別に提供し、残りは転送されるペイロードデータである。
FIS上で高速暗号/復号化演算をするため、二つの主要任務の実施が必要である。一つは、データ形態FISか否かを即時に検出でき、非データ型FISと分離することで、二つ目は、データ形態のFISであることを検出し、迅速にそれが暗号/復号化処理のデータを含むかを検査することである。暗号/復号化処理は以下の工程を含む。(a)バイパスフラグ(Bypass Flag)を検出し、バイパスフラグが真(true)の場合、フレームがいかなる暗号/復号化演算もしないことを示し、即ち、パスする。(b)バイパスフラグが偽(false)の場合、フレームが個別に暗号/復号化演算をしなければならないことを示す。公知技術によるこれらの演算方法は、まず、受信したSATAプロトコルスタックを分解し、続いて、分解後のデータを分析し、最後に、新たにパッケージしたデータをSATAプロトコル中に送って転送する。この工程はソフトウェア/ハードウェアの複雑さと固有の作業時間等において効率が悪い。
SATA規格下で、更に効果的で複雑でないコード作業実行装置の提供が必要である。この暗号/復号化SATA処理装置は、高速暗号/復号化に応じて、それぞれ、入力/出力端(ホスト、及び、装置)から選択されたデータストリームを処理する。この他、この装置は受信したFIS、及び、データペイロードが暗号/復号化処理が必要がどうか快速に判断する能力を有する。
解決しようとする課題は、暗号/復号化シリアルATA装置とその方法を提供することにある。
以下は、暗号/復号化シリアルATA装置の具体的実現である。
本発明の特性によると、暗号/復号化シリアルATA装置を提供し、メインコントローラーと、差分信号転送に適用する少なくとも一つのプロトコルスタックと、少なくとも一つの暗号/復号化装置、からなる。暗号/復号化装置はメインコントローラーとプロトコルスタックの間に結合されて、高速暗号/復号化処理を提供する。
本発明のもう一つの特性によると、暗号/復号化シリアルATA装置を提供し、メインコントローラーと、少なくとも一つのSATAプロトコルスタックと、少なくとも一つの暗号/復号化装置、からなる。暗号/復号化装置はメインコントローラーとSATAプロトコルスタックの間に結合されて、高速暗号/復号化処理を提供する。
本発明の更にもう一つの特性によると、暗号/復号化シリアルATA装置を提供し、メインコントローラーと、SATA装置プロトコルスタックと、SATAホストプロトコルスタックと、少なくとも一つの暗号/復号化装置、からなる。暗号/復号化装置はメインコントローラー、SATA装置プロトコルスタックと、SATAホストプロトコルスタックの間に結合されて、高速暗号/復号化処理を提供する。
以下は、暗号/復号化シリアルATA方法の具体的実現である。
本発明の特性によると、暗号/復号化シリアルATA方法を提供し、その工程は、まず、暗号/復号化シリアルATA(SATA)装置をホストと装置間に提供する工程と、続いて、暗号/復号化SATA装置を利用して、ホストから受信したPIOデータ出力(Data−Out)指令形態のFISを検出する工程と、受信したFIOデータ出力指令形態のFISが所定類別に属するかどうか決定する工程(所定類別は対応する暗号/復号化SATA装置の暗号模式である)と、暗号/復号化SATA装置により、装置から受信された全PIO設定形態のFISをホストまで迂回させる工程と、続いて、暗号/復号化SATA装置により、ホストから受信したデータ形態FISプレロードを検出する工程(検出されたデータ形態FISプレロードは既に暗号化される)と、最後に、暗号/復号化SATA装置により、装置から受信した状態レジスタ形態のFISを検出する工程と、からなる。検出した装置状態レジスタ形態FISは、暗号/復号化SATA装置をバイパスフラグ模式に再設定する。
本発明のもう一つの特性によると、暗号/復号化シリアルATA方法を提供し、その工程は、まず、暗号/復号化シリアルATA(SATA)装置をホストと装置間に提供する工程と、続いて、暗号/復号化SATA装置を利用して、ホストから受信したDMAデータ入力(Data−In)指令形態のFISを検出し、受信したDMAデータ入力指令形態のFISが所定類別に属するかどうか決定する工程(所定類別は対応する暗号/復号化SATA装置の復号化模式である)と、暗号/復号化SATA装置により、装置から受信したデータ形態のFISプレロードを検出する工程(検出されたデータ形態FISプレロードは既に復号化されている)と、最後に、暗号/復号化SATA装置により、装置から受信した状態レジスタ形態のFISを検出する工程と、からなる。検出した装置状態レジスタ形態FISは、暗号/復号化SATA装置をバイパスフラグ模式に再設定する。
本発明により、SATA規格下で、更に効果的で複雑でないコード作業実行装置が提供される。
図1は、本発明の暗号/復号化SATA装置20を示す図である。一側で、暗号/復号化SATA装置20は、SATAホストコンバータ(図示しない)から入力RXhを受信し、出力TXhをホストコンバータ(図示しない)に伝送する。SATAホストコンバータ(後述中で"ホスト"と称する)は、例えば、メインパソコン上に提供される。もう一側で、暗号/復号化SATA装置20は、SATA装置コントローラーから入力RXdを受信し、出力TXdをSATA装置コントローラー(図示しない)に転送する。SATA装置コンバータ(後述中で"装置"と称する)は、例えば、ハードディスクドライブ、光学ドライバ(CD ROM、DVD ROM)等の周辺装置上に提供される。暗号/復号化SATA装置20は、シリアルATAケーブル等の適当な通信カップリングにより、ホスト、及び、装置と通信する。但し、ここではシリアルATAケーブルの使用に限定するものではない。ホストと装置間の転送データは、指令、制御、状態、及び、データ信号を含み、シリアルATAプロトコルスタックにパッケージして序列化し、ケーブル連接された二つの差分信号中で転送される。
本発明の実施例中、暗号/復号化SATA装置20は、暗号/復号化装置22を有し、メインコントローラー24と装置プロトコルスタック26、及び、ホストプロトコルスタック28間に結合される。任意のプロトコルスタック(26、28)は物理層(physical layer)30、リンク層(link layer)32、及び、トランスポート層(transport layer)34を有する。応用層(application layer)36は、図1で示されるように、暗号/復号化装置22を有し、メインコントローラー24を有する。
暗号/復号化装置22は、所定の、及び、又は選択されたホストと装置間で交換されるデータ形態FISプレロード上で暗号/復号化演算を実行する。非データ形態FIS、或いは、暗号/復号化が不要なデータ形態FIS、例えば、FIS指令(command)、制御(control)、或いは、状態(status)情報は、図1で示されるように、直接通過し(一側からもう一側に)、即ち、暗号/復号化装置22を迂回する。本技術を熟知するものなら分かるように、既に多くの暗号/復号化装置があり、任意の暗号/復号化装置が本発明の暗号/復号化SATA装置20中に適用できる。
メインコントローラー24は、全てのデータ、指令、制御、及び、状態信号の信号路径を規範するのに用いられる。メインコントローラー24は全ての低層(トランスポート層34、リンク層32、及び、物理層30)から信号を受信する。受信した信号は、FIS類別、及び、検出した指令、転送方向(ホストから装置、或いは、装置からホスト)、制御信号、例えば、リンク層32のプリミティブから指示器を検出し、物理層30のOOB(out of band)例外処理プログラム(或いは、段外)から指示器、その他のチャンネル状態指示器、及び、異常条件、例えば、転送誤差、或いは、中止等を検出する。メインコントローラー24は、図1で説明するように、暗号/復号化装置22の演算を規範する。メインコントローラー24は、暗号/復号化装置22が異常演算条件から回復させ、安定したホストと装置間の接続を保持するのを補助する。
図2はSARAトランスポート層34中のデータ形態FIS38のビット配置の表である。データ形態FIS38は複数のDWORDからなる。データ形態FIS38の第一DWORDはデータ形態FIS38のヘッダー40である。データ形態FIS38のヘッダー40の第一バイト42はデータ形態FIS38の類別フィールドである。第一DWORDの残りの三個のバイトは、保留ビット、保留ビットフィールド、及び、保留バイトを含む(図示しない)。データ形態FIS38の残りのN個のDWORDはデータペイロード(Data Payload)である。特定のあるデータ形態FIS38のペイロードは、暗号/復号化装置22により暗号/復号化(図1で示される)演算する。非データ形態FISは、暗号/復号化装置22により処理されない。暗号/復号化装置22によりコード処理されたデータ出力の再転送は、データヘッダーを増加させる方式により、データ形態FIS中に再パッケージする。
受信したFISがデータ形態FIS、或いは、非データ形態FISであるか否かを迅速に決定する方法は、暗号/復号化SATA装置20を設置して、FIS類ベルフィールド、即ち、受信したFISヘッダーの第一バイトを検出する。特に、トランスポート層34、或いは、リンク層32中、FIS類別検出器を提供することができ、以下の図7、及び、図8で示される。本技術を熟知するものなら分かるように、受信したデータ形態FIS38の第一DWORDの残りバイトも本発明の一般原則に用いて分析できる。FIS類別フィールドの値は16進数値0×46で、受信したFISがデータ形態FISであることを表示する。そうでなければ、非データ形態FISである。この方面で、図2は、データ形態FISヘッダー40の第一バイト42中のFIS類別(46h)を示す。
図3はSATAリンク層32中のデータ形態FIS44のビット配置の表である。ビット配置はSOFプリミティブ46を有し、32ビットの独特なコードで、フレームの開始を表示する。SOFプリミティブ46の後は、トランスポート層データ形態FISのコード/復号化バージョン、及び、32ビットCRC検査コード48である。CRC検査コード48はエンコード化される。CRC検査コード48の後はEOFプリミティブ50で、32ビットのプリミティブはフレームの終了を表示する。
実施例中、スクランブル演算は、予め定義されたスクランブラーシンドロームシーケンス(Scrambler Syndrome Sequence)とFISの複数のDWORDによりXOR(Exclusive OR)演算を実行する。XORはブール演算子で、演算元が真(true)である時、TRUEの値を転送する。スクランブラーシンドロームシーケンスの値がSOFプリミティブで、SOFプリミティブの後に続くFIS類別フィールドの値後再度設定される。FIS類別フィールドの値の転送時のスクランブラーシンドロームシーケンスはスクランブラーに提供する種子に等しい。FISスクランブル処理の主要目的は、電磁妨害を減少させることである。適当なスクランブル、或いは、データ形態FISの転換方法が使用できるが、その使用は本発明の目的に反してはいけない。
図4は、図3のALIGNプリミティブ52、54のビット配置を挿入した図である。ALIGNプリミティブ52、54は、転送器により注入され、且つ、スクランブル処理しない。ALIGNプリミティブ52、54は、図3のデータ形態FIS44のビット配置の所定位置に注入される。ALIGNプリミティブ52、54は、信号調整工程制御を提供する。実施例中、256個のDWORD転送中、連続した偶数のALIGNプリミティブが生成される。これらのALIGNプリミティブはトランスポート層プロトコルの一部分ではなく、よって、受信された後、内文中から削除される。本発明の一般原理を説明するため、全ALIGNプリミティブが削除されたと仮定する。
上述のように、FIS類別検出器はリンク層32に提供され(図8で示される)、リンク層プロトコルフォーマットにより、パッケージされたFISがデータ形態FISか否か決定する。スクランブル後の8ビットFIS類別値の値が16進数の0×CBの場合、データ形態FISである。もう一つの方法は、データスクランブラーシンドロームシーケンスの値を検査するもので、16進法値は0×8であれば、データ形態FISである。もう一つの方法は、SOFプリミティブ後面の10−ビットエンコードワードを検出するものである(二進数フォーマットの値は1101000110で、データ形態FISである)。
全ての検出されたデータ形態のFISが暗号/復号化処理の必要があるわけではない。装置形態、設定、及び、状態調査と相関するATA指令を有するデータ形態FISは暗号/復号化装置22の処理を必要としない(図1を参照する)。例えば、PIO下のIDENTIFY_DEVICE指令と相関するデータ形態FISは、暗号/復号化装置22による処理が必要がなく、全て、装置形態、設定と状態調査に相関する指令、或いは、データと同じである。各種相関するPIO指令/情報("Bypass True"類別)表は以下のようである:
CFA―TRANSLATE―SECTOR
DEVICE―CONFIGURATION―IDENTIFY
IDENTIFY―DEVICE
IDENTIFY―PACKET―DEVICE
READ―LOG―DATA
SMART―READ―LOG―SECTOR CFA―WRITE―MULTIPLE―WITHOUT−ERASE
CFA―WRITE―SECTOR―WUTHOUT―ERASE
DEVICE―CONFIGURATION―SET
DOWNLOAD―MICROCODE
SECURITY―DISABLE―PASSWORDS
SECURITY―ERASE―UNIT
SECURITY―SET―PASSWORDS
SECURITY―UNLOCK
SMART―WRITE―LOG―SECTOR
WRITE―LOG―EXT
本技術を熟知するものなら分かるように、各種PIO指令はSATA規格の未来バージョン中で増加でき、本発明の一般原理の使用に基づく。
ATAデータ転送指令は通常、プロトコルシリアルが終了するまで、一つ、或いは複数のデータ形態FISを有する。全てのATA指令は、図5で示されるように、SATAトランスポート層34中のレジスターホストから装置形態FIS56の指令フィールド(第三バイト)を検査することにより検出される。図5で示されるように、レジスターホストから装置形態FIS56のFIS類別16進法の値は0×27(デスクランブル、de―scrambled)である。よって、暗号/復号化装置22による処理かどうか決定し、指令により制御する。即ち、検出された指令が"Bypass True"類別に属する時、上述のように、指令プロトコル中のデータ形態FISは暗号/復号化装置22(図1で示される)により処理しない。反対に、検出された指令が"Bypass False"類別に属する時、指令プロトコル下の全データ形態FISは暗号/復号化装置22により暗号/復号化処理される。各種PIO、及び、高速ダイレクトメモリアクセス(Ultra DMA,UDMA)"Bypass False"類別指令の例は以下のようである:
READ―SECTOR
READ―SECTOR―EXT
READ―MULTIPLE
READ―MULTIPLE―EXT
READ―BUFFER
READ―DMA
READ―DMA―EXT
WRITE―SECTOR
WRITE―SECTOR―EXT
WRITE―MULTIPLE
WRITE―MULTIPLE―EXT
WRITE―BUFFER
WRITE―DMA
WRITE_DMA_EXT
よって、SATA指令プロトコルは、実体保存媒体(CDRW)の光トラック、或いは、ディスクの領域)から/までデータの読み書きに関係し、特別な指令プロトコル下のデータ形態FISのプレロードは暗号/復号化処理が必要である。
本技術を熟知するものなら理解できるように、各種新しいPIOの読み書き指令、及び、DMA読み書き指令は、SATA規格の未来バージョン中に増加され、本発明の原理応用に基づく。例えば、現在のSATA規格がPIO演算コードだけ提供するが、F7、FB、5C、及び、5Eに対し指令説明がなく、拡充レジスタを使用せず、転送長さは領域計数レジスタにより制御される(値0〜255は256個の領域を表す)。それらはATA PIOのタイミング、及び、制御工程信号に従うが、指令SECURITY_ERASE_UNIT(上述を参照)は長時間実行される。全ての現在未説明のUDMA演算コードは、5D―UDMA Read、5F―UDMA Writeを含む。その指令特性は現在不明である。
本発明の実施例中、指令プロトコル中の全データ類別FISは、検出された指令が"Bypass False"類別、或いは、"Bypass True"類別に未加入のものは、暗号/復号化装置22により処理されない。例えば、暗号/復号化SATA装置20は、DMA指令QUEUEをサポートするように設定されず(携帯データはコード処理が必要なデータ読み書き指令)、よって、指令、及び、データはパスされ、即ち、暗号/復号化装置22により処理されない。
図6ははリンク層32中のレジスタ-ホストから装置形態のFIS58のビット配置の表であり、それぞれ、トランスポート層、及び、リンク層中の一つの"レジスターホストから装置"形態FISのビット配置を説明する。図6で示されるように、FIS類別は8ビットエンコードの16進数値0×AAを有する。図6中の指令フィールド60のデータスクランブラーシンドロームシーケンスは所定の16進数値0×D2を有する。よって、リンク層32中の指令フィールドの値は16進数値0×D2とデスクランブル演算前の演算コードの"XOR演算結果と等しい。
図7は、本発明の暗号/復号化SATA装置20(図1で示される)の実施例の部分図(一側のみ)である。本技術を熟知するものなら分かるように、その他の選択された形態(パラレルATAインターフェース、及び/又は、ユニバーサルバス(Universal Serial Bus,USB)インターフェースは暗号/復号化SATA装置20のもう一側に提供される。
図7は、トランスポート層34中のFIS類別検出器62に提供される。FIS類別検出器62はリンク層32からのFISヘッダーのFIS類別フィールドの検出、及び、検査に用いられる。FIS類別フィールド値が16進数値0×46の場合、受信するFISはデータ形態FISである。そうでなければ、非データ形態FISである。受信したFISがデータ形態FISである場合、FIS類別検出器62はデータ形態プレロードを暗号/復号化装置22に送って暗号/復号化演算を行う。FIS類別フィールド中に16進数値0×46が見つからない場合、FIS類別検出器62は非データ形態のFISをトランスポート層34から応用層36を経て、暗号/復号化装置22から離し、暗号/復号化処理が不要である。
トランスポート層34中にATA指令フィルター64を含み、リンク層32からの任意のレジスタ−ホストから装置形態FIS(FIS類別の16進数値は0×27)の指令フィールド(第一32ビットDWORDの第三バイト、図5を参照)を検査する。ATA指令フィルター64は暗号/復号化装置22のバイパス制御を提供する。検出されたレジスタ−ホストから装置形態FISの第三バイトは上述の"Bypass True"指令類別の装置形態、設定、及び、状態調査に属さない時、バイパスフラグは"偽(False)に設定される。そうでない場合、ATA指令フィルター64はバイパスフラグは"真(True)に設定される。すべてのレジスタ−ホストから装置形態のFISは応用層36に導かれ、即ち、暗号/復号化装置22によりいかなる処理もされない。暗号/復号化装置22は前の実行状態を、次のATA指令フィルター64のバイパスフラグ制御信号により変わるまで保持する。適当なデータ緩衝が必要である場合、FIFOバッファ66(図7で示される)はFIS類別検出器62と暗号/復号化装置22間に結合される。
図8で示される本発明の暗号/復号化SATA装置20(図1で示される)のもう一つの実施例の部分(一側だけ)を示す図である。本技術を熟知するものなら分かるように、その他の形態(パラレルATAインターフェース、及び/又は、USBインターフェース)は必要時、暗号/復号化SATA装置20のもう一側に提供される。
図8で示されるように、リンク層32中にFIS類別検出器68を有する。FIS類別検出器68は四方法のうちの一つを利用して、物理層30から進入したビットストリームがパッケージするデータ形態FISを含むかどうか決定する。第一種の方法は、規定のデスクランブル後のビット値、例えば、SOFプリミティブの後第一デスクランブルの値を決定する。SOFプリミティブ後の第一デスクランブル値が16進数値0×46の場合、データ形態FISに属する。第二の方法は、規定のデスクランブル後のビット値、例えば、SOFプリミティブ後の第一ディスクランブルのビット値を検査する。SOFプリミティブ後、第一スクランブル後のビット値が16進数値0×CBである場合、データ形態FISに属する。第三方法は、0×8Dの相関するスクランブラーシンドロームシーケンスの16進数値により決定する。データ形態FISは8ビットのデスクランブルの16進数値0×CBを有する。第四方法は、SOFプリミティブ後の第一10ビットワードの内容を決定する。二進数値(1101000110)を有する。
データ形態FISが検出された場合、FIS類別検出器68はこのデータ形態FISを暗号/復号化装置22に送り、暗号/復号化演算を行う。そうでなければ、FIS類別検出器68はこの非データ形態FISを物理層30とリンク層32により、暗号/復号化装置22から離し、即ち、コード処理しない。
リンク層32中、ATA指令フィルター70を有し、物理層30から進入するビットストリームがレジスタ−ホストから装置形態FISを含むかどうか、上述の"Bypass True"類別に属するATA指令を含むか決定する。リンク層32中のレジスタ−ホストから装置形態FISは、四種の方法の一つを利用して検出される。第一方法は、所定のデスクランブル後のバイト値、例えば、SOFプリミティブ後の第一デスクランブルのバイト値を決定する。レジスターホストから装置形態のFISである場合、SOFプリミティブ後の第一デスクランブルのバイト値が16進数値0×27である。第二の方法は、所定のデスクランブル後のバイト値、例えば、SOFプリミティブ後の第一デスクランブルのバイト値を決定する。レジスターホストから装置形態のFISである場合、SOFプリミティブ後の第一スクランブル後のバイト値は16進数値0×AAである。第三方法は、相関するスクランブラーシンドロームシーケンスの16進数値0×8Dによりバイト値を決定する。レジスターホストから装置形態のFISである場合、8ビットコードの16進数値0×AAを有する。第四方法は、SOFプリミティブ後の第一10ビットワードの内容を決定する。二進数フォーマットの値(0101011010)を有する。FIFOバッファ72(図8で示される)はFIS類別検出器68と暗号/復号化装置22間に結合されて、適当なデータバッファを提供する。
本技術を熟知するものなら分かるように、第二実施例中(図7、及び、図8)において、本発明の暗号/復号化SATA装置中のトランスポート層、及び/又は、リンク層プロトコルの集合全部を分解してデータのコード処理を実行しなくてはいけないわけではない。よって、図7、及び、図8で説明する実施例のソフト/ハードの待ち時間、及び、複雑度は大幅に減少する。
図9は本発明の実施例による暗号/復号化作業制御を示す図である。任意の実施例中(図7、及び、図8)、ATA指令フィルター(64、或いは、70)の"バイパス"制御信号とメインコントローラー24中の"予設定バイパス"信号は"ロジック"或いは、(OR)演算される。メインコントローラー24の出力は暗号/復号化装置22の作業を制御する。メインコントローラー24中の"予設定バイパス"信号は、暗号/復号化SATA装置20の全パワー周期で恒定を保持する。"予設定バイパス"信号がロジック"1"に設定される場合、ATA指令フィルターの状態がいかなる状態であっても"バイパス"フラグは"真"に設定される。ロジック"0"に設定される場合、暗号/復号化装置22の作業はATA指令フィルターが提供する"バイパス"制御信号によって決まる。
図8で示されるように、FIS類別検出器、及び、ATA指令フィルターはリンク層32に設置され、各種長所がある。例えば、リンク層32中で検出作業を実行する場合、FIS類別DWORDをトランスポート層に送る待ち時間が減少する。検出から反応時間は制限されない。時間がかかる工程が嵌入式CPU(Central Processing Unit)中で実作される時、得られる余分の時間は有用である。一方、図7の実施例の長所は簡単で、即ち、複雑でない制御ロジック設計があればよい。
図10は、本発明の暗号/復号化SATA装置20(図1で示される)を経るデータストリームを示す図である。特に、PIOデータ出力指令(PIO Data−Out)に基づくデータストリームを説明する。シリアルATA暗号/復号化装置20はホスト上での反応や対応、及び、装置シリアルATAチャンネル上で受信、及び、検出するデータに基づいて作業する。本実施例中、暗号/復号化SATA装置20が最初"アイドル"状態に設定される場合、この時、ホストと装置端のシリアルATAチャンネルのいかなる活動も傾聴する。この状態下での"バイパス"フラグは"真"である。工程1中、暗号/復号化SATA装置20はホストで受信するPIOデータ出力指令形態のFISを検出する。次に、受信したPIOデータ出力指令が所定の類別に属するかどうか決定する。PIOデータ出力指令が所定の類別に属する場合、暗号/復号化SATA装置20のメインコントローラー24は"バイパス"フラグ(図9で示される)を再度"偽"に設定し、暗号/復号化装置22は暗号模式になる。
工程2中、暗号/復号化SATA装置20は装置から受信したPIO設定形態FISをホストまで迂回する。工程3中、暗号/復号化SATA装置20はホストから受信したデータ形態FISを検出し、データ形態FIS中の全データDWORDは、暗号/復号化装置22に引導されて暗号化される。工程4中、暗号/復号化SATA装置20は(状態)レジスタ形態FISが、装置から(指令完成、或いは、中止)受信したことを検出し、"バイパス"フラグ(図9で示される)は"真"に再設定され、暗号/復号化SATA装置20は"アイドル"状態に戻る。そうでなければ、指令は未完成で、処理工程は工程2、工程3、及び、工程4を再実行する。
図11は、本発明のもう一つの実施例による暗号/復号化SATA装置20を経るデータストリームを示す図である。特に、DMAデータ入力指令に基づく(DMA Data−In)データストリームを説明する。暗号/復号化SATA装置20が最初"アイドル"状態に設定される場合、この時、ホストと装置端のシリアルATAチャンネルのいかなる活動も傾聴する。この状態下での"バイパス"フラグは"真"である。
シリアルATAハードディスクドライブがデータをホストに転送する準備の時、ハードディスクドライブは適当な要求信号をホストに発信する。ホストの応答メッセージを受信した後、ハードディスクドライブはデータ類別のFISを転送する。受信したデータ形態FISに基づき、ホストコントローラー中のDMAエンジンは受信したデータをホスト端の既に手配されたメモリ中の連続位置に転送する。
工程1中、暗号/復号化SATA装置20はホストから受信したDMAデータ入力指令形態のFISを検出する。指令が所定の類別に属する場合、暗号/復号化SATA装置20のメインコントローラー24は"バイパス"フラグ(図9で示される)を再度"偽"に設定し、暗号/復号化SATA装置20は、この時、復号化模式である。工程2中、シリアルATA暗号/復号化SATA装置20は装置から受信したデータ形態FISを検出し、データ形態FIS中の全DWORDは、暗号/復号化装置22に引導されて復号化される。工程3中、シリアルATA暗号/復号化SATA装置20が装置から受信した(状態)レジスタ形態FIS(指令完成、或いは、中止)を検出し、"バイパス"フラグは"真"に再設定され、暗号/復号化SATA装置20は"アイドル"状態になる。そうでなければ、指令は未完成で、処理工程は工程2、工程3を再実行する。
図12は、本発明の暗号/復号化SATA−IDE(Integrated Drive Electronics,IDE)実作を説明する。特に、暗号/復号化SATA装置20の一側はSATA−IDEプロトコルコンバータによりIDE信号インターフェース76に結合される。IDE信号インターフェース76はIDEチャンネルを装置(図示しない)に提供する。暗号/復号化SATA装置20のもう一側はSATAチャンネルをホスト(図示しない)に提供する。図12で示されるように、暗号/復号化SATA装置20は、SATA−IDEプロトコルコンバータ74によりダウンストリーム制御信号に、データをIDE信号インターフェース76に転送する。暗号/復号化SATA装置20はIDE信号インターフェース76によりSATA−IDEプロトコルコンバータ74を経て、アップストリーム制御装置、及び、データを受信する。
図12の実施例中、暗号/復号化SATA装置20は図7の実施に基づく。トランスポート層34上でATA指令フィルター64を提供する。図12のもう一つの実施例中、暗号/復号化SATA装置20は図8の実施に基づく。ATA指令フィルター70はリンク層32上に設置される。
上述の実施例は、ハードウェア、及び/又は、ソフトウェアの形式で実施できる。本発明の暗号/復号化SATA装置を利用し、異なる長所を提供できる。例えば、FIS分析時間が短縮できる。この他、ハードウェア、及び、ソフトウェアの複雑性も減少する。この他、全データを分解して暗号/復号化が必要か決定する必要がない。
暗号/復号化SATA装置、及び、方法は、データ類別フレーム(Data FIS)と非データ形態フレーム(None Data FIS)を迅速に区別し、全体の復号化作業を更に効果的に、複雑さを低下させる。この他、本発明が開示する暗号/復号化SATA装置は、二(シリアルATA)インターフェースにより受信される選択性データストリームを暗号/復号化する。この他、図12の暗号/復号化SATA装置は、シリアルATA、及び、IDEインターフェースにより受信した選択性データストリームを暗号/復号化演算する。実作はシリアルATAからUSBをコネクタに接続し、シリアルATA、及び、USBインターフェースにより受信した選択データストリームを暗号/復号化する。
上述のように、各種実施例は多くの商用装置中で実作される。これらの装置は、内部のハードディスク、CDROM、DVDROM、CDRW、DVDRW、及び、シリアルATAのフラッシュメモリ:外部携帯式ディスク、CDROM、DVDROM、CDRW、DVDRW、シリアルATAインターフェースを有するフラッシュメモリ:シリアルATAからIDE/IDEからシリアルATAモジュール、シリアルATAからUSB/USBからシリアルATAモジュール、パソコン、ノート型パソコン、膝上PC、及び、タブレット型PC等を含む。
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
本発明の暗号/復号化SATA装置を示した説明図である。 本発明のSATAトランスポート層中のデータ形態FISのビット配置表である。 本発明のSATAリンク層中のデータ形態FISのビット配置表である。 本発明の図3のALIGNプリミティブ後のビット配置表である。 本発明のSATAトランスポート層中のレジスタ−ホストから装置のビット配置表である。 本発明のSATAリンク層中のレジスタ−ホストから装置のビット配置表である。 図1の暗号/復号化SATA装置の実施例の部分図である。 図1の暗号/復号化SATA装置のもう一つの実施例の部分図である。 暗号/復号化演算制御図である。 本発明の実施例による図1の暗号/復号化SATA装置を経るデータストリームを示す図である。 本発明のもう一つの実施例による図1の暗号/復号化SATA装置を経るデータストリームを示す図である。 本発明の暗号/復号化SATA−IDE実作を示す図である。
符号の説明
20 暗号/復号化SATA装置
22 暗号/復号化装置
24 メインコントローラー
26 装置プロトコルスタック
28 ホストプロトコルスタック
30 物理層
32 リンク層
34 トランスポート層
36 応用層
38 データ形態FIS
40 ヘッダー
42 第一バイト
46 SOFプリミティブ
48 CRC検査コード
50 EOFプリミティブ
52、54 ALIGNプリミティブ
56、58 レジスタ-ホストから装置形態FIS
60 指令フィールド
62、68 FIS類別検出器
64、70 ATA指令フィルター
66、72 FIFOバッファ
74 SATA−IDEプロトコルコンバータ
76 IDE信号インターフェース

Claims (52)

  1. 暗号/復号化装置であって、
    メインコントローラーと、
    差分信号転送に適する少なくとも一つのプロトコルスタックと、
    前記メインコントローラーと前記プロトコルスタック間に結合され、高速コード処理を提供する少なくとも一つの暗号/復号化装置と、
    からなることを特徴とする暗号/復号化装置。
  2. 暗号/復号化シリアルATA(SATA)装置であって、
    メインコントローラーと、
    少なくとも一つのSATA装置プロトコルスタックと、
    前記メインコントローラーと前記SATA装置プロトコルスタックに結合され、高速コード処理を提供する少なくとも一つの暗号/復号化装置エンジンと、
    からなることを特徴とする暗号/復号化SATA装置。
  3. 暗号/復号化シリアルATA(SATA)装置であって、
    メインコントローラーと、
    SATA装置プロトコルスタックと、
    SATAホストプロトコルスタックと、
    運用上、前記メインコントローラーと前記SATA装置プロトコルスタック、及び、前記SATAホストプロトコルスタックに結合され、高速コード処理を提供する少なくとも一つの暗号/復号化装置と、
    からなることを特徴とする暗号/復号化SATA装置。
  4. 前記SATA装置プロトコルスタックは、SATAホストコンバータから入力データを受信し、出力データを前記SATAホストコンバータに伝送することを特徴とする請求項3に記載の暗号/復号化SATA装置。
  5. 前記SATAホストプロトコルスタックは、SATA装置コントローラーから入力データを受信し、出力データを前記SATA装置コントローラーに伝送することを特徴とする請求項4に記載の暗号/復号化SATA装置。
  6. 任意の前記SATA装置プロトコルスタック、及び、任意の前記SATAホストプロトコルスタックは、物理層、リンク層、及び、トラスポート層からなることを特徴とする請求項5に記載の暗号/復号化SATA装置。
  7. 更に、応用層を含むことを特徴とする請求項6に記載の暗号/復号化SATA装置。
  8. 前記応用層は、前記暗号/復号化装置、及び、前記メインコントローラーを有することを特徴とする請求項7に記載の暗号/復号化SATA装置。
  9. 前記暗号/復号化装置を利用して、前記SATAホストコンバータと前記SATA装置コントローラー間で交換する所定のデータ形態FISプレロード上で暗号/復号化演算を実行することを特徴とする請求項8に記載の暗号/復号化SATA装置。
  10. 前記暗号/復号化装置を利用して、前記SATAホストコンバータと前記SATA装置コントローラー間で交換する選択されたデータFISプレロード上で暗号/復号化演算を実行することを特徴とする請求項8に記載の暗号/復号化SATA装置。
  11. 前記メインコントローラーは、転送データ、指令、制御、及び、状態信号の信号経路を規範することを特徴とする請求項10に記載の暗号/復号化SATA装置。
  12. 前記メインコントローラーは、複数の前記物理層、前記リンク層、及び、前記トランスポート層からの信号を受信することを特徴とする請求項11に記載の暗号/復号化SATA装置。
  13. 受信した前記信号は、下方層から検出されるFIS類別、及び、複数の指令を含むことを特徴とする請求項12に記載の暗号/復号化SATA装置。
  14. 受信した前記信号は、データ転送方向を含むことを特徴とする請求項12に記載の暗号/復号化SATA装置。
  15. 受信した前記信号は、下方層からのプリミティブ、及び、OOB(Out of Ban))段外検出指示器(detection indicators)を含むことを特徴とする請求項12に記載の暗号/復号化SATA装置。
  16. 複数の非データ形態FIS、及び、複数の暗号/復号化が不要なデータ形態FISは、前記暗号/復号化装置により処理されないことを特徴とする請求項12に記載の暗号/復号化SATA装置。
  17. 前記暗号/符号化が不要なデータ形態FISは指令情報であることを特徴とする請求項16に記載の暗号/復号化SATA装置。
  18. 前記暗号/符号化が不要なデータ形態FISは制御情報であることを特徴とする請求項16に記載の暗号/復号化SATA装置。
  19. 前記暗号/符号化が不要なデータ形態FISは状態情報であることを特徴とする請求項16に記載の暗号/復号化SATA装置。
  20. 前記トランスポート層は、FIS類別検出器を提供することを特徴とする請求項12に記載の暗号/復号化SATA装置。
  21. 前記FIS類別検出器は、前記リンク層からの入力FISのFIS類別フィールドを検出、及び、検証することを特徴とする請求項20に記載の暗号/復号化SATA装置。
  22. 前記FIS類別フィールドは、前記リンク層からの前記入力FISのFISヘッダーの第一バイトであることを特徴とする請求項21に記載の暗号/復号化SATA装置。
  23. 前記リンク層から入力された前記入力FISの前記FIS類別フィールドは、16進数値0×46を有する場合、データ形態FISであることを特徴とする請求項22に記載の暗号/復号化SATA装置。
  24. 前記FIS類別検出器は、前記データ形態FISを前記暗号/復号化装置に伝送して処理することを特徴とする請求項23に記載の暗号/復号化SATA装置。
  25. 前記リンク層から入力される前記入力FISの前記FIS類別フィールドが16進数値0×46を有さない場合、非データ形態FISであることを特徴とする請求項23に記載の暗号/復号化SATA装置。
  26. 前記FIS類別検出器は、前記非データ形態FISを前記応用層により前記暗号/復号化装置から離すことを特徴とする請求項25に記載の暗号/復号化SATA装置。
  27. 前記トランスポート層は、更に、ATA指令フィルターを含むことを特徴とする請求項26に記載の暗号/復号化SATA装置。
  28. 前記ATA指令フィルターは、前記暗号/復号化装置にバイパス制御を提供することを特徴とする請求項27に記載の暗号/復号化SATA装置。
  29. 前記リンク層はFIS類別検出器を提供することを特徴とする請求項28に記載の暗号/復号化SATA装置。
  30. 前記FIS類別検出器は、複数の方法の一つを利用して、前記物理層から進入したビットストリームがデータ形態FISを含むか否かを決定することを特徴とする請求項29に記載の暗号/復号化SATA装置。
  31. 前記方法の第一方法は、SOFプリミティブ後の第一デスクランブル後のバイト値を決定することを特徴とする請求項30に記載の暗号/復号化SATA装置。
  32. 前記第一デスクランブル後のバイトは、データ形態FISに用いる16進数値0×46を有することを特徴とする請求項31に記載の暗号/復号化SATA装置。
  33. 前記方法の第二方法は、SOFプリミティブ後の第一スクランブルバイトの値を検査することを特徴とする請求項30に記載の暗号/復号化SATA装置。
  34. 前記第一スクランブルバイトは、データ形態FISに用いる16進数値0×CBを有することを特徴とする請求項33に記載の暗号/復号化SATA装置。
  35. 前記方法の第三方法は、0×8Dの相関するスクランブラーシンドロームシーケンスの16進数値によりバイトの値を決定することを特徴とする請求項30に記載の暗号/復号化SATA装置。
  36. 前記データ形態FISのスクランブル後のバイト値は16進数値0×CBであることを特徴とする請求項35に記載の暗号/復号化SATA装置。
  37. 前記方法の第四方法は、SOFプリミティブ後の第一10ビットワードの内容を決定することを特徴とする請求項30に記載の暗号/復号化SATA装置。
  38. 前記SOFプリミティブ後の前記第一10ビットワードは、二進数値(1101000110)を有することを特徴とする請求項37に記載の暗号/復号化SATA装置。
  39. 前記リンク層は、更に、ATA指令フィルターを含むことを特徴とする請求項29に記載の暗号/復号化SATA装置。
  40. 前記ATA指令フィルターは、複数の方法の一つを利用し、前記物理層から進入するビットストリームがレジスタ−ホストから装置形態FISを含むか否か決定することを特徴とする請求項39に記載の暗号/復号化SATA装置。
  41. 前記方法の第一方法は、SOFプリミティブ後の第一デスクランブルのバイト値を決定することを特徴とする請求項40に記載の暗号/復号化SATA装置。
  42. 前記第一デスクランブル後のバイトの値は、レジスターホストから装置形態のFISに用いられる16進数値0×27を有することを特徴とする請求項41に記載の暗号/復号化SATA装置。
  43. 前記方法の第二の方法は、SOFプリミティブ後の第一スクランブルのバイト値を検査することを特徴とする請求項40に記載の暗号/復号化SATA装置。
  44. 前記第一スクランブルバイトの値は、レジスターホストから装置形態のFISに用いられる16進数値0×AAを有することを特徴とする請求項43に記載の暗号/復号化SATA装置。
  45. 前記方法の第三方法は、0×8Dの相関するスクランブラーシンドロームシーケンスの16進数値によりバイト値を決定することを特徴とする請求項40に記載の暗号/復号化SATA装置。
  46. レジスターホストから装置形態のFISに用いる各スクランブルの16進数ビット値は0×AAであることを特徴とする請求項45に記載の暗号/復号化SATA装置。
  47. 前記方法の第四方法は、SOFプリミティブ後の第一10ビットワードの内容を決定することを特徴とする請求項40に記載の暗号/復号化SATA装置。
  48. SOFプリミティブ後の前記第一10ビットワードは、二進数値(0101011010)を有することを特徴とする請求項47に記載の暗号/復号化SATA装置。
  49. 前記ATA指令フィルターにより提供される前記バイパス制御信号と前記メインコントローラー中の予設定バイパス信号は、ロジックOR演算され、前記暗号/復号化装置は、前記メインコントローラーの各出力により制御されることを特徴とする請求項28に記載の暗号/復号化SATA装置。
  50. 暗号/復号化方法であって、
    暗号/復号化シリアルATA(SATA)装置をホストと装置間に提供する工程と、前記暗号/復号化SATA装置を利用して、前記ホストから受信したPIOデータ出力(Data−Out)指令形態のFISを検出し、前記PIOデータ出力指令形態FISが所定類別に属するかどうか決定する工程(所定類別は暗号模式に設定される前記暗号/復号化SATA装置に対応する)と、
    前記暗号/復号化SATA装置により、前記装置から受信された全PIO設定形態のFISを前記ホストまで迂回させる工程と、
    前記暗号/復号化SATA装置により、前記ホストから受信したデータ形態FISプレロードを検出し、検出された前記データ形態FISプレロードを暗号化する工程と、
    前記暗号/復号化SATA装置により、前記装置から受信した状態レジスタ形態FISを検出する工程(前記装置状態レジスタ形態FISは、前記暗号/復号化SATA装置をバイパスフラグ模式に再設定する)と、
    からなることを特徴とする暗号/復号化方法。
  51. 暗号/復号化方法であって、
    暗号/復号化シリアルATA(SATA)装置をホストと装置間に提供する工程と、
    前記暗号/復号化SATA装置を利用して、前記ホストから受信したDMAデータ入力(Data−In)指令形態のFISを検出し、受信したDMAデータ入力指令形態のFISが所定類別に属するかどうか決定する工程(所定類別は対応する暗号/復号化SATA装置の復号化模式である)と、
    前記暗号/復号化SATA装置により、前記装置から受信したデータ形態のFISプレロードを検出し、検出された前記データ形態FISプレロードを復号化する工程と、
    前記暗号/復号化SATA装置により、前記装置から受信した状態レジスタ形態のFISを検出する(前記装置状態レジスタ形態FISは、前記暗号/復号化SATA装置をバイパスフラグ模式に再設定する)工程と、
    からなることを特徴とする暗号/復号化方法。
  52. 前記SATAホストプロトコルスタックは、SATA−IDEプロトコルコンバータにより、IDE(Integrated Drive Electronics)インターフェースに結合されることを特徴とする請求項3に記載の暗号/復号化SATA装置。
JP2006306383A 2005-11-18 2006-11-13 暗号/復号化シリアルata装置、及び、方法 Active JP4762861B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/282,175 US7900057B2 (en) 2000-11-03 2005-11-18 Cryptographic serial ATA apparatus and method
US11/282,175 2005-11-18

Publications (2)

Publication Number Publication Date
JP2007143149A true JP2007143149A (ja) 2007-06-07
JP4762861B2 JP4762861B2 (ja) 2011-08-31

Family

ID=38051464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006306383A Active JP4762861B2 (ja) 2005-11-18 2006-11-13 暗号/復号化シリアルata装置、及び、方法

Country Status (4)

Country Link
JP (1) JP4762861B2 (ja)
CN (1) CN101008931B (ja)
CA (1) CA2567219C (ja)
TW (1) TWI330320B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468983B (zh) * 2015-11-17 2020-01-03 北京华大智宝电子系统有限公司 基于sata接口的数据传输方法与装置
CN112416830B (zh) * 2020-12-09 2024-03-26 鸿秦(北京)科技有限公司 一种nvme与sata协议转换的实现电路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271487A (ja) * 2002-03-12 2003-09-26 Nec Corp 通信システム、ゲートウエイ装置、ゲートウエイプログラム
US20040054914A1 (en) * 2002-04-30 2004-03-18 Sullivan Patrick L. Method and apparatus for in-line serial data encryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1373461A (zh) * 2001-02-28 2002-10-09 伊诺瓦科技股份有限公司 应用于数据储存的加解密装置
US7248696B2 (en) * 2002-09-12 2007-07-24 International Business Machines Corporation Dynamic system bus encryption using improved differential transitional encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271487A (ja) * 2002-03-12 2003-09-26 Nec Corp 通信システム、ゲートウエイ装置、ゲートウエイプログラム
US20040054914A1 (en) * 2002-04-30 2004-03-18 Sullivan Patrick L. Method and apparatus for in-line serial data encryption

Also Published As

Publication number Publication date
TWI330320B (en) 2010-09-11
JP4762861B2 (ja) 2011-08-31
CA2567219A1 (en) 2007-05-18
CA2567219C (en) 2013-01-22
CN101008931B (zh) 2010-05-26
TW200720936A (en) 2007-06-01
CN101008931A (zh) 2007-08-01

Similar Documents

Publication Publication Date Title
US7900057B2 (en) Cryptographic serial ATA apparatus and method
EP2041688B1 (en) System-on-a-chip (soc) test interface security
US20070101158A1 (en) Security region in a non-volatile memory
US8200875B2 (en) Processing and forwarding of message-signaled interrupts
US7386734B2 (en) Real time data encryption/decryption system and method for IDE/ATA data transfer
US7925024B2 (en) Method and system for data encryption/decryption key generation and distribution
JP2001339383A (ja) 認証通信用半導体装置
US8467534B2 (en) Method and system for secure access and processing of an encryption/decryption key
CN111400732A (zh) 一种基于usb通道的加解密模块及设备
US20080294801A1 (en) Data transfer control device and electronic instrument
US11429751B2 (en) Method and apparatus for encrypting and decrypting data on an integrated circuit
US8745410B2 (en) Method and apparatus to scramble data stored in memories accessed by microprocessors
JP2004126707A (ja) インタフェース変換装置及びインタフェース変換方法
EP1492105A2 (en) Method and apparatus for protecting data during storage/retrieval
CN106951790B (zh) Usb存储介质透明加密方法
JP4762861B2 (ja) 暗号/復号化シリアルata装置、及び、方法
US7194627B2 (en) Method and system for data encryption and decryption
CN101013408A (zh) 数据处理系统及数据处理方法
US8234504B2 (en) Method and system for data encryption and decryption
KR101043255B1 (ko) Usb 허브 보안 장치 및 이를 이용한 데이터 보안 방법
US20220113353A1 (en) Input-output device with debug controller
CN115348363A (zh) 一种基于国密算法的加/解密芯片、方法、设备和介质
EP1457859B1 (en) Data encryption/decryption device
US7219224B1 (en) Method and apparatus for transferring fragmented audio/video control commands using an independent software layer
CN111143897A (zh) 数据安全处理装置、系统及处理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100721

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100924

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

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: 20110510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110608

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4762861

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250