(57)【要約】  自動試験装置で使用されるシステムである。一実施形態では、このシステムは、自動試験装置で使用される試験パターンを与えるようにプログラム可能な構成可能集積回路（ＩＣ）を含む。この構成可能ＩＣは、構成可能インタフェースコアを含み、構成可能インタフェースコアは、被試験装置（ＤＵＴ）に対する１つ以上のプロトコルベースのインタフェースの機能性を与えるようにプログラム可能であり、且つ、ＤＵＴとインタフェースするようにプログラム可能である。このシステムは又、構成可能ＩＣをＤＵＴと結合するように構成可能な接続を含む。【選択図】図１
2014503083.tif 000002
【特許請求の範囲】
【請求項１】
自動試験装置で使用される試験パターンを与えるようにプログラム可能な構成可能集積回路（ＩＣ）であって、前記構成可能ＩＣは、構成可能インタフェースコアを含み、前記構成可能インタフェースコアは、少なくとも１つの被試験装置（ＤＵＴ）に対する１つ以上のプロトコルベースのインタフェースの機能性を与えるようにプログラム可能であり、且つ、前記少なくとも１つのＤＵＴとインタフェースするようにプログラム可能である、前記構成可能ＩＣと、
前記構成可能ＩＣを前記少なくとも１つのＤＵＴと結合するように構成可能な接続と、
を備えるシステム。
【請求項２】
前記構成可能インタフェースコアは、様々なプロトコルベースの通信インタフェースを有する複数のＤＵＴを試験する為に、複数の異なるプロトコルでプログラムされている、請求項１に記載のシステム。
【請求項３】
２つ以上のプロトコルを一度に実装することにより、複数のプロトコルを試験することを可能にし、且つ、複数のプロトコルを有するモジュールを同時に試験することを可能にする、請求項１に記載のシステム。
【請求項４】
一度に１つのプロトコルを実装し、前記インタフェースコアを再プログラムすることにより、異なる複数のプロトコルを試験することを可能にし、並列な複数のＤＵＴを最適化することを可能にする、請求項１に記載のシステム。
【請求項５】
前記構成可能インタフェースコアは、ユーザがアップグレードすることが可能であることによって、現場での再プログラミングを可能にする、請求項１に記載のシステム。
【請求項６】
前記構成可能インタフェースコアは、少なくとも１つの標準化されたプロトコルをベースとする通信インタフェースに完全に適合することが事前に検証されている、請求項１に記載のシステム。
【請求項７】
前記構成可能ＩＣは、ＰＣベースの試験システムとの相互関係を可能にするシステムオンプログラマブルチップ（ｓｙｓｔｅｍ−ｏｎ−ａ−ｐｒｏｇｒａｍｍａｂｌｅ  ｃｈｉｐ）（ＳＯＰＣ）である、請求項１に記載のシステム。
【請求項８】
前記構成可能ＩＣと結合されたインタポーザを更に備える、請求項１に記載のシステム。
【請求項９】
前記構成可能ＩＣと結合されたインタポーザと、
前記インタポーザ及び前記少なくとも１つのＤＵＴと結合されたキャディであって、前記プログラマブルＩＣの構成可能な試験器ピンとＤＵＴ専用インタフェースとの間の空間変換を行う前記キャディと、
のうちの１つ以上を更に備える、請求項１に記載のシステム。
【請求項１０】
前記構成可能ＩＣと結合されたインタポーザと、
前記インタポーザ及び前記少なくとも１つのＤＵＴと結合されたキャディであって、ハンドリング目的で様々なＤＵＴを受ける共通形状を有する前記キャディと、
のうちの１つ以上を更に備える、請求項１に記載のシステム。
【請求項１１】
前記プログラマブルＩＣの構成可能な試験器ピンと前記少なくとも１つのＤＵＴとの間に結合されたキャディを更に備え、前記少なくとも１つのＤＵＴの使用するコネクタが、前記構成可能な試験器の使用するコネクタより早期に故障する場合に、前記キャディは、構成可能な試験器ピンを保護する犠牲要素である、請求項１に記載のシステム。
【請求項１２】
構成可能インタフェースコアを備える構成可能集積回路（ＩＣ）であって、 
前記構成可能インタフェースコアは、
少なくとも１つの被試験装置（ＤＵＴ）に対する１つ以上のプロトコルをベースとするインタフェースの機能性を与えることと、
前記少なくとも１つのＤＵＴとインタフェースすることと、を行うようにプログラムされており、前記構成可能ＩＣは、自動試験装置で使用される試験パターンを与える、
構成可能ＩＣ。
【請求項１３】
前記構成可能インタフェースコアは、様々なプロトコルベースの通信インタフェースを有する複数のＤＵＴを試験する為に、複数の異なるプロトコルでプログラムされている、請求項１２に記載の構成可能ＩＣ。
【請求項１４】
２つ以上のプロトコルを一度に実装することにより、複数のプロトコルを試験することを可能にし、且つ、複数のプロトコルを有するモジュールを同時に試験することを可能にする、請求項１２に記載の構成可能ＩＣ。
【請求項１５】
一度に１つのプロトコルを実装し、前記インタフェースコアを再プログラムすることにより、異なる複数のプロトコルを試験することを可能にし、並列な複数のＤＵＴを最適化することを可能にする、請求項１２に記載の構成可能ＩＣ。
【請求項１６】
前記構成可能インタフェースコアは、ユーザがアップグレードすることが可能であることによって、現場での再プログラミングを可能にする、請求項１２に記載の構成可能ＩＣ。
【請求項１７】
前記構成可能インタフェースコアは、少なくとも１つの標準化されたプロトコルをベースとする通信インタフェースに完全に適合することが事前に検証されている、請求項１２に記載の構成可能ＩＣ。
【請求項１８】
前記構成可能ＩＣは、ＰＣベースの試験システムとの相互関係を可能にするシステムオンプログラマブルチップ（ＳＯＰＣ）である、請求項１２に記載の構成可能ＩＣ。
【請求項１９】
前記構成可能ＩＣと結合されたインタポーザを更に備える、請求項１２に記載の構成可能ＩＣ。
【請求項２０】
構成可能集積回路（ＩＣ）を用いて試験パターンを与えるステップであって、前記試験パターンは、少なくとも１つの被試験装置（ＤＵＴ）を試験する為に自動試験装置で使用される、試験パターンを与える前記ステップと、
少なくとも１つの被試験装置（ＤＵＴ）に対する１つ以上のプロトコルベースのインタフェースの機能性を与えるようにプログラム可能であり、且つ、前記少なくとも１つのＤＵＴとインタフェースするようにプログラム可能である構成可能インタフェースコアを与えるステップと、
前記構成可能ＩＣを前記少なくとも１つのＤＵＴと結合するように構成可能な接続を与えるステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１０年５月２８日に出願された米国特許仮出願第６１／３４９，４１１号に関連しており、同出願の優先権を主張するものである。米国特許仮出願第６１／３４９，４１１号の明細書は、参照により、その全てが本明細書に組み込まれている。
【０００２】
実施形態は試験に関し、特に固体記憶装置の試験に関する。
【背景技術】
【０００３】
固体ドライブ（ＳＳＤ）は、固体メモリを用いて永続的データを記憶するデータ記憶装置である。ＳＳＤは、ハードディスクドライブのインタフェースをエミュレートしている為、ほとんどの用途で、ハードディスクドライブから置き換えることが容易である。ＳＳＤは、標準化された電気通信プロトコル及び物理的インタフェースコネクタにより、パーソナルコンピュータ（ＰＣ）と接続する。ＳＳＤの一般的な例として、バッテリバックアップ式動的ランダムアクセスメモリ（ＤＲＡＭ）揮発性メモリ、ＮＡＮＤ／ＮＯＲ型フラッシュメモリ、及び他の不揮発性記憶装置クラス技術がある。ＳＳＤは、様々なフォームファクタが可能である。ＳＳＤは、比較的新しい製品である為、業界は、ＳＳＤの試験方法を規定する作業の途中段階にある。様々なフォームファクタ及びインタフェース規格を試験することは、機械的にも、プロトコル／電気的にも難題である。ＳＳＤを試験する為には、試験器は、物理的コネクタを介して接続できなければならず、又、インタフェースプロトコル及び電気的シグナリングをサポートしなければならない。
【０００４】
現時点で大勢を占めている試験用アーキテクチャでは、ＰＣベースの試験器を使用する。ＰＣは、ホストバスアダプタ（ＨＢＡ）及びケーブルを介して記憶装置と接続可能である。ＨＢＡ及びそのソフトウェアドライバは、コンピュータからの、オペレーティングシステム及び記憶プロトコルのレベルのコマンドを、記憶装置が理解できるコマンドに変換する為の物理的コネクタ、通信プロトコル、及び電気的エンジンを提供する。ＨＢＡは、マザーボードにプラグ接続することが可能である。ＰＣのマザーボードは、中央処理ユニット（ＣＰＵ）、メモリ、並びに、ＣＰＵ、メモリ、及びホストバスアダプタを動作させる為のバス及びコントローラチップを含むことが可能である。オペレーティングシステム及びドライバは、ＰＣ上でプログラムを実行する為に必要である。ＣＰＵ及びメモリは、記憶装置との間でデータをやりとりするプログラムを実行することにより、共有パターン発生器リソースとして動作する。ＰＣベースの試験器の一問題点は、使用するコンポーネントの性能により、性能及び並列処理量に制限があることである。更に、性能を強化し、並列処理量を増やそうとすると、コストがかさむ可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
一実施形態では、自動試験装置で使用されるシステムを提供する。一実施形態では、このシステムは、自動試験装置で使用される試験パターンを与えるようにプログラム可能な構成可能集積回路（ＩＣ）を含む。この構成可能ＩＣは、構成可能インタフェースコアを含み、構成可能インタフェースコアは、被試験装置（ＤＵＴ）に対する１つ以上のプロトコルベースのインタフェースの機能性を与えるようにプログラム可能であり、且つ、ＤＵＴとインタフェースするようにプログラム可能である。このシステムは又、構成可能ＩＣをＤＵＴと結合するように構成可能な接続を含む。 
【図面の簡単な説明】
【０００６】
【図１】ＰＣベースの試験器システムの一例のブロック図である。
【図２】一実施形態による、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）ベースの試験器システムの一例のブロック図である。
【図３Ａ−３Ｄ】幾つかの実施形態による、ＦＰＧＡベースの試験器システムの４つの構成例のブロック図である。
【図４Ａ−４Ｂ】ＦＰＧＡベースの試験器システムと、ＰＣベースの試験器システムとのサイズの違いを示す図である。
【図５】一実施形態による、インタポーザを利用するＦＰＧＡベースの試験器システムのブロック図であり、インタポーザは、ＦＰＧＡが様々なタイプの記憶装置に接続することを可能にする。
【図６Ａ−６Ｅ】幾つかの実施形態による、インタポーザ及びキャディを利用するＦＰＧＡベースの試験器システムのブロック図であり、インタポーザ及びキャディは、ＦＰＧＡが様々なタイプの記憶装置に接続することを可能にする。
【図７】一実施形態による、システムオンプログラマブルチップを使用するＦＰＧＡベースの試験器システムのブロック図である。
【図８Ａ−８Ｂ】ＦＰＧＡベースの試験器システムで試験可能な、様々な被試験装置（ＤＵＴ）を示す図である。
【図９】一実施形態による、記憶装置の試験方法の一例のフロー図である。
【発明を実施するための形態】
【０００７】
本明細書に記載の実施形態は、自動試験設備で使用するシステムを提供する。実施形態は又、対応する、被試験装置（ＤＵＴ）の試験方法も提供し、この方法は、本明細書に開示のシステム実施形態を用いて運用可能である。一実施形態では、システムは、自動試験設備で使用される試験パターンを提供するようにプログラムされた構成可能な集積回路（ＩＣ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ））を含む。この構成可能なＩＣに含まれるインタフェースコアが、少なくとも１つのＤＵＴとインタフェースし、ホストバスアダプタの機能性を提供する。インタフェースコアという語句とＩＰコアという語句は、同じ意味で用いる。このシステムは又、その少なくとも１つのＤＵＴとの接続を含み、この接続は、構成可能ＩＣとその少なくとも１つのＤＵＴとの間の直接結合である。後で詳述するように、構成可能ＩＣは、ＰＣベースの試験器の機能性を実装する一方、ＰＣベースの試験器につきものの、柔軟性、拡張性、性能、及びコストに関する欠点を回避する。
【０００８】
後で詳述するように、構成可能ＩＣは、ＤＵＴの試験に多大な柔軟性をもたらす。後で詳述するように、利点の幾つかとして、試験器のサイズが小さくなること、インタフェースの柔軟性が高くなること、製品ミックスのサポートが大幅に簡素化されること、コストが下がること、相互関係及び互換性が改善されることが挙げられる。
【０００９】
図１は、ＰＣベースの試験システムの一例のブロック図である。一般に、ＰＣベースの試験器は、ボード／コンポーネントベースの試験器である。ＰＣベースの試験器１００は、マザーボード１０３、ＣＰＵ１０５、ＤＲＡＭメモリ１０７、ＨＢＡカード１１０を含んでおり、これら全て、ＰＣベースの試験器を作成する為に必須である。そのような試験器をミニタワーケースに入れた場合の典型的なサイズは、４２０ｍｍ×１７５ｍｍ×３６０ｍｍである。
【００１０】
一実施形態では、ＣＰＵ１０５は、高速インタフェース（例えば、ＰＣＩｅ）１１２によってＨＢＡカード１１０と接続されており、ＨＢＡカード１１０は一般に１〜４ポートを含むことが可能である。ＨＢＡカード１１０は、コネクタケーブル１２０によって１つ以上のＳＳＤ１１５と接続されており、コネクタケーブル１２０は、利用可能なＨＢＡポートにプラグ接続されている。コンピュータベースのシステムコントローラ１２５は、１つ以上のＰＣベースの試験器１００と接続されており、個々のＰＣ試験器を制御することに使用される。ＰＣベースの試験器１００は複数個あってよく、これらは試験器スライス１００とも称され、各スライス１００は、マザーボード、ＣＰＵ、メモリ、及び関連付けられたＨＢＡカードを含む。なお、ＣＰＵという用語とプロセッサという用語は同じ意味で用いている。
【００１１】
ＳＳＤの製造試験及びベンチマーク試験のコストは、同時に試験できる装置の数に直接影響される。ＰＣベースの試験器は、それぞれが、決められた並列処理及びインタフェース規格に最適化されている。複数の規格をサポートしたり、並列処理のレベルを上げたりすることは、ＨＢＡカードを取り替えない限り、不可能である。ＨＢＡカードの取り替えは、試験器のコストを上げる。ＰＣベースの試験器の現在の６４〜１２８ＤＵＴの並列処理の場合は、８〜１６個のＨＢＡカードを取り替えることが必要であり、時間はかかるが、実施は可能である。より多量の並列処理（例えば、１０２４ＤＵＴ＝１２８ＨＢＡカード）の場合は、試験器を再構成することが実行不可能である可能性があり、これを手作業で行うとなると、多数の誤りが発生する可能性がある。
【００１２】
ＰＣベースの試験器の場合、複数のインタフェースを試験する柔軟性は、ＨＢＡカードを追加することの可用性及びコストによって制限される。又、ＨＢＡカードの取り替えは物理的に行う必要があり、並列処理量が増えるにつれて、著しいダウンタイムが必要になる。
【００１３】
ＰＣベースの試験器は、ホストバスアダプタのような、既存のＰＣ用途向けボードを活用している為、ＤＵＴに接続する為に新規又は既存のインタフェース規格が必要な場合の柔軟性に制限がある。典型的には、サポートを必要とするインタフェース規格ごとに１つのＨＢＡが必要である。並列処理は、ＨＢＡカードごとに４〜８個のＤＵＴとの間で固定され、変更は不可能である。更に、別のインタフェースをサポートする場合は、ＨＢＡカードを物理的にマザーボードから取り外して、別のＨＢＡカードと取り替えることが必要である。例えば、ＰＣベースの試験器がＳＡＴＡ装置と接続するように構成されている場合は、ＳＡＴＡ  ＨＢＡが必要である。個々のＨＢＡは、マザーボード上にあってもよく、独立したＨＢＡカード上にあってもよい。そして、ＰＣ試験器がファイバチャネルＤＵＴをサポートすることが必要になった場合は、新しいファイバチャネルＨＢＡを購入する必要がある。ＳＡＴＡ  ＨＢＡは物理的に取り外し、ＳＡＴＡ  ＨＢＡの代わりにファイバチャネルＨＢＡを物理的に挿入する。ＰＣは、典型的には、デスクトップアプリケーション又はデータセンタアプリケーションの為の汎用コンピュータとして機能するものであって、柔軟な記憶装置試験器であることは意図されていない。サイズ／フットプリントを小さくしようとすれば、カスタムボードということになるが、これはコストが高くなる。
【００１４】
記憶装置の試験にＰＣを使用する主な理由は次のとおりである。１）汎用コンピュータはアーキテクチャがよく知られていること。２）典型的には廉価であること（例えば、開発コストが低いこと、大容量ＰＣコンポーネントを活用できること）。並びに、３）試験対象の記憶装置が最終的にはＰＣで使用されること。従って、最終的な使用シナリオに非常に近い試験器環境を構築できれば、より有利である。
【００１５】
ＳＳＤ製品の出荷量が増えるにつれて、これらの記憶装置製品をより効率的に試験することが必要になる。この為には、以下のことを達成する為に、単一の試験器で複数のインタフェース及びフォームファクタを扱うことが可能な設備が必要となる。ａ）製品ミックスを試験することの柔軟性及び効率を高める。ｂ）試験場の平方フィート当たりの密度／並列処理量を増やす。並びに、ｃ）試験器の速度／性能を高めることにより、試験回数の最適化を可能にし、リソースを共用するアーキテクチャの試験時間オーバヘッドの不利点を回避する。
【００１６】
後で図２〜図８に関連して詳述するように、本明細書に記載の実施形態は、１つ以上のＰＣベースの試験器の機能性を実装するカスタムファームウェア及びソフトウェアイメージを単一チップに実装する構成可能／プログラマブルＩＣ（例えば、ＦＰＧＡ）を使用する。
【００１７】
本明細書に記載の実施形態は、プログラマブルＩＣを使用しており、このプログラマブルＩＣは、性能、並列処理、及びコストに関して高度に柔軟な最適化を可能にし、ＳＳＤ、ＨＤＤ、その他のような記憶装置試験用途に関して、まだリリースされていないプロトコルインタフェースへのソフトウェアベースのアップグレードパスを可能にする。
【００１８】
ＰＣベースの試験器は、フォームファクタ、物理的コネクタ、及びインタフェース規格が様々な記憶装置を試験する為に複数の異なるＨＢＡカード（場合によっては、複数の異なる試験器）を必要とするが、ＦＰＧＡベースの試験器のような、プログラマブルＩＣベースの試験器は、単一で、フォームファクタ、物理的コネクタ、及びインタフェース規格が非常に多様な記憶装置を試験することが可能である。ＦＰＧＡベースの試験器がこの柔軟性を発揮する為には、ユーザが新しい適切な構成をプログラマブルチップ／ＦＰＧＡにロードするだけでよい。
【００１９】
本明細書に記載の実施形態は、ＦＰＧＡのプログラム機能を利用して、（ａ）物理的ＨＢＡを、記憶装置試験用自動試験装置（ＡＴＥ）に置き換え、（ｂ）並列処理量が最大になってコストが下がるように、所与のインタフェースのコピー数を最適化し、（ｃ）新しい試験器を購入することなく、将来のインタフェース規格をサポートする機能又は既存のインタフェースをアップグレードする機能を有し、（ｄ）試験システムの低額の基本コストをユーザが支払い、ユーザが新しいインタフェースを使用する場合（又は必要とする場合）のみ、試験を行う側が追加コストを支払うペイパーユーズ（ｐａｙ−ｐｅｒ−ｕｓｅ）のような新しいビジネスモデルを可能にする。
【００２０】
図２は、一実施形態によるＦＰＧＡベースの試験器システムの一例のブロック図である。１つ以上のＦＰＧＡ２００のそれぞれが、試験パターン発生器（ＴＰＧ）２０５と、これに近接したインタフェースプロトコル（ＩＰ）コア２１０とを含んでいる。ＩＰコア２１０は、ＤＵＴ２１５と直接結合される。ＤＵＴ２１５は、ＳＳＤなどの記憶装置であってよい。実施形態によっては、他のタイプの記憶装置として、ハードディスクドライブ（ＨＤＤ）、ＵＳＢドライブ、フラッシュカード、ＤＲＡＭベースのディスクなども可能である。ＴＰＧとＩＰコアとの間の接続は、十分な帯域幅を与える為に、１つ以上のリンクを有するバス（パラレル又はシリアル）であってよい。
【００２１】
一実施形態では、各ＦＰＧＡが、１つ以上のＰＣベースの試験器の機能性を実装するカスタムファームウェア及びソフトウェアイメージを単一チップに実装している。必要な電気的シグナリング及びプロトコルベースのシグナリングは、ＦＰＧＡ内のオンチップＩＰコアによって与えられる。一実施形態では、インタフェースコアは、ＨＢＡの機能性を与える。一実施形態では、各ＦＰＧＡは、事前に検証されているインタフェースコアを用いてプログラム可能である。これにより、所与のインタフェース規格との適合性及び互換性が確保される。一実施形態では、目標インタフェースシグナリング速度グレードは、適切なＦＰＧＡ速度グレードを選択することによって可能になる。チップのプログラム可能な性質を利用して、ＳＳＤ、ＨＤＤ、及び他のプロトコルベースの記憶装置に対する記憶装置試験用途の柔軟性、コスト、並列処理、及びアップグレード性を最適化する。
【００２２】
一実施形態では、インタフェースコアは、サードパーティベンダから調達してよいが、本明細書に記載の実施形態と適合させる為には何らかのカスタムが必要な場合がある。一実施形態では、インタフェースコア／ＨＢＡは、次の２つの機能を提供する。１）記憶装置コマンドを、物理チャネルで送信する為に、標準的なプロトコルにラップする。２）電気信号の発生器及び受信器になる。
【００２３】
一実施形態では、各ＤＵＴは、電流検出機能を含んでよい専用電源を有しており、通信バスを介して試験器から制御される。一実施形態では、ハンドラは、把持器２１８を含んでよく、把持器２１８は、ＤＵＴを工場コンベアシステムから試験器に移動させ、試験器リソースとの物理的接続及び試験器リソースからの物理的解放を開始する。ＤＵＴ２１５を保持するベイ２２０は、試験中のＤＵＴにストレスを与える環境制御を行う。一実施形態では、次の５種類の環境制御が実施可能である。即ち、ＤＵＴごとに温度を制御する。複数のＤＵＴを共用温度チャンバに入れる。ＰＣ内の他のコンポーネントをシミュレートする為に電磁ノイズを与える。湿度を制御する。並びに、純粋に電気的機能を試験する為に、温度制御を行わない。ＰＣベースのシステムコントローラ２２５が、各ＦＰＧＡ、電源、及びハンドラと結合されて、個々の試験器の電子回路、電源、ハンドラ、及び環境制御を一元的に調整する。ハンドラ２１９は、ＤＵＴをベルト／ローダ２３０からベイ２２０に移すことが可能である。
【００２４】
一実施形態では、パターン発生器及びこれに対応するＩＰインタフェースコアは、チップ上に互いに隣接して実装されており、専用のバスリンクで接続されている。このようにシステムコンポーネント同士が近接していることにより、目標インタフェース速度に適合するリンクの最適化が可能になり、共用バスアーキテクチャにつきもののボトルネックが回避され、バス変換オーバヘッドが最低限度に保持される。
【００２５】
一実施形態では、専用オンチップリソースの組み合わせは、記憶装置パターンの促進、システムロジック同士の近接、及び専用バスリンクを含んでよく、これによって、どの目標インタフェース規格に対しても最高速度での試験が保証される。プログラマブルＩＣの使用により、性能とコストの関係の最適化が完全に制御可能になる。例えば、プログラマブルチップソリューションのＣＰＵが、複数のインタフェースを最高速度でサポートするのに十分高速であれば、専用パターン発生器リソースを除去してコストを下げることが可能である。一実施形態では、目標インタフェースが３Ｇｂｐｓ以上の速度を必要としない場合には、低速且つ低コストのプログラマブルチップを選択してコストを下げることが可能である。一実施形態では、目標インタフェースがあまり高速でないチャネルでＤＵＴと通信している場合には、ＤＵＴ当たりの試験器を増やすインスタンス化を生成するようにプログラマブルチップを再構成することが可能である。
【００２６】
本明細書に記載の幾つかの実施例では、ＦＰＧＡベースの試験器で試験するＤＵＴはＳＤＤであってよいが、他の実施形態では、ＦＰＧＡベースの試験器で試験するＤＵＴは、プロトコルベースのモジュールを含む様々なタイプであってもよい。例えば、ＤＵＴは、記憶装置モジュール、固体ドライブ、無線周波数（ＲＦ）モジュール、無線ネットワーキング（ＷｉＦｉ）モジュール、光接続性を有するモジュール、ハードドライブ、不揮発性メモリ装置又はモジュール、ＮＡＮＤフラッシュ記憶装置又はモジュール、記憶装置クラスのメモリ記憶装置又はモジュール、揮発性メモリ装置又はモジュール、試験パターンとして、プロトコルベースの通信を必要とするモジュール又は装置、ＡＴＥ試験システム内のセットアップの為に、プロトコルベースの通信を必要とするモジュール又は装置などであってよい。
【００２７】
一実施形態では、記憶装置／ＳＳＤ／ＨＤＤ用のＦＰＧＡベースの試験器は、ＳＳＤに接続して、ＳＡＴＡやＳＡＳのような記憶装置専用インタフェースを介して記憶装置ベースのパターンを与えるようにプログラム可能な構成可能ＩＣを含んでよい。
【００２８】
一実施形態では、ＲＦモジュール用のＦＰＧＡベースの試験器は、当該ＲＦモジュールを使用するＵＳＢ又はＰＣＩｅインタフェース接続を与えるように構成可能インタフェースコアがプログラムされている構成可能ＩＣを含んでよい。
【００２９】
一実施形態では、ＦＰＧＡベースの試験器は、プロトコルベースの通信によりＤＵＴ又はモジュールとインタフェースする、ＳＳＤ又はＲＦモジュールベースの試験器であってよい。一実施形態では、構成可能インタフェースコアは、任意の標準化プロトコルベースの通信インタフェースを与えるようにプログラム可能である。例えば、一実施形態では、ＳＳＤモジュールベースの試験の場合に、インタフェースコアは、ＳＡＴＡ、ＳＡＳなどの標準化プロトコルベースの通信インタフェースを与えるようにプログラム可能である。一実施形態では、ＲＦモジュールベースの試験器の場合に、インタフェースコアは、ＵＳＢ、ＰＣＩｅなどの標準化プロトコルベースの通信インタフェースを与えるようにプログラム可能である。一実施形態では、光相互接続を有するモジュールの場合に、インタフェースコアは、光相互接続でモジュールと通信する際に使用する標準化プロトコルベースの通信を与えるようにプログラム可能である。
【００３０】
図３Ａ〜図３Ｄは、様々な並列処理と、試験パターン発生器の様々なインスタンス化とを有する幾つかの構成を示す。各構成をプログラマブルチップにアップロードすることにより、所与の用途に対して、その用途が必要とする並列処理、性能、及びコストに基づいて試験器を最適化することが可能である。その用途に対して変更が必要になった場合は、同じ試験器を利用したまま、新しい構成をアップロードすることが可能である。
【００３１】
図３Ａは、一実施形態による、ＦＰＧＡ３００を利用するシステムの一例のブロック図である。ＦＰＧＡ３００は、１つ以上の専用試験器３０５を含んでおり、各専用試験器３０５が１つのＤＵＴ３１０に接続する。一実施形態では、ＤＵＴ３１０は、記憶装置であってよい。一実施形態では、ＤＵＴ３１０は、ＳＳＤであってよい。各専用試験器３０５は、ＩＰコア３１５を含んでおり、これはＤＵＴ３１０に直接接続する。図３Ａに示したように、各専用試験器３０５は、それぞれのオンチップ試験パターン発生器を有しており、オンチップ試験パターン発生器は、ＣＰＵ３３０、メモリ３３５、及び機能促進ブロック３１２からなる。従って、この構成は、共用リソースを持たない。
【００３２】
一実施形態では、ＦＰＧＡ３００は又、１つ以上の機能促進ブロック３１２と、インタフェースコア３１５とを含んでいる。一実施形態では、各機能促進ブロックは、専用パターン発生器３２０及び受信器３２５を含んでいる。一実施形態では、試験刺激（例えば、試験パターン）を与えるのは、パターン発生器３２０及び受信器３２５で与えられるロジックであり、これは、オンチップＣＰＵ３３０及びこれに関連付けられたメモリ３３５によって制御される。
【００３３】
一実施形態では、単一ＦＰＧＡ３００上の複数の試験器３０５同士が、イーサネットコネクタ３４５を介してリンク可能である。複数のＦＰＧＡ３００は、イーサネット（ＧｂＥ）インタフェースを介して、又はスイッチ３５５を通して、システムコントローラ３５０に接続可能である。一実施形態では、システムコントローラ３５０は、プロセッサによって実装されてよく、オペレーティングシステム（ＯＳ）、ドライバ、試験器制御ソフトウェア、並びに、コンパイラ、デバッガ、低レベルＡＰＩ、及び試験ライブラリを含むプログラム開発環境を含んでよい。
【００３４】
図３Ｂ、図３Ｃ、及び図３Ｄは、他の実施形態による、他の３つのＦＰＧＡ構成例を示している。なお、これらの実施形態は、構成の選択肢の例であって、構成の選択肢はこれらが全てとは限らず、これらに限定されるものではない。
【００３５】
図３Ｂは、一実施形態による、ＦＰＧＡ３００を利用するシステムの一例のブロック図である。ＦＰＧＡ３００は、１つ以上の専用試験器３０５を含んでおり、各専用試験器３０５が１つのＤＵＴ３１０に接続する。一実施形態では、各試験器３０５の専用部分は、機能促進ブロック３１２及びインタフェースプロトコルコア３１８を含んでいる。一実施形態では、各機能促進ブロック３１２は、パターン発生器３２０及び受信器３２５を含んでいる。
【００３６】
図３Ｂのシステムは、図３Ａのシステムと類似しており、異なるのは、図３ＢのＣＰＵ３３０及びこれに関連付けられたメモリ３３５が複数の試験器３０５の間で共用される点である。この構成は、コストの見地からは望ましいものであり、この構成に接続されている数のＤＵＴを最高速度でサポートするように刺激の発生及び受信が可能な処理能力をＣＰＵが有していれば、実用的な構成である。この構成が共用リソースＰＣアーキテクチャと異なるのは、この構成が、最適化されたレイアウト及び専用バスによりチップ上に実装されている為に、より低速なオンチッププロセッサが使用可能になる点である。
【００３７】
図３Ｃは、別の実施形態による、ＦＰＧＡ３００を利用するシステムの一例のブロック図である。図３Ｃのシステムは、図３Ｂのシステムと類似しており、異なるのは、各専用試験器３０５が複数のＤＵＴ３１０に接続する点である。これは、ファンアウト構成と称される場合がある。
【００３８】
図３Ｄは、別の実施形態による、ＦＰＧＡ３００を利用するシステムの一例のブロック図である。一実施形態では、パターン発生器３２０及び受信器３２５がＰＣブレード内に配置されている。
【００３９】
本明細書に記載の実施形態の重要な利点は、パターン発生器及びインタフェースロジックを単一のプログラマブルチップに集積し、それらを近接させてボトルネックを最小限に抑えることによって、性能又はコストを最適化する柔軟性である。一実施形態では、このシステムは、インタフェースロジックごとに専用ＣＰＵを割り当てるように構成可能であり、或いは、インタフェース及びＤＵＴの要求リソースと比較してＣＰＵが十分に高速であれば、１つのＣＰＵを複数のインタフェースで共用することが可能である。
【００４０】
後で詳述するように、ＦＰＧＡベースの試験器システムの利点の幾つかとして、試験器のサイズが小さくなること、インタフェースの柔軟性が高くなること、製品ミックスのサポートが大幅に簡素化されること、コストが下がること、相互関係及び互換性が改善されることが挙げられる。
サイズ：
【００４１】
図４Ａ及び図４Ｂは、ＦＰＧＡベースの試験器システムと、ＰＣベースの試験器システムとのサイズの違いを示している。
【００４２】
図４Ａは、一実施形態による、ＦＰＧＡベースの試験器システムと、ＰＣベースの試験器システム４００とを示している。ＦＰＧＡベースの試験器システム４００は、プログラマブルＩＣ４０５及びプログラマブルピン４１０を含んでいる。特定実施形態では、プログラマブルＩＣ４０５は、複数の（例えば、４〜８個、又はそれ以上の）試験器を含んでよい。各試験器は、ＣＰＵ、メモリ、機能促進ブロック、及びＩＰコアを有してよい。プログラマブルＩＣ４０５は、ＦＰＧＡであってよく、サイズは３５ｍｍ×３５ｍｍであってよい。他のサイズも可能である。プログラマブルＩＣ４０５に接続されたプログラマブルピン４１０は、様々なＤＵＴ（例えば、８倍ＳＡＴＡ、１６倍ＵＳＢ、１／４／８倍ＰＣＩｅ及び８／２／１レーン、２〜８倍ＳＡＳ及び４〜１レーン、８倍ファイバチャネルなど）をサポートするように再構成可能である。このような構成可能ＩＣチップは、サイズが４２０ｍｍ×１７５ｍｍ×３６０ｍｍにもなるタワーケース入りのＰＣベースの試験器より、かなり小さい。
【００４３】
ＤＵＴ試験器の各インスタンス化は、本明細書に記載の実施形態の柔軟な最高速度試験機能をサポートする。一実施形態では、複数のＤＵＴ試験器を単一プログラマブルチップに実装することが可能である。プログラマブルチップ当たり４〜８個のＤＵＴ試験器を実装した場合、本明細書に記載のシステムは、ＰＣベースの試験器と同等以下のコストで、柔軟性及び決定論的最高速度並列試験の利点を強化することが可能であり、このことは、同等価格の共用リソースＰＣ試験器では保証されない。プログラマブルチップを大きくしてロジック機能を高めるほど、並列処理量を増やすことが可能である。
【００４４】
図４Ｂは、ＰＣベースの試験器システムを示しており、このシステムは、様々なタイプのＤＵＴに対応する為に、様々なタイプのＨＢＡボード４６０を接続するマザーボード４５０を含んでいる。このようなＤＵＴは、３ＧｂｐｓのＳＡＴＡ  ＨＢＡ、６ＧｂｐｓのＳＡＴＡ  ＨＢＡ、３ＧｂｐｓのＳＡＳ  ＨＢＡ、６ＧｂｐｓのＳＡＳ  ＨＢＡ、４ＧのファイバチャネルＨＢＡなどであってよい。他のＨＢＡとして、マルチリンクＳＡＳ、１２ＧｂｐｓのＳＡＳ、８Ｇのファイバチャネルなどもあってよい。
【００４５】
図示したように、図４Ｂのマザーボード４５０と、追加で必要な、いずれかのＨＢＡボード４６０との組み合わせは、単一のプログラマブルＩＣ４０５で様々なタイプのＤＵＴに対応できる、図４ＡのＦＰＧＡベースの試験器システム４００よりかなり大きい。単一ＦＰＧＡのソリューションで構成可能な様々な規格をＰＣベースの試験器でサポートしようとすると、ユーザは、対応する様々なＨＢＡを全てＰＣマザーボードにプラグ接続しなければならない。ＦＰＧＡベースの試験器のソリューションは、これら８個の試験器、又はそれ以上の試験器をサポートする。
インタフェースの柔軟性
【００４６】
本明細書に記載の実施形態は、ソフトウェアベースのインタフェース変更を可能にするＩＰコアを試験器が利用することで、試験器の柔軟性を達成している。実施形態は、ＨＢＡカードによらずに、複数のタイプのＤＵＴを試験することを可能にする。このようなインタフェースの柔軟性により、新しいインタフェースは、プログラマブルチップのＩＰコアにロードすることが可能である為、ＰＣカード式のホストバスアダプタは不要になる。
【００４７】
一実施形態では、電気的な見地から、ＦＰＧＡ試験器は、ＨＢＡの代わりにＩＰコアを利用している。所与のＩＰコアは、容易に再プログラムされて別のＩＰコアに置き換わることが可能であり、その際、物理的なＦＰＧＡチップ又は他のハードウェアコンポーネントを変更することはない。このことは、ＦＰＧＡのプログラマブルチップリソースのソフトウェアプログラミングによって実現されている。例えば、所与のＦＰＧＡベースの試験器が現在ＳＡＴＡをサポートしている場合、ファイバチャネルＤＵＴに接続できるようにする為に必要なことは、ＳＡＴＡ用に構成されている現在のＩＰコアの代わりにファイバチャネルＩＰコアを使用するようにＦＰＧＡを再プログラムすることだけである。
【００４８】
ＦＰＧＡベースの試験器の実施形態のインタフェースの柔軟性の別の利点は、新しいインタフェース規格が標準化団体からリリースされたときに、その規格を素早く実装することが可能なことである。そのような新しいインタフェース規格は、ＰＣ市場におけるソリューションとして物理的ＨＢＡボードを製造販売することが可能になるよりずっと早く、ＦＰＧＡベースの試験器のプログラマブルチップに実装することが可能である。
【００４９】
本明細書に記載の実施形態は又、ＨＢＡが広く利用可能になる前にインタフェースの早期バージョンを生成することを可能にし、規格が確定した時点でインタフェースをアップグレードすることを可能にする。例えば、一実施形態では、新しい規格の早期バージョンを実装して、規格が確定した時点で早期バージョンをアップグレードすることが可能である。例えば、一実施形態では、規格（例えば、ＳＡＳ  １２Ｇ）の最初の版がリリースされた時点で、低速の（例えば、１２Ｇｂｐｓより低速の）プロトコルを実装するか、プロトコルの縮小バージョンを実装するＩＰコアバージョンを生成することが可能である。そして、規格が確定した時点で、試験器ハードウェアを変更することなく、ソフトウェアアップグレード（例えば、狭いポートを広くする、最高１２Ｇｂｐｓの速度を追加する、２倍を超えるマルチレーン機能を追加する、など）を行うことが可能になる。
【００５０】
図５は、一実施形態による、インタポーザを利用するシステムのブロック図であり、インタポーザは、ＦＰＧＡが様々なタイプの記憶装置に接続することを可能にする。このシステムは、必要とするピン及び電気的リソースの数が様々である、様々なタイプのＤＵＴを試験する。一実施形態では、ＦＰＧＡベースの試験器は、ＩＰコア部分を入れ替えることにより、プロトコルサポートを変更することが可能である。
【００５１】
一実施形態では、このシステムは、ファームウェアイメージを有するＦＰＧＡ５００を含んでおり、ＦＰＧＡ５００は、ＣＰＵ５０２を、パターン発生器、ＩＰコア５０３、及び試験器ピン５０７用ピンマップ５０５とともに含んでいる。一実施形態では、ＦＰＧＡ５００は、ＤＵＴに応じて様々なイメージをロード又はプログラムすることが可能である。例えば、ＦＰＧＡ５００にＳＡＴＡイメージがプログラムされた場合、このＳＡＴＡイメージは、ＣＰＵ、パターン発生器、ＳＡＴＡ  ＩＰコア、及びＳＡＴＡピンマッピングを含むことになる。一実施形態では、ＳＡＴＡインタポーザ５０９が、ＦＰＧＡ５００がＳＡＴＡ  ＤＵＴ（例えば、ＳＡＴＡ  ＳＳＤ５１１）に接続して、これを試験することを可能にする。具体的には、一実施形態では、ＦＰＧＡ５００は、試験器ピン５０７及びＳＡＴＡインタポーザ５０９を介してＳＡＴＡ  ＳＳＤ５１１に接続する。
【００５２】
ＦＰＧＡ５００にＵＳＢイメージがプログラムされた場合、このＵＳＢイメージは、ＣＰＵ、パターン発生器、ＵＳＢ  ＩＰコア、及びＵＳＢピンマッピングを含むことになる。一実施形態では、ＵＳＢインタポーザ５１３が、ＦＰＧＡ５００がＵＳＢ  ＤＵＴ（例えば、ＵＳＢ  ＳＳＤ５１５）に接続して、これを試験することを可能にする。具体的には、一実施形態では、ＦＰＧＡ５００は、試験器ピン５０７及びＵＳＢインタポーザ５１３を介してＵＳＢ  ＳＳＤ５１５に接続する。
【００５３】
本明細書に記載の実施形態は又、空いている高速ピンリソースを柔軟に使用して別のＤＵＴ並列処理を実施することを可能にする。例えば、異なる複数のＤＵＴインタフェースの使用ピン数が、プログラマブルチップで使用できるピン数より少ない場合は、そのＤＵＴに対するインタフェースの複数のインスタンスを、プログラミングにより実装することが可能である。従って、試験可能な装置の数は、異なるインタフェースごとに最適化することが可能である。単一のハードウェア及びソフトウェアによるソリューションは、多様なＤＵＴをサポートする試験器の複雑さを低減し、インタフェースタイプごとの専用試験器を不要にする。
【００５４】
図６Ａ〜図６Ｅは、幾つかの実施形態による、インタポーザ及びキャディを利用するシステムのブロック図であり、インタポーザ及びキャディは、ＦＰＧＡが様々なタイプの記憶装置に接続することを可能にする。
【００５５】
図６Ａは、インタポーザと単一のキャディとを利用するシステムのブロック図である。一実施形態では、このシステムは、ピン数が様々であって、必要とする電気的リソースが様々である、様々なタイプのＤＵＴを試験する。一実施形態では、このシステムは、マッピングが構成可能である試験器ピン６０７を有するＦＰＧＡ６００と、インタポーザ６０９と、キャディ６１０とを含んでいる。キャディ６１０は、キャディピン６１２と、ＤＵＴ６１６を受けるＤＵＴ専用インタフェースコネクタ６１４とを含んでいる。一実施形態では、インタポーザ６０９及びキャディ６１０は、適切な電気的ピン及びインタフェースプロトコルに応じてＦＰＧＡベースの試験器が再構成されることを可能にする。従って、機械的見地から、このシステムは、ピン数が様々である、様々な固有のインタフェースコネクタを有する様々なＤＵＴに対応する。
【００５６】
一実施形態では、インタポーザは、ＦＰＧＡ試験器とＤＵＴとの間の定義済みの一貫した接続を提供する。上述のように、ＦＰＧＡ試験器は、構成可能な試験器ピンを含んでいる。一実施形態では、インタポーザは、試験器ピンと、１つ以上のキャディのキャディピンとの間の接続を行う。一実施形態では、インタポーザは、試験器ピン及びキャディピンを受ける雌レセプタを含んでいる。一実施形態では、インタポーザは、表面が堅固であり、これによって、確実な接触が得られ、試験器の電子回路がＤＵＴ環境から電気的且つ環境的／熱的に隔離される。一実施形態では、この環境的隔離の態様は、チャンバ内の温度が上昇してもチャンバの外側にあるコンポーネントにダメージを与えないことを意味する。
【００５７】
一実施形態では、キャディは、インタポーザインタフェースとキャディインタフェースとの間の接続を行う。一実施形態では、キャディは、ＤＵＴに接続するＤＵＴ専用インタフェースを含んでいる。一実施形態では、キャディは使い捨てである。
【００５８】
一実施形態では、複数の異なる、柔軟な構成選択肢がありうる。例えば、図６Ｂは、インタポーザと２つのキャディ６１５とを利用するシステムのブロック図である。各キャディ６１５は、ピン数が中程度の記憶装置を受けることが可能である。図６Ｃは、インタポーザと、１つのキャディ６１７とを利用するシステムのブロック図である。キャディ６１７は、ピン数の多い記憶装置を受けることが可能である。図６Ｄは、インタポーザと、４つのキャディ６１９とを利用するシステムのブロック図である。各キャディ６１９は、ピン数の少ない記憶装置を受けることが可能である。図６Ｅは、インタポーザと、３つのキャディとを利用するシステムのブロック図である。ここでは、各キャディ６２１が、ピン数の少ない記憶装置を受けることが可能であり、キャディ６２３が、ピン数が中程度の記憶装置を受けることが可能である。図６Ａ〜図６Ｅは、組み合わせの例であり、他の組み合わせも可能である。
【００５９】
一実施形態では、キャディは、共通の形状を有しながら、形状及びサイズが様々である様々なＤＵＴに対応することが可能である。形状が一貫していることにより、自動ハンドリング時に単一のロボット把持器でそれらのＤＵＴをハンドリングすることが可能である。インタポーザの、キャディに接続する部分は、個別のＤＵＴのフォームファクタのそれぞれに適応しながら、固定形状に接続するように最適化することが可能である。
【００６０】
一実施形態では、少なくとも１つのＤＵＴの使用するコネクタが、構成可能な試験器の使用するコネクタより早期に故障する場合に、キャディは、構成可能な試験器ピンを保護する犠牲要素として機能する。これは特に、少なくとも１つのＤＵＴの使用するコネクタが、少ない挿入回数を想定したコネクタである場合に有利である。実装によっては、試験されるＤＵＴで使用しているコネクタは、何百万回も接続される試験環境での使用を想定していない。ＳＳＤのような、民生用ＰＣ向けのＤＵＴのコネクタは、典型的には、ほぼ何千回かの挿入に耐えることが可能である。これは、何千回か挿入すると、コネクタが壊れる危険性が高いことを意味する。ＰＣ用途の場合、コネクタの挿入回数が千回に達することはない。試験器環境では、一日の間に複数のＳＳＤを試験し、試験された各ＳＳＤは、１回の挿入と除去がなされたことになる。もし、ＤＵＴと同じコネクタを試験器で使用したとすると、そのコネクタが早々に壊れるであろうことは容易に理解されよう。もし試験器コネクタが壊れたら、ユーザは、そのコネクタが接続されているボード全体を取り替える必要があり、これは試験器電子回路全体であって非常に高価である。従って、インタポーザ及びキャディを使用する発想は、有利な空間変換とともに安価な犠牲的コネクタという利点を与える。
【００６１】
本明細書に記載の実施形態には、幾つかの利点がある。使い捨ての低コストキャディの中にコネクタを配置することの利点の１つは、コネクタが時間とともに壊れる代わりに、低コストキャディが時間とともに壊れることである。例えば、ＤＵＴ専用コネクタは、大量の試験を行う試験器で必要な何千回もの挿入をサポートすることを想定されていない。ＤＵＴ専用コネクタは、何百回も挿入すると壊れるであろう。そこで、キャディは、コネクタが壊れることに対して、コスト効率の高いソリューションを与える。
【００６２】
別の利点は、キャディが、ＤＵＴ専用インタフェースピンと試験器ピンとの間の空間変換を与えることである。別の利点は、あるインタフェースプロトコルで必要なピン数が、別のインタフェースプロトコルで必要なピン数より多いか少ない場合に、並列処理を犠牲にすればピン数の多いＤＵＴも試験可能であるように、試験器ピンを再プログラムできることである。典型的には、ピン数の少ないＤＵＴほど、大量の並列処理で試験される。
相互関係と互換性
【００６３】
本明細書に記載の実施形態は又、相互関係及び互換性を与える。正当なベンダから供給された、実証済みのＩＰコアを用いることにより、プロトコルベースの試験を行う際に、既存のインタフェース規格との相互関係及び互換性が確実に得られる。プロトコルアナライザのようなツールが利用可能であり、これを用いて、ＩＰコアが規格要件を満たしているかどうかを検査することが可能である。
【００６４】
本明細書に記載の実施形態は又、（例えば、様々なバージョンの試験器をアップロードすることにより、性能及びコストを最適化する、などの為の）完全な柔軟性を与える。インタフェースごとに専用リソースを持つことから、プログラマブルチップの形で、ＬｉｎｕｘベースのＰＣに対する複数のインタフェースにまたがってリソースを共用することまで可能である。
【００６５】
一実施形態では、ＦＰＧＡベースの試験器のＳＯＰＣアプローチは、ＦＰＧＡとともに使用される各ＣＰＵでのフルＬｉｎｕｘオペレーティングシステムの実行を可能にするＣＰＵ及びメモリを含んでよい。これにより、試験用途用の互換性及び相互関係の追加層が与えられる。一実施形態では、ＬｉｎｕｘベースのＰＣソフトウェア、ベンチマーク、及びドライバをＦＰＧＡベースの試験器にポートして実行することにより、ＰＣの環境と類似のエンドユーズ環境が得られる。例えば、ベンチマークＩＯｍｅｔｅｒをＦＰＧＡにポートし、ＦＰＧＡ試験器上でデーモンとして実行することにより、接続されたＤＵＴが、ＩＯｍｅｔｅｒを実行しているＰＣベースの試験器から受けるであろうものと同じベンチマークストレスを受けることが可能になる。
【００６６】
一実施形態では、ＳＯＰＣを使用しているＦＰＧＡベースの試験器は、ＰＣベースの試験器として機能するという利点がある。例えば、ＰＣベースの試験器は、ＤＵＴによって使用されるものと同じハードウェア、オペレーティングシステム、ドライバ、及びアプリケーションソフトウェアを実際のユーザ環境で使用するように構成可能である。例えば、ＳＳＤは、（デスクトップＰＣシステムの基本的なハードウェアコンポーネントである）ＣＰＵ及びメモリとともにマザーボード上に配置されているＨＢＡに接続する記憶装置である。ＳＳＤをデスクトップＰＣ上で記憶装置として使用する場合は、Ｌｉｎｕｘなどのオペレーティングシステムをインストールする場合があり、これには、ＨＢＡ及び記憶装置のドライバが含まれることになる。
【００６７】
このオペレーティングシステム上で、エンドユーザが、ＳＳＤの性能を試験する為の、ファイルシステムエクスプローラやベンチマークなどのアプリケーションプログラムを開発することが可能である。そのようなアプリケーションプログラム又はベンチマークを使用することは、ＤＵＴの試験の為には良いアプローチである。ＤＵＴの試験には、個別のコンポーネントだけでなく、動作するシステム一式が必要だからである。これは又、コスト効率の高いアプローチでもある。ＤＵＴがエンドユーザ環境で動作する為に必要な既存のソフトウェアコンポーネント及びツールの多くが流用可能だからである。
【００６８】
構成可能ＦＰＧＡベースの試験器は、カスタム試験システムであり、従って、典型的には、カスタムハードウェアを制御する為のカスタムソフトウェアコードが必要である。構成可能ＩＣとともに使用する（又は構成可能ＩＣに組み込む）適切なＣＰＵアーキテクチャ（例えば、ＰｏｗｅｒＰＣ、ｘ８６、又はＡＲＭ）と、Ｌｉｎｕｘなどのオープンソースオペレーティングシステムとを選択することにより、デスクトップＰＣシステムライクな環境を形成することの複雑さは、プログラマブルＩＣ上で使用するソフトウェアドライバ及びシステムオンチップアーキテクチャを開発することへと、大幅に縮小される。
【００６９】
図７は、一実施形態による、システムオンプログラマブルチップ（ＳＯＰＣ）７０２を使用するＦＰＧＡベースの試験器システム７００のブロック図である。一実施形態では、ＦＰＧＡベースの試験器システム７００は、ＰＣベースの試験器７１０とともに動作することが可能である。ＡＴＥ用途向けのＦＰＧＡベースの試験器においてＳＯＰＣ設計を用いることにより、既存のドライバ、オペレーティングシステム、アプリケーションツール、及びベンチマークを活用するデスクトップＰＣライクな相互関係が考慮される。ＦＰＧＡベースの試験器におけるＳＯＰＣ設計の他の利点として、単一プログラマブルＩＣソリューションの形での性能の向上、コストの低減、及びフットプリントの最適化が挙げられる。
大幅に簡素化された、製品ミックスのサポート：
【００７０】
本明細書に記載の実施形態は、製品ミックスのサポートを大幅に簡素化する。通常、製造業者は、個々のインタフェース規格をサポートする為に専用の試験器を購入する。製造業者は、同じ規格を必要とする装置の製造台数が増えると、１種類の試験器を複数個購入する。製造業者は、自社の製品ミックスに含まれる他の様々な製品をサポートする為に、インタフェース規格が異なる様々な試験器を購入する。例えば、ある製造業者が週に１０００台のＳＡＴＡドライブと１００台のファイバチャネルドライブとを製造する場合、この製造業者は、１０×１００個のＳＡＴＡドライブ試験器と１個のファイバチャネルドライブ試験器とを購入する。製造業者がそれほど多くの試験器を購入するのは、ＳＡＴＡ試験器をファイバチャネル試験器に変更することに非常に時間がかかり、コストがかかる為である。ファイバチャネルの需要が減れば、ファイバチャネル試験器は遊休状態になる。需要が増えれば、製造業者は、試験器を追加購入する必要がある。
【００７１】
本明細書に記載の実施形態は、ＦＰＧＡベースの試験器においてソフトウェアベースの再プログラミングを行うことにより、自動試験装置（ＡＴＥ）にプラスの大きな影響を与える。例えば、ＰＣベースの試験器が１００個のＳＡＴＡ  ＨＢＡを有しているとすると、試験器を分解してＳＡＴＡ  ＨＢＡに手が届くようにし、ＳＡＴＡ  ＨＢＡを引っ張り出し、ＳＡＴＡ  ＨＢＡの代わりにファイバチャネルＨＢＡを取り付け、試験器を再組み立てする作業には何時間もかかるであろう。ＦＰＧＡベースの試験器であれば、再構成は、ソフトウェアにおいて行い、数分で完了することが可能である。
【００７２】
ＦＰＧＡベースのソフトウェア再構成可能な試験器を用いると、製品ミックスの変化に対応する為に既存の試験器の利用率を高めることが可能である。例えば、製造業者が、１０個のＳＡＴＡ試験器と１個のファイバチャネル試験器とを持っていて、これらがＦＰＧＡベースであるとする。ファイバチャネルドライブの需要が増えて、ＳＡＴＡ試験器の需要が減っても、製造業者は、新しい試験器を購入する必要がない。製造業者は、保有するＳＡＴＡ試験器のうちの幾つかをファイバチャネル試験器に再構成する。これは、非常に短時間で、且つ、最小限の作業で行うことが可能である為、再構成コストとダウンタイムの両方を減らすことができ、更には、新しい試験器を購入する必要がないことから、資本設備コストの節約につながる。
【００７３】
アップグレード性：
本明細書に記載の実施形態は又、出荷後の現場で、ハードウェアを変更又はハンドリングすることを必要とせずに、試験器の機能性をアップグレード又はアップデートすることを可能にする。そのようなアップデートとしては、例えば、新しいインタフェース規格又はバージョンのペイパーユーズアップデートがある。
【００７４】
図８Ａ及び図８Ｂは、ＦＰＧＡベースの試験器で試験可能なＤＵＴの様々なタイプを示している。図８Ａに示した表は、製品カテゴリ（例えば、ディスク及びＰＣカード）と、対応するフォームファクタ、プロトコル、性能グレード、製品ピン／レーンの数、及びＤＵＴの数とを示している。図８Ｂは、単一のＦＰＧＡベースの試験器で置き換え可能なＨＢＡの様々なタイプを示している。そのようなＨＢＡとしては、例えば、パラレルＡＴＡ（ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ（ＰＡＴＡ）／ゼロ挿入力（ＺＩＦ）、シリアルＡＴＡ  （ＳＡＴＡ）、ＳＡＳ、ＰＣＩ  Ｅｘｐｒｅｓｓ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）（ＰＣＩｅ）、ファイバチャネル（ＦＣ）などがある。言い換えると、単一のＦＰＧＡベースの試験器で、様々な並列処理が可能である。これは、様々なファームウェアイメージをロードしてＦＰＧＡをプログラムすることにより達成される。各プロトコル規格は、プロトコル、ピン数、速度性能、コネクタなどが様々であってよい。
【００７５】
コスト：
本明細書に記載の実施形態は、複数の試験器を単一チップに実装することにより、更なるコスト節約を達成する。これは、プログラマブルチップが、ＰＣと同等以下のコストで機能性を達成する為である。大量に仕入れると、高価なＦＰＧＡほど価格が下がって、試験器がより一層、競争力のあるものになる。コストに関する間接的な利点として、インタフェースの入れ替え時間の短縮と、平方フィート当たりの並列処理量の増加が挙げられ、これによって、工場の床面積が限られている場合や、床面積が少なくて貴重な場合の利用率及びスループットを高めることが可能である。試験器の数を増やすことの利点は、フットプリントが小さくなることであり、このことは、工場の床面積が限られているか、床面積が少なくて貴重である製造業者にとって重要である。
【００７６】
一実施形態では、オンチップ実装された機能促進ブロックにより、対象インタフェースの速度に適合するように最適化された、ＤＵＴごとの専用リソースが確保される。そのような機能促進ブロックは、他の実装済みオンチップ試験器とは独立に、ＤＵＴを決定論的に刺激することを可能にする。
【００７７】
一実施形態では、機能促進ブロックは、主プロセッサの作業負担を軽減するように動作可能である。一実施形態では、この負担軽減は、機能促進ブロックがパターンを発生させて受信することにより、達成可能である。一実施形態では、この負担軽減は又、機能促進ブロックが多ステップ試験機能の複数のステップを単一ステップにまとめることにより、達成可能である。例えば、一実施形態では、機能促進ブロックは、パターンを書き込み、その書いたパターンを読み戻し、この２つのパターンを比較する比較機能を与えることが可能である。一実施形態では、機能促進ブロックは、比較機能を書き込むように動作可能である。一実施形態では、機能促進ブロックは、論理比較部として動作する。これにより、所与の記憶装置アドレスに関して、書き込まれたデータと、読み戻された同じデータとの比較が可能である。
【００７８】
プロセッサでの実行が必要な、ソフトウェアベースの比較アルゴリズムに比べると、ハードウェア実装での比較は、非常に高速に行うことが可能である（マイクロ秒かミリ秒かの違いがある）。ソフトウェアベースの比較アルゴリズムの場合は、書き込んだデータをメモリに記憶させ、複数のバスでＤＵＴに送信し、複数のバスで読み戻して比較することが必要である。この結果、データを複数のバスで送信する為のオーバヘッドが大きくなり、比較コードを実行する為には高速のプロセッサが必要になる。
【００７９】
一実施形態では、機能促進ブロックは、コプロセッサとして動作する。コプロセッサは、主プロセッサ（例えば、ＣＰＵ）の機能を補助するプロセッサとして使用される。一実施形態では、機能促進ブロックが実施する動作は、浮動小数点演算、グラフィックス、信号処理、文字列処理、又は暗号化であってよい。プロセッサに集中するタスクの負荷を主プロセッサから機能促進ブロックに移すことにより、機能促進ブロックは、全体としてのシステム性能を促進する。一実施形態では、機能促進ブロックは、単一ＤＵＴ及び並列ＤＵＴの両方の試験に使用可能である。
【００８０】
図９は、一実施形態による、データ記憶装置の試験方法の一例のフロー図である。一実施形態では、データ記憶装置はＳＳＤである。この方法は、ブロック９０２から開始され、まず、構成可能ＩＣが試験パターンを与える。一実施形態では、試験パターンは、ＤＵＴの試験に使用される。一実施形態では、試験パターンは、構成可能ＩＣを用いて与えられ、この試験パターンは、自動試験装置において、ＤＵＴの試験に使用される。一実施形態では、ブロック９０４において、ＤＵＴに対するインタフェースが与えられる。一実施形態では、このインタフェースは、構成可能インタフェースコアを用いて与えられ、構成可能インタフェースコアは、ＤＵＴに対する１つ以上のプロトコルベースのインタフェースの機能性を与えるようにプログラム可能であり、少なくとも１つのＤＵＴとインタフェースするようにプログラム可能である。一実施形態では、ブロック９０６において、ＤＵＴとの接続が与えられる。一実施形態では、この接続は、構成可能ＩＣをＤＵＴと結合するように構成可能な接続により与えられる。
【００８１】
一実施形態では、構成可能ＩＣのプロセッサのそれぞれ（例えば、図４のＣＰＵ４３０）が試験パターンを発生させる。一実施形態では、構成可能ＩＣの機能促進ブロックのそれぞれ（例えば、図４の機能促進ブロック４１２）が試験パターンを発生させる。一実施形態では、１つ以上のプロセッサが試験パターンを発生させる場合に、１つ以上の機能促進ブロックが、その１つ以上のプロセッサを、試験パターン発生時に支援することが可能である。例えば、一実施形態では、同じ構成可能ＩＣにある所与の機能促進ブロックが、同じ構成可能ＩＣにあるプロセッサを、試験パターン発生時に支援することが可能である。
【００８２】
一実施形態では、試験パターンを与える為に、構成可能ＩＣは、プロセッサ又はプロセッサとインタフェースとの間の機能促進ブロックで動作しているプログラムを実行することが可能である。一実施形態では、試験パターンは、プロトコルベースの試験パターンである。一実施形態では、所与の記憶装置インタフェースプロトコルは、ＳＡＴＡ、ＳＡＳ、ファイバチャネル、ＰＣＩｅ、ＵＳＢ、コンパクトフラッシュ、ＳＤ、ＯＮＦＩであってよく、接続されるＤＵＴは、ＳＡＴＡ、ＳＡＳ、ファイバチャネル、ＰＣＩｅ、ＵＳＢ、コンパクトフラッシュ、ＳＤ、ＯＮＦＩの各記憶装置である。一実施形態では、プロトコルベースの通信は、パラレルプロトコル又はシリアルプロトコルであってよく、例えば、イーサネット、ＳＡＴＡ、ＰＡＴＡ、ＷｉＦｉであってよく、接続されるＤＵＴは、これらとの通信にイーサネット、ＳＡＴＡ、ＰＡＴＡ、ＷｉＦｉ接続を必要とする装置である。
【００８３】
ハードウェア実装された機能促進ブロックは、多様なソフトウェア試験機能を促進する為に使用可能である。そのようなソフトウェア試験機能としては、例えば、プログラマブルバッファから事前定義済みパターンを実行すること、カウンタのようなアルゴリズムパターン、チェッカボードパターン、ランダム発生データ、書き込んだデータと読み戻したデータとを単一ステップで比較する比較部、プロトコルレベルの通信へのアクセスを可能にすることによるプロトコルアナライザ及びインジェクタなどが挙げられる。ブロック８０４では、構成可能ＩＣは、ＤＵＴに対するインタフェースを与える。ブロック８０６では、少なくとも１つのＤＵＴとの接続が与えられ、この接続は、構成可能ＩＣとその少なくとも１つのＤＵＴとの間の直接結合である。
【００８４】
本明細書に記載の実施形態又はその一部分は、コンピュータ実装であってよい。コンピュータシステムは、プロセッサ（例えば、プロセッサコア、マイクロプロセッサ、コンピューティング装置など）、主メモリ、及び静的メモリを含んでよく、これらはバス経由で相互通信している。このマシンは更に、タッチスクリーンを含んでよいディスプレイ装置、又は液晶ディスプレイ（ＬＣＤ）、又は発光ダイオード（ＬＥＤ）ディスプレイ、又はブラウン管（ＣＲＴ）を含んでよい。図に示すように、コンピュータシステムは又、ユーザ用入出力（Ｉ／Ｏ）装置（例えば、キーボード、英数字キーパッドなど）、ポインティング装置（例えば、マウス、タッチスクリーンなど）、ドライブ装置（例えば、ディスクドライブ装置、ＣＤ／ＤＶＤドライブ、手で触れるコンピュータ可読リムーバブルメディアドライブ、ＳＳＤ記憶装置など）、信号発生装置（例えば、スピーカ、音声出力など）、及びネットワークインタフェース装置（例えば、イーサネットインタフェース、有線ネットワークインタフェース、無線ネットワークインタフェース、伝搬信号インタフェースなど）を含んでよい。
【００８５】
ドライブ装置は、上述の方法の任意のいずれか又は全てを具体化する命令セット（例えば、ソフトウェア、ファームウェア、ミドルウェアなど）が記憶されたマシン可読媒体を含んでよい。この命令セットは又、全体又は少なくとも一部分が、主メモリ内且つ／又はプロセッサ内に常駐するように図示されている。この命令セットは更に、ネットワークインタフェース装置を介して、ネットワークバスで送信又は受信することが可能である。
【００８６】
本発明の実施形態は、何らかの形態の処理コア（例えば、コンピュータのＣＰＵ）で実行される命令セットとして（又はこの命令セットをサポートする為に）使用されてよく、或いは、マシン可読媒体又はコンピュータ可読媒体において実装又は実現されてよいことを理解されたい。マシン可読媒体は、マシン（例えば、コンピュータ）可読な形式の情報を記憶又は送信する為の任意のメカニズムを含む。例えば、マシン可読媒体としては、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリ装置、電気、光、音、又は他の形式の伝搬信号（例えば、搬送波、赤外信号、デジタル信号など）、又は他の任意のタイプの、情報の記憶又は送信に適した媒体が挙げられる。
【００８７】
本発明は、本明細書に開示の実施形態に厳密に限定されるものではない。当業者であれば理解されるように、本発明の概念から逸脱することなく、変更及び修正を行うことが可能である。例えば、ＦＰＧＡ以外の構成可能な集積回路を使用してよい。本発明の柔軟性及びサイズの利点を、構成可能ＩＣと同等以下のコストで実装した、構成可能でない集積回路を使用してもよい。本発明の範囲は、特許請求の範囲に鑑みて解釈されてよい。
【図１】
2014503083.tif 000003
【図２】
2014503083.tif 000004
【図３Ａ】
2014503083.tif 000005
【図３Ｂ】
2014503083.tif 000006
【図３Ｃ】
2014503083.tif 000007
【図３Ｄ】
2014503083.tif 000008
【図４Ａ−４Ｂ】
2014503083.tif 000009
【図５】
2014503083.tif 000010
【図６Ａ】
2014503083.tif 000011
【図６Ｂ】
2014503083.tif 000012
【図６Ｃ】
2014503083.tif 000013
【図６Ｄ】
2014503083.tif 000014
【図６Ｅ】
2014503083.tif 000015
【図７】
2014503083.tif 000016
【図８Ａ−８Ｂ】
2014503083.tif 000017
【図９】
2014503083.tif 000018
【国際調査報告】
2014503083.tif 000019
2014503083.tif 000020