(57)【要約】  自動試験装置で使用するシステムである。一実施形態では、該システムは試験パターンを提供するようプログラムした構成可能集積回路（ＩＣ）と、少なくとも１つの被試験デバイス（ＤＵＴ）へのインタフェースとを含む。該システムはまた、少なくとも１つのＤＵＴへの接続を含み、この接続は、構成可能ＩＣと少なくとも１つのＤＵＴとの間に直接連結されるものである。
2013533466.tif 000002
【特許請求の範囲】
【請求項１】
自動試験装置において使用するシステムであって、
自動試験装置において使用する試験パターンと、少なくとも１つの被試験デバイス（ＤＵＴ）へのインタフェースとを提供するようプログラムした構成可能集積回路（ＩＣ）と、
前記構成可能ＩＣと前記少なくとも１つのＤＵＴとの間に直接連結される、前記少なくとも１つのＤＵＴへの接続と、
を含む、システム。
【請求項２】
前記構成可能ＩＣがフィールドプログラマブルゲートアレイ（ＦＰＧＡ）である、請求項１に記載のシステム。
【請求項３】
前記構成可能ＩＣが、
１つ以上のプロセッサと、
１つ以上の機能加速ブロックと、
１つ以上のインタフェースコアと、
を含む、請求項１に記載のシステム。
【請求項４】
前記構成可能ＩＣが、
１つ以上のプロセッサと、
１つ以上の機能加速ブロックと、
１つ以上のインタフェースコアと、
を含み、各グループがプロセッサと、加速機能ブロックと、対応するインタフェースコアに十分に近接させて配置したインタフェースコアとを含み、前記１つ以上のプロセッサと前記１つ以上の加速機能ブロックを相互に連結させて、管理オーバヘッドを最少とするように、帯域幅を適合させるように、そしてボトルネックを回避し最大速度で前記ＤＵＴに試験パターンを提供するレイテンシで、接続を最適化することができる、請求項１に記載のシステム。
【請求項５】
前記構成可能ＩＣを略完全に自動試験専用とした、請求項１に記載のシステム。
【請求項６】
前記構成可能ＩＣを高速並列試験に対して最適化した、請求項１に記載のシステム。
【請求項７】
前記構成可能ＩＣが、ＤＵＴインタフェースに対して、使用する前記ＩＣの略最大速度で、接続した前記ＤＵＴに対する試験刺激を生成する、請求項１に記載のシステム。
【請求項８】
前記構成可能ＩＣが複数の試験装置を含み、各試験装置が異なるＤＵＴセットを試験する、請求項１に記載のシステム。
【請求項９】
前記構成可能ＩＣが複数の試験装置を含み、各試験装置が異なるＤＵＴセットを試験し、各ＤＵＴセットが１つ以上のＤＵＴを含み、前記複数の試験装置が前記異なるＤＵＴを並列に試験する、請求項１に記載のシステム。
【請求項１０】
前記構成可能ＩＣが１つ以上のプロセッサを含み、前記１つ以上のプロセッサが前記試験パターンを生成する、請求項１に記載のシステム。
【請求項１１】
前記構成可能ＩＣが１つ以上の機能加速ブロックを含み、前記１つ以上の機能加速ブロックが前記試験パターンを生成する、請求項１に記載のシステム。
【請求項１２】
前記構成可能ＩＣにおけるプログラマブル回路としてのアプリケーション特有機能を実装する１つ以上の機能加速ブロックをさらに含み、プロセッサの最低限の管理により又はプロセッサが全く管理せずに前記アプリケーション特有機能が実行される、請求項１に記載のシステム。
【請求項１３】
前記プロセッサにおけるソフトウェアベースの機能よりも、より高速な機能性を可能にするアプリケーション特有機能を実装する１つ以上の機能加速ブロックをさらに含む、請求項１に記載のシステム。
【請求項１４】
プロセッサにおけるソフトウェアベースの機能よりも、より低コストで実装可能となるアプリケーション特有機能を実装する１つ以上の機能加速ブロックをさらに含む、請求項１に記載のシステム。
【請求項１５】
前記試験パターンがプロコトルベースの試験パターンである、請求項１に記載のシステム。
【請求項１６】
前記ＤＵＴがストレージデバイスである、請求項１に記載のシステム。
【請求項１７】
前記ＤＵＴがソリッドステートデバイスである、請求項１に記載のシステム。
【請求項１８】
前記１つ以上の機能加速ブロックの各々が論理比較部として機能する、請求項１に記載のシステム。
【請求項１９】
前記インタフェースプロコトルがＵＳＢ又はＰＣＩｅのいずれかであると共に、前記接続されるＤＵＴがＰＣＩ又はＵＳＢベースのＷｉＦｉモジュールである、請求項１に記載のシステム。
【請求項２０】
自動試験装置において使用する試験パターンと、少なくとも１つの被試験デバイス（ＤＵＴ）へのインタフェースとを提供するようプログラムした構成可能集積回路（ＩＣ）と、
前記構成可能ＩＣと前記少なくとも１つのＤＵＴとの間に直接連結される、前記少なくとも１つのＤＵＴへの接続と、
を含む、装置。
【請求項２１】
前記構成可能ＩＣがフィールドプログラマブルゲートアレイ（ＦＰＧＡ）である、請求項２０に記載の装置。
【請求項２２】
前記構成可能ＩＣが、
１つ以上のプロセッサと、
１つ以上の機能加速ブロックと、
１つ以上のインタフェースコアと、
を含む、請求項２０に記載の装置。
【請求項２３】
前記構成可能ＩＣが、
１つ以上のプロセッサと、
１つ以上の機能加速ブロックと、
１つ以上のインタフェースコアと、
を含み、各グループがプロセッサと、機能加速ブロックと、対応するインタフェースコアに十分に近接させて配置したインタフェースコアとを含み、前記１つ以上のプロセッサと前記１つ以上の機能加速ブロックを相互に連結させて、管理オーバヘッドを最少とするように、帯域幅を適合させるように、そしてボトルネックを回避し最大速度で前記ＤＵＴに試験パターンを提供するよう機能のグループ分けを行うレイテンシで、接続を最適化することができる、請求項２０に記載の装置。
【請求項２４】
前記構成可能ＩＣを略完全に自動試験専用とした、請求項２０に記載の装置。
【請求項２５】
前記構成可能ＩＣを高速並列試験に対して最適化した、請求項２０に記載の装置。
【請求項２６】
前記構成可能ＩＣが、ＤＵＴインタフェースに対して、使用する前記ＩＣの略最大速度で、接続した前記ＤＵＴに対する試験刺激を生成する、請求項２０に記載の装置。
【請求項２７】
前記構成可能ＩＣが複数の試験装置を含み、各試験装置が異なるＤＵＴセットを試験する、請求項２０に記載の装置。
【請求項２８】
構成可能集積回路（ＩＣ）を用いて試験パターンを提供することであって、前記試験パターンを自動試験装置において使用して少なくとも１つの被試験デバイス（ＤＵＴ）を試験する、前記試験パターンを提供することと、
前記構成可能ＩＣを用いて前記少なくとも１つのＤＵＴへのインタフェースを提供することと、
前記構成可能ＩＣと前記少なくとも１つのＤＵＴとの間に直接連結される、前記少なくとも１つのＤＵＴへの接続を提供することと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１０年５月２８日出願の米国仮特許出願第６１／３４９，４１１号の権利を主張する。なお、この仮特許出願の内容を援用し、本文の記載の一部とする。
【０００２】
本発明の実施形態は試験を行うことに関し、詳細にはソリッドステートストレージデバイスを試験することに関する。
【背景技術】
【０００３】
ソリッドステートドライブ（ＳＳＤ）は、ソリッドステートメモリを使用して永続的データを記憶するデータストレージデバイスである。ＳＳＤはハードディスクドライブインタフェースをエミュレートするため、殆どのアプリケーションにおいて容易にその代用となる。ＳＳＤは標準電気通信プロトコルと物理インタフェースコネクタを介してパーソナルコンピュータ（ＰＣ）に接続する。ＳＳＤの一般的な例は、バッテリで保護されたダイナミックランダムアクセスメモリ（ＤＲＡＭ）の揮発性メモリ、ＮＡＮＤ／ＮＯＲベースのフラッシュメモリ及びその他の不揮発性記憶域クラスの技術である。ＳＳＤは様々なフォームファクタを有することができる。ＳＳＤは比較的新しい製品であり、その業界はそれらを試験する方法を明確にする過程にある。多様なフォームファクタ及びインタフェース規格を試験することは、機械的及びプロトコル／電気的の両面の課題を提示する。ＳＳＤを試験するには、物理的コネクタを介して試験装置を連結し、インタフェースプロトコルと電気的信号送信を支持できることが必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在、主な試験構造はＰＣベースの試験装置を使用する。ＰＣはホストバスアダプタ（ＨＢＡ）とケーブルを通し試験レージデバイスに接続し得る。ＨＢＡとそのソフトウェアドライバは、物理的コネクタ、通信プロトコル、及び電気エンジンの両方を使用して、コンピュータからのオペレーティングシステム及びストレージプロコトルレベルのコマンドを、ストレージデバイスが理解できるコマンドに変換する。ＨＢＡはマザーボードに接続し得る。ＰＣマザーボードは、中央処理装置（ＣＰＵ）及びメモリを含むと共に、ＣＰＵ、メモリ、及びホストアダプタを実行するためのバス及びコントローラチップを含み得る。オペレーティングシステム及びドライブは、ＰＣ上でプログラムを実行する必要がある。ＣＰＵ及びメモリは、プログラムを実行することによって共有パターン生成手段として作用し、ストレージデバイスとデータを送受信する。ＰＣベースの試験装置に関する問題は、使用する構成要素の性能に基づいた性能と並列処理の限界があるということである。さらに、性能を高めて並列処理を可能にする方法は高価であり得る。
【課題を解決するための手段】
【０００５】
一実施形態では、システムは自動試験装置で使用する試験パターンを提供するようプログラムした構成可能集積回路（ＩＣ）と、少なくとも１つの被試験デバイス（ＤＵＴ）に対するインタフェースとを含む。前記システムは、少なくとも１つのＤＵＴへの接続も含み、前記接続は、前記構成可能ＩＣと前記少なくとも１つのＤＵＴとの間に直接連結される。
【図面の簡単な説明】
【０００６】
【図１】一例のＰＣベースの試験装置システムのブロック図を示す。
【図２】ＰＣベースの試験装置システムの一例の共有リソース構造のブロック図を示す。
【図３】一実施形態による一例のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）ベースの試験システムのブロック図を示す。
【図４】一実施形態によるＦＰＧＡを使用するシステムのブロック図を示す。
【図５】別の実施形態によるＦＰＧＡを使用するシステムのブロック図を示す。
【図６】別の実施形態によるＦＰＧＡを使用するシステムのブロック図を示す。
【図７】別の実施形態によるＦＰＧＡを使用するシステムのブロック図を示す。
【図８】一実施形態によるデータストレージデバイスを試験する一例の方法のフローチャートである。
【図９】一実施形態によるストレージプロトコルベースの試験パターンに対する一例の抽出層のブロック図を示す。
【発明を実施するための形態】
【０００７】
本明細書に記載する実施形態は、自動試験装置で使用するシステムを提供する。実施形態はまた、ＤＵＴを試験するための対応する方法を提供する。該方法は開示するシステムを用いて使用することが可能である。一実施形態では、システムは試験パターンを提供するようプログラムしたＦＰＧＡ等の構成可能ＩＣと、少なくとも１つのＤＵＴに対するインタフェースとを含む。構成可能ＩＣは改良したＰＣベースの試験装置の機能を実装すると共に、コスト、性能、及び拡張性に関するＰＣベースの試験装置特有の欠陥を有さない。本明細書中に記載する実施形態は、フルスピードの並列ＤＵＴ試験を提供し、プロトコルベースのインタフェースを使用して、自動試験装置をＤＵＴと接続するその他のアプリケーションにも適用することができる。一実施形態において、インタフェースプロトコルはＵＳＢ又はペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）かのいずれかであり得る。一実施形態において、接続されるＤＵＴはＰＣＩ又はＵＳＢベースのＷｉＦｉモジュールであり得る。本明細書に示す実施形態は、フルスピードで高い並列性の試験機能を維持したままコストと並列性を最適化する。
【０００８】
一実施形態において、構成可能ＩＣは、１つのＤＵＴにつき１つ以上の専用パターン生成リソースを提供するが、これは記憶パターン加速ロジックを含み得る。一実施形態において、構成可能ＩＣはＤＵＴへの電気的及びプロトコルの接続に対してＨＢＡの機能を提供するロジックを含む。このように、構成可能ＩＣは少なくとも１つのＤＵＴに直接的な接続を提供し得る。一実施形態において、構成可能ＩＣは、パターン生成リソースをＨＢＡロジックに隣接配置するように、ロジックのレイアウト及びバスを最適化することで、パターン生成手段とＨＢＡの接続に用いるバスの数を最少化すると共に、ＨＢＡとパターン生成手段との間にＤＵＴ毎の専用リンクが可能となる。一実施形態において、構成可能ＩＣとＤＵＴの間の物理的接続は、ＤＵＴに対する信号及び電源と、ＤＵＴ毎に制御可能な電流測定機能付の電源の両方を含む。
【０００９】
一実施形態において、フルスピードストレージ試験システムは、所与のインタフェース規格（例えばＳＡＴＡ  ６Ｇｂｐｓ＝最大６００ＭＢ／ｓ）の実際の最大処理力で又は略最大処理力でストレージデバイスを試験するために使用されるパターンを生成及び受信することのできる解決策として定義し得る。一実施形態において、使用するＤＵＴが試験装置の刺激を処理すると共にこれに応答できる場合には、測定される処理力は、インタフェースの実際の最大処理力に等しい。一実施形態において、ＤＵＴが試験装置の刺激を処理することもこれに応答することもできない場合には、測定される処理力は、ＤＵＴの最大処理力に限定される。フルスピード並列試験は、単一のプログラマブルチップに接続したＤＵＴの数に関わらず、フルスピードの試験を実行する能力と定義し得る。１試験装置対１ＤＵＴの構造の各ポートは、接続したＤＵＴをフルスピードで試験することができる。例えば、このアーキテクチャの現在のインスタンスは、１試験装置対１ＤＵＴの構造に２から８のポートを提供するが、ポートの数は、今後のログラマブルチップの生成と共に増大すると考えられる。
【００１０】
図１は、一例のＰＣベースの試験システムのブロック図を示す。一般に、ＣＰＵ１００は高速インタフェース（例えばＰＣＩｅ）１０５によって、一般に１から４つのポートを含み得るＨＢＡカード１１０と接続する。ＨＢＡカード１１０は利用可能なＨＢＡポートにつながるコネクタケーブル１２０によって１つ以上のＳＳＤ１１５と接続する。コンピュータベースのシステムコントローラ１２５は、１つ以上のＰＣベースの試験装置１３０と接続し、個々のＰＣ試験装置を制御するよう使用される。それぞれがＣＰＵと対応するＨＢＡカードを含む、複数の試験装置片１３０が存在し得る。なお、ＣＰＵとプロセッサは同じ意味で使用する。
【００１１】
ＳＳＤの生成試験及びベンチマークを行うには、ＣＰＵとメモリの性能は、共有パターンの生成手段として使用される場合、接続された被試験デバイスの総数の転送性能と使用される接続インタフェースの転送性能を整合させる必要がある。もしくはＤＵＴはパターンの生成を待機することになる。これは、付加的又はより高い性能を有するＣＰＵ、付加的及び／又は高い性能のＤＲＡＭを購入して性能を高めることにより、是正され得る。これらの物理的要素はＰＣベースの試験装置の全体的なフットプリントとコストを増大させる。
【００１２】
ＰＣは、ＤＵＴをパターン生成手段に接続するために必要となる多数のバス（例えばＰＣＩｅ）、クイックパスインターコネクト（ＱＰＩ）、デスクトップマネージメントインタフェース（ＤＭＩ）、並びにＯＳ及びドライバ等のソフトウェア抽出層を有し得る。これらのバスとソフトウェア層は一般に、高速の並列ストレージ試験に対してではなく、パーソナルコンピュータに対して最適化される。これはＤＵＴとパターン生成リソース（この逆もあり）との間でデータを伝送するのに必要な時間にマイナスの影響を与える。
【００１３】
図２は、ＰＣベースの試験システムの一例の共有リソースアーキテクチャのブロック図を示す。パターンは、共有ＣＰＵとメモリ２３５によって生成され、ＱＰＩ及びＤＭＩバス２４０上で、ＰＣＩｅスロットを介して接続された１つ以上のＨＢＡ２４５に送信される。ＳＳＤ２５０はＨＢＡの１つ以上のポートに接続している。６００ＭＢ／ｓ帯域幅を有する高速ＳＳＤは、共有バス２４０とパターン生成手段を圧迫し、これがボトルネックとなる。これらのボトルネックとして、ａ）パターン生成に対する共有ＣＰＵ／ＤＲＡＭの処理力、ｂ）複数のバスを通した通信による効率の低下、ｃ）オペレーティングシステムのオーバヘッド等がある。ボトルネックが組み合わさると、最大で３３％長く試験時間がかかる可能性がある。
【００１４】
試験装置として使用される場合、ＰＣは１つ以上のＣＰＵを使用することが多い、共有メモリにアクセスする、そしてドライブと通信するＨＢＡ等の周辺要素と通信するために共有バスにアクセスする、という点で共有リソースアーキテクチャであることが一般的である。所与のＰＣが１つのドライブにアクセスする場合には、ＰＣは非共有リソースアーキテクチャ（例えば、１試験装置対１ＤＵＴ）を有すると判断される。ＰＣが複数のドライブを試験する又はアクセスする場合は、ＰＣは共有リソースアーキテクチャを有すると判断される。ＰＣが典型的に多目的コンピュータとして機能する際には、ＰＣは高並列性ストレージ試験装置であることを意図したものではない。本明細書中に記載するように、１試験装置対１ＤＵＴは、特殊化したアーキテクチャを作成することによって、又は１ストレージデバイスあたり１つのＰＣを使用することによって達成できる。
【００１５】
コスト、性能、及びサイズは主たる動機である。したがって、パワフルなＰＣを用いることで最高の性能を達成する。このようなＰＣはコスト及びサイズ／フットプリントを削減するべく、複数のドライブで共有される。典型的に、性能と省コストはトレードオフの関係にある。サイズ／フットプリントをより小さくすれば、基盤をカスタム化することとなり、コストが高くなる。より高速のプロセッサをより多く使用することである程度に性能の低下を補償し得るが（コストは高くなる）、ＰＣのアーキテクチャにより、幾つかの要素を常に共有することになる（例えば、メモリの共有、ＰＣＩｅ、ＤＭＩ等の周辺バスの共有、ＨＢＡの共有等）。
【００１６】
ストレージデバイスを試験するためにＰＣを用いる主な理由は：１）周知の多目的コンピュータアーキテクチャであること；２）一般的により安価であること（例えば高容量のＰＣ要素に開発費や投資をほとんどかけずにすむこと）；３）試験したストレージデバイスを最終的にＰＣ内で使用すること；等である。このように、最終用途に非常に近い試験環境を作り上げることができるという付加価値が生じる。
【００１７】
出荷されるＳＳＤ製品の量が増えるにつれて、より効率的にこれらのストレージ製品を試験する必要がある。これには、以下のことを目的として、多数のインタフェースとフォームファクタを単一の試験装置で扱うことのできる装置が必要となろう：ａ）複数の製品を試験する効率を上げるため；ｂ）１平方フィートあたりの密度／並列性を高めた試験環境を提供するため；ｃ）試験装置の速度／性能を高めて、試験時間を最適化し、共有リソースアーキテクチャの試験時間オーバヘッドに関する不利な点を回避するため。
【００１８】
本明細書に記載する実施形態は、単一チップ内で１つ以上のＰＣベースの試験装置の機能を実装するカスタムファームウェア及びソフトウェアのイメージを有するプログラマブルＩＣ（例えばＦＰＧＡ）を使用する。一実施形態では、パターン生成手段、受信手段、パターンアクセラレータ、インタフェースプロトコル（ＩＰ）コア、ＩＰコアバス専用のパターン生成手段等を含み得る、オンチッププログラマブルチップ論理回路によって、ＣＰＵのほかに、必要な電気的及びプロトコルベースの信号伝達が提供される。
【００１９】
一実施形態では、専用のパターン生成手段及び受信手段を含み得る機能的アクセラレータブロックを１チップ上に実装することにより、ＤＵＴ専用のリソースを、対象とするインタフェースの速度に合うよう最適化することが保証される。このような機能的アクセラレータブロックにより、試験装置チップ上に実装される他のものとは関係なく、ＤＵＴを決定的に刺激することが可能となる。
【００２０】
一実施形態では、機能的なアクセラレータブロックはメインプロセッサの負担を軽減するよう機能し得る。一実施形態では、パターンを生成及び受信するアクセラレータによって、負担の軽減を達成することが可能である。一実施形態では、マルチステップ試験機能における複数のステップを単一のステップにまとめるアクセラレータによって、負担の軽減を達成し得る。例えば、一実施形態では、アクセラレータは、パターンの書き込み、書き込まれたパターンの再読取り、及びこれら２つのパターンの比較を行う比較機能を提供し得る。一実施形態では、加速は比較機能を書き込むことである。
【００２１】
一実施形態では、インタフェースコアはＨＢＡの機能を提供する。これにより、所定のインタフェース規格による適合及び整合が保証される。一実施形態では、適切なプログラマブルチップのスピードグレードを選択することによって、目標とするインタフェースの信号伝達スピードが可能となる。インタフェースコアはサードパーティーの業者から得ることができるが、本明細書に記載する実施形態と互換性を持たせるために一部カスタマイズすることが必要となり得る。一実施形態では、インタフェースコアＨＢＡは次の２つの機能を提供する：１）物理チャネル上での送信のために、ストレージコマンドを標準プロトコルにすること；２）電気的信号生成手段及び受信手段となること。
【００２２】
一実施形態では、パターン生成手段とマッチングＩＰインタフェースコアは、チップ上に隣同士に実装し、専用のバスリンクを用いて接続する。システム要素同士を近接させることで、目標とするインタフェース速度に適合するようリンクを最適化することができ、共有バス構造特有のボトルネックが回避され、バス転換オーバヘッドを絶対最小値に保つことができる。
【００２３】
一実施形態では、ストレージパターンの加速を含み得る専用オンチップリソースと、システムロジック同士の近接配置と、専用バスリンクを組み合わせることにより、対象とする任意のインタフェース規格に対するフルスピード試験を保証する。プログラマブルＩＣを使用することで、性能とコストの関係を最適化するよう十分に調整することができる。例えば、プログラマブルチップソリューションのＣＰＵが複数のインタフェースをフルスピードで支持するのに十分に高速である場合には、専用のパターン生成手段リソースを省くことによってコストを削減することができる。一実施形態では、対象のインタフェースが３Ｇｂｐｓ以上の速度を必要としない場合には、より低速でより低コストのプログラマブルチップを選択して、コストを削減することができる。一実施形態では、対象のインタフェースがさほど高速でないチャネルを使用して、ＤＵＴと通信する場合に、プログラマブルチップは、１試験装置対１ＤＵＴの構造のインスタンスをさらに生成して、並列性を高め、ＤＵＴあたりのコストを低下させるよう、再構成することができる。
【００２４】
一実施形態では、対象とするストレージインタフェースに対して、単一のプログラマブルチップのチップ上にＤＵＴ試験装置の４から８つのインスタンスを生成することができると推定される。各インスタンス化は、本明細書に記載する実施形態のフルスピード及びフルスピード並列試験特徴を支持する。一実施形態では、ＤＵＴ試験装置は、単一のプログラマブルチップ上に実装し得る。１プログラマブルチップあたり４から８のＤＵＴ試験装置という構成で、本明細書に記載するシステムは、同程度の価格の共有リソースＰＣ試験装置では保証されない確定的なフルスピードの並列試験という利点を付加しながら、ＰＣベースの試験装置と同程度又はそれより低いコストを達成することができる。
【００２５】
一実施形態では、プログラマブルチップを使用することで、コスト、性能、及び並列性を最適化する大幅な柔軟性が生まれ、ＳＳＤ、ＨＤＤ等のストレージ試験アプリケーションに対する未発表のプロコトルインタフェースへのソフトウェアベースの更新方法が可能となる。
【００２６】
図３は、一実施形態による一例のＦＰＧＡベースの試験装置システムのブロック図を示す。１つ以上のＦＰＧＡ３００の各々は、インタフェースプロトコル（ＩＰ）コア３１０に近接したＣＰＵ３０５を含む。ＩＰコア３１０は、ＳＳＤ又はその他のストレージデバイスであるＤＵＴ３１５に直接連結される。一部の実施形態では、他の種類のストレージデバイスは、ハードディスクドライブ（ＨＤＤ）、ＵＳＢドライブ、フラッシュカード、及びＤＲＡＭベースのディスクを含み得る。接続は十分な帯域幅を提供するために１つ以上のリンクを有するバス（パラレル又はシリアル）であり得る。各ＤＵＴは、電流感知能力を含み得る専用の電源を有し、通信バスを通して試験装置により制御される。一実施形態では、ハンドラはグリッパ３１８を含み得る。該グリッパ３１８は、ＤＵＴを工場のコンベヤシステムから試験装置に移送し、試験装置リソースに対する物理的な接続と解放を開始する。ＤＵＴ３１５を保持するベイ３２０は、試験の間に環境管理を行って、ＤＵＴにストレスを与える。一実施形態では、環境管理は、ＤＵＴ毎に行う、複数のＤＵＴに対して室を共有する、純粋な電気的機能の試験に対して熱的制御を行わない、という３つの方法で実行し得る。個々の試験装置の電気機器、電源、ハンドラ、及び環境管理を中央で調整するＰＣベースのシステムコントローラ３２５を、各ＦＰＧＡ、電源、及びハンドラに連結する。ハンドラ３１９は、ベルト／ローダ３３０からベイ３２０へとＤＵＴを移送し得る。
【００２７】
図４は、一実施形態によるＦＰＧＡ４００を使用する一例のシステムのブロック図を示す。ＦＰＧＡ４００は、１つ以上の専用試験装置４０５を含み、その各々は一つのＤＵＴ４１０に接続する。一実施形態では、ＤＵＴ４１０はストレージデバイスであり得る。一実施形態では、ＤＵＴ４１０はＳＳＤであり得る。各専用試験装置４０５は、ＤＵＴ４１０に直接接続するインタフェースプロコトルコア（ＩＰコア、インタフェースコア、ソフトウェアＨＢＡと同じ意味で記載する）を含む。図４が示すように、各専用試験装置４０５はそれ自身のオンチップＣＰＵ４３０を有する。したがって、この構成は共有リソースを有していない。
【００２８】
一実施形態では、ＦＰＧＡ４００はまた、機能加速ブロック４１２とインタフェースコア４１５を含む。インタフェースプロトコルコアは、インタフェースコア、ＩＰコア、又はソフトウェアＨＢＡと同じ意味で使用し得る。一実施形態では、各機能加速ブロックは専用のパターン生成手段４２０と受信手段４２５を含む。一実施形態では、対応するメモリ４３５を有するオンチップＣＰＵ４３０によって制御されるパターン生成手段４２０と受信手段４２５によって提供される論理回路が、試験刺激（例えば試験パターン）を提供する。
【００２９】
一実施形態では、機能加速ブロックは論理比較部として機能する。これにより、所定のストレージアドレスに対する書込みデータと、同一の再読取りデータを比較することができる。プロセッサにおいてそれらのソフトウェアアルゴリズムの実行を必要とするソフトウェアベースの比較アルゴリズムと比較すると、ハードウェアによる実行により非常に速く（マイクロ秒対ミリ秒）比較を行うことができる。ソフトウェアベースの比較アルゴリズムでは、書込みデータをメモリに記憶させて、複数のバス上でＤＵＴに送信し、その後複数のバス上で比較のために再読取りする必要がある。これでは、複数のバス上でデータを送信するオーバヘッドが大きくなり、比較コードを実行するために高速のプロセッサが必要となる。
【００３０】
一実施形態では、機能加速ブロックは、主要なプロセッサ（例えばＣＰＵ）の機能を補足するプロセッサとして使用されるという点で、コプロセッサとして機能する。一実施形態では、機能加速ブロックの実行するオペレーションは、浮動小数点演算、グラフィクス、信号処理、文字列処理、又は暗号化であり得る。プロセッサに負担のかかるタスクをメインプロセッサから取り除くことによって、機能加速ブロックは全体的なシステムの性能を速める。一実施形態では、機能加速ブロックは単一ＤＵＴ試験と並列ＤＵＴ試験の両方に対して使用され得る。
【００３１】
一実施形態では、単一のＦＰＧＡ４００における複数の試験装置４０５は、イーサネットコネクタ４４５を介してリンクされ得る。複数のＦＰＧＡ４００はイーサネット（ＧｂＥ）インタフェース又はスイッチ４５５を介してシステムコントローラ４５０に接続し得る。一実施形態では、システムコントローラ４５０はプロセッサによって実装され得ると共に、オペレーティングシステム（ＯＳ）、ドライバ、試験装置制御ソフトウェアと、コンパイラ、デバッガ、低レベルＡＰＩ、試験ライブラリ等のプログラム開発環境とを含み得る。
【００３２】
図５、図６、及び図７は、別例の３つの実施形態による別の例のＦＰＧＡを示す。なお、これらの実施形態は構成の例であって、完全な構成又は構成の限定ではない。
【００３３】
図５は、一実施形態によるＦＰＧＡ５００を使用する一例のシステムのブロック図を示す。ＦＰＧＡ５００は、１つ以上の専用試験装置５０５を含み、その各々は１つのＤＵＴ５１０に接続する。一実施形態では、各試験装置５０５の専用部分は機能加速ブロック５１２とインタフェースプロトコルコア５１８を含む。一実施形態では、各機能加速ブロック５１２は、パターン生成手段５２０と受信手段５２５を含む。
【００３４】
一実施形態では、ＣＰＵ５３０と対応するメモリ５３５は、複数の試験装置５０５間で共有される。ＣＰＵの処理力がそれに接続した複数のＤＵＴを支持するためにフルスピードで刺激を生成して受信することができる場合に、コストの点から望ましいこの構成を実用できる。この構成は、そのレイアウトと専用バスを最適化したチップ上に実装することにより、より低速のオンチッププロセッサを使用できるという点で、共有リソースＰＣアーキテクチャとは異なる。
【００３５】
図６は、別の実施形態によるＦＰＧＡ６００を使用する一例のシステムのブロック図を示す。図６のシステムは、各専用試験装置６０５が複数のＤＵＴ６１０に接続していること以外は、図５のシステムと同様である。これはファンアウト構成とも称する。
【００３６】
図７は、別の実施形態によるＦＰＧＡ７００を使用する一例のシステムのブロック図を示す。一実施形態では、パターン生成手段７２０と受信手段７２５はＰＣブレードに位置している。
【００３７】
本明細書に記載する実施形態の重要な利点は、１つのプログラマブルチップ上にパターン生成手段とインタフェースロジックを統合し、それらを近接配置してボトルネックを最小化することにより、性能又はコストを最適にする柔軟性にある。一実施形態では、システムはインタフェースロジック毎に１つの専用ＣＰＵを有する構成であり得る、又は、ＣＰＵのスピードがインタフェースとＤＵＴの必要なリソースと比較して十分に高い場合には、１つのＣＰＵを複数のインタフェースで共有することができる。
【００３８】
図８は一実施形態によるデータストレージデバイスを試験するための一例の方法を示すフローチャートである。一実施形態では、データストレージデバイスはＳＳＤである。この方法は、構成可能ＩＣが試験パターンを提供するブロック８０２で開始する。一実施形態では、試験パターンはＤＵＴを試験するために使用されるものである。ブロック８０４でＤＵＴに対するインタフェースを提供し、ブロック８０６でＤＵＴへの接続を提供する。
【００３９】
一実施形態では、構成可能ＩＣのプロセッサ（例えば図４のＣＰＵ４３０）の各々が、試験パターンを生成する。一実施形態では、構成可能ＩＣの機能加速ブロック（例えば図４の機能加速ブロック４１２）の各々が試験パターンを生成する。１つ以上のプロセッサが試験パターンを生成する一実施形態では、１つ以上の機能加速ブロックは、１つ以上のプロセッサが試験パターンを生成することを支援する。例えば一実施形態では、同一の構成可能ＩＣ内の所定の機能加速ブロックは、同一の構成可能ＩＣにおけるプロセッサが試験パターンを生成することを支援する。
【００４０】
一実施形態では、試験パターンを提供するために、構成可能ＩＣはプロセッサとインタフェースの間のプロセッサ又は機能加速ブロックにおいてプログラムを実行し得る。一実施形態では、試験パターンはプロトコルベースの試験パターンである。
【００４１】
図９は、一実施形態によるストレージプロコトルベースの試験パターンに対する一例の抽出層９００を示すブロック図を示す。一実施形態では、プロトコルベースの試験パターン（ＰＢＴＰ）はオペレーティングシステム（ＯＳ）において生成される試験刺激である。一実施形態では、ＰＢＴＰが生成された後、それらはＯＳによって標準的プロトコルコマンドセットに変換され、その後低レベルパケットに変換される。これらの低レベルパケットをインタフェースコアが解釈し、電気信号に変換する。一実施形態では、ＰＢＴＰはプロトコルコマンドセットと低レベルのパケットを直接使用して生成され得る。ストレージアプリケーションに対するＯＳレベルのコマンドの一例は、読取り又は書込みコマンドである。ストレージに関連したプロトコルコマンドセットの例は、シリアルアドバンスドテクノロジーアタッチメント（ＳＡＴＡ）とシリアルアタッチドＳＣＳＩ（ＳＡＳ）インタフェースコアに対して使用されるアドバンスドテクノロジーアタッチメント（ＡＴＡ）とスモールコンピュータシステムインタフェース（ＳＣＳＩ）である。一実施形態では、低レベルパケットがコマンドヘッダ、ペイロード、コマンドフッタ等を操作し得る。
【００４２】
ハードウェアに実装される機能加速ブロックは、非常に多様なソフトウェア試験機能を加速するために使用され得る。かかるソフトウェア試験機能には、例えば、プログラマブルバッファからの予め定義されたパターン、カウンタ、チェッカ等のアルゴリズム的パターン、ボードパターン、ランダムに生成されたデータの実行、単一の実行ステップにおいて書込みデータを復唱データと比較する比較部、プロトコルアナライザ、及びプロトコルレベルの通信へのアクセスを可能とすることによるインジェクタ等を含み得る。ブロック８０４で、構成可能ＩＣはＤＵＴへのインタフェースを提供する。ブロック８０６で、少なくとも１つのＤＵＴに接続が提供され、接続は構成可能ＩＣと少なくとも１つのＤＵＴの間で直接連結される。
【００４３】
本明細書に記載する実施形態又はその一部は、コンピュータによって実装され得る。コンピュータシステムはプロセッサ（例えばプロセッサコア、マイクロプロセッサ、計算装置等）、バスを介して相互通信するメインメモリ及びスタティックメモリを含み得る。マシンはタッチスクリーン、又は液晶ディスプレイ（ＬＣＤ）、又は発光ダイオード（ＬＥＤ）ディスプレイ、又はブラウン管（ＣＲＴ）を含み得るディスプレイ部をさらに含み得る。示されるように、コンピュータシステムはまた、人間による入力／出力（Ｉ／Ｏ）装置（例えばキーボード、英数字キーパッド等）、ポインティングデバイス（例えばマウス、タッチスクリーン等）、ドライブユニット（例えばディスクドライブユニット、ＣＤ／ＤＶＤドライブ、タンジブルコンピュータリーダブルリムーバブルメディアドライブ、ＳＳＤストレージデバイス等）、信号生成装置（例えばスピーカ、オーディオ出力等）、及びネットワークインタフェースデバイス（例えばイーサネットインタフェース、有線ネットワークインタフェース、ワイヤレスネットワークインタフェース、伝播信号インタフェース等）を含み得る。
【００４４】
ドライブユニットは、上述の方法の一部又は全てを実施する命令一式を記憶したマシンリーダブルメディアであり得る（例えばソフトウェア、ファームウェア、ミドルウェア等）。命令一式は、メインメモリ内及び／又はプロセッサ内で完全に又は少なくとも部分的に存在するよう示される。命令一式はさらに、ネットワークバス上でネットワークインタフェースデバイスを介して送受信され得る。
【００４５】
本発明の実施形態は、プロセッシングコア（例えばコンピュータのＣＰＵ等）の一部の構造で実行される命令一式、又はマシンリーダブルメディア若しくはコンピュータリーダブルメティア上若しくは内で実装若しくは実現される命令一式として、又は命令一式を支持するものとして、使用され得ることを理解されたい。マシンリーダブルメディアは、マシン（例えばコンピュータ）が読み取ることのできる形態で情報を記憶又は伝送する任意のメカニズムを含む。例えば、マシンリーダブルメディアは、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的等の形態で伝播される信号（例えば搬送波、赤外線信号、デジタル信号等）、又は情報の記憶若しくは伝送に適した任意のその他の種類の媒体を含み得る。
【００４６】
本発明は本明細書に示した通りの実施形態に限定されないことを理解されたい。当業者であれば、本発明の概念を逸脱せずに変更と変形を実施できることを認識できよう。例えば、ＦＰＧＡ以外の構成可能集積回路を使用してもよい。本発明の範囲は特許請求の範囲を踏まえて理解できよう。
【符号の説明】
【００４７】
１００  ＣＰＵ
１０５  高速インタフェース
１１０  ホストバスアダプタカード
１１５  ＳＳＤ
１２５  システムコントローラ
１３０  試験装置
【図１】
2013533466.tif 000003
【図２】
2013533466.tif 000004
【図３】
2013533466.tif 000005
【図４】
2013533466.tif 000006
【図５】
2013533466.tif 000007
【図６】
2013533466.tif 000008
【図７】
2013533466.tif 000009
【図８】
2013533466.tif 000010
【図９】
2013533466.tif 000011
【国際調査報告】
2013533466.tif 000012
2013533466.tif 000013
2013533466.tif 000014
2013533466.tif 000015
2013533466.tif 000016
2013533466.tif 000017
2013533466.tif 000018
2013533466.tif 000019