(57)【要約】シリアル周辺装置インターフェイス（ＳＰＩ）互換のシリアルインターフェイスメモリデバイスを識別するための方法。マイクロプロセッサは、識別情報を要求する１つのコマンド（１６）を、ＳＰＩバス上にインストールされたＳＰＩデバイスに送信する。ＪＥＤＥＣの製造業者ＩＤ（３６）、デバイスＩＤ（３４）、および拡張された任意のデバイス情報（１８）を含むバイト列（１８）が、マイクロプロセッサに返送される。バイト列は、製造業者ＩＤが１バイトを超える場合に、１つ以上の継続コードを含み得る。バイト列（１８）はまた、マイクロプロセッサが何バイトの拡張されたデバイス情報を読出さなければならないかを示す１バイト（２６）も含む。コマンド（１６）を発行して応答（１８）を受信するという識別の過程は１つの動作で完了する。
2006514761.tif 000002
【特許請求の範囲】
【請求項１】
シリアル周辺装置インターフェイス互換のシリアルインターフェイスメモリデバイスを識別するための方法であって、
ａ）１つのクロックされたコマンドを用いて、デバイスに製造業者およびデバイスの情報を要求するステップと、
ｂ）要求した情報および任意の拡張されたベンダ固有の情報を含む、可変長のクロックされたバイト列を、デバイスから受信するステップとを含み、情報を要求するステップおよび受信するステップは、１つの動作で完了する、方法。
【請求項２】
要求した情報を受信するステップはさらに、要求した情報を読出すステップを含む、請求項１に記載の方法。
【請求項３】
バイト列は、デバイスの製造業者を識別する、請求項２に記載の方法。
【請求項４】
バイト列は、デバイスのデータを識別する、請求項２に記載の方法。
【請求項５】
バイト列は、拡張された情報列の長さを識別し、列は、デバイスに関するベンダ固有の情報を含む、請求項２に記載の方法。
【請求項６】
ベンダ固有のフォーマットでデバイスのデータを識別するステップをさらに含む、請求項４に記載の方法。
【請求項７】
ＪＥＤＥＣの製造業者識別子でデバイスの製造業者を識別するステップをさらに含む、請求項３に記載の方法。
【請求項８】
ＪＥＤＥＣの製造業者識別子を提供するために少なくとも１つの継続コードを用いるステップをさらに含む、請求項７に記載の方法。
【請求項９】
バイト列は、「ｎ」バイトでデバイスの製造業者を識別する、請求項１に記載の方法。
【請求項１０】
バイト列は、２バイトでデバイスのデータを識別する、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリデバイス、特に、シリアルインターフェイスメモリデバイスの識別に関する。
【背景技術】
【０００２】
発明の背景
不揮発性メモリデバイスは、パラレルインターフェイス構成またはシリアルインターフェイス構成のいずれかで構成されている。過去数年に亘り、パラレルインターフェイスの方が、その高速なランダムアクセス性能により優勢であり、パラレルインターフェイスは直接コードの実行に理想的なものとなった。近年では、シリアルインターフェイスの方が優勢になっている。なぜなら、シリアルインターフェイスは、個人の基本設定および設定データを格納し、低ピンカウント、低消費電力、および、より小型のパッケージを提供するためである。パラレルインターフェイスは、メモリデバイスの矩形のアレイとともに、独立した出力ピンおよびアドレスピンを用いる。シリアルインターフェイスは一般に、２つのワイヤ設定を用い、時としてクロック信号用の第３のワイヤを用いる。他のワイヤ設定も見出すことができるが、クロック信号が常に存在する。
【０００３】
パラレルインターフェイスの一例は、この発明の譲受人に譲渡されて、「半導体においてプロダクトを符号化して情報をプログラミングするための方法（Method for Encoding Product and Programming Information in Semiconductors）」と題された、米国特許第４，４５１，９０３号に示されている。この’９０３号特許の図４は、不揮発性メモリデバイスを特徴付けるパラメータが、メモリにおける符号化のためにいくつ指定され得るかを示す。この例では、デバイスの製造業者を含む１５個の異なるパラメータが符号化されている。
【０００４】
シリアルインターフェイスの人気が高まったことにより、シリアル周辺装置インターフェイス（Serial Peripheral Interface）（ＳＰＩ）プロトコルが開発されるに至った。ＳＰＩは、シリアルインターフェイスデバイス用のピンを規格化し、このようなピンのグループをＳＰＩバスと規定する。
【０００５】
シリアルインターフェイスメモリの製造業者（その各々には、ＪＥＤＥＣ公示１０６により製造業者識別子が割当てられており、ＪＥＤＥＣ公示１０６は、デバイス上で符号化された製造業者識別コードを規格化している）の数が増大しているにも拘らず、これらのシリアルインターフェイスメモリ、またはＳＰＩデバイスが一旦インストールされると、ＳＰＩバス上においてこれらのデバイスを識別するための一般的な電子式の方法は存在しない。このことは問題である。なぜなら、異なるデバイスが、異なる特性、たとえば、電圧域、消去時間等を有しており、異なるアーキテクチャおよびコマンドセットを有していることが考えられるためである。複数の異なるＳＰＩデバイスがＳＰＩバス上にインストールされている場合、これらの異なるデバイスがシステム内で作動するためには、これらのデバイスを識別する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
パラレルな不揮発性メモリデバイスを識別するための一般的な方法、たとえば、異なる供給業者のデバイスを識別するために１つの共通のコマンドを用いる共通フラッシュメモリインターフェイス（Common Flash Memory Interface）（ＣＦＩ）仕様に含まれる方法等が存在するが、これらの方法を、シリアルデバイスにおいて使用することができない。
なぜなら、シリアルデバイスは、パラレルデバイスにおいて情報のランダムなアクセスを可能にするアドレス線およびデータ線を有していないためである。（「共通フラッシュメモリインターフェイス（ＣＦＩ）仕様」、シャープ（Sharp）ＡＰ−００３−ＣＦＩ−Ｅ参照。）１６本以上のアドレス線および８〜３２本のデータ線を有し得、かつ、上述のようにランダムな態様でデータにアクセスすることのできるパラレルデバイスとは対照的に、シリアルデバイスは、３本の線を有し、情報にシーケンシャルにアクセスする。デバイスの製造業者と、ベンダに固有の情報、たとえばデバイス密度、デバイスファミリ、デバイスのバージョンとにより、システムのＳＰＩバス上にインストールされたすべてのＳＰＩデバイスを識別するだけでなく、拡張されたデバイス情報、たとえば処理技術、ダイの修正、電圧レベル等も識別する方法が存在することが望ましいのは明らかである。
【課題を解決するための手段】
【０００７】
発明の概要
この発明は、インストールされたＳＰＩメモリデバイスに関する情報を得るための、命令応答によるシリアル通信の方法を提供する。情報を要求する１つのコマンドがＳＰＩデバイスに送信され、ＳＰＩデバイスは、デバイスの製造業者、デバイスの識別子、および拡張された任意のデバイス情報、たとえば処理技術、ダイの修正、電圧レベル、セクタのサイズ、ページのサイズ、消去時間等を含む、可変長のバイト列で応答する。この応答は、ＪＥＤＥＣの製造業者ＩＤ（ＪＥＤＥＣ公示１０６に基づく）を示し、ＪＥＤＥＣの製造業者ＩＤを１バイトで示すことができない場合、（ＪＥＤＥＣ公示１０６に準拠する）１つ以上の継続コードを含み得る。このデバイスは、デバイス密度、デバイスファミリ、およびデバイスのバージョン等の情報を示すベンダ固有のフォーマットにおいて、２バイトで識別される。加えて、この応答は、拡張されたデバイス情報列の長さを示す１バイトを含む。これは、ＳＰＩデバイスに関する追加情報を得るために読出さなければならない当該バイト数を規定し、関連するマイクロプロセッサが不必要なデータを読出すことを防ぐ。
【発明を実施するための最良の形態】
【０００８】
発明を実施するための最良の態様
この発明のさまざまな実施例において論じられるすべてのデバイスは、シリアル周辺装置インターフェイス（ＳＰＩ）プロトコルと互換性を有し、かつ、関連するマイクロプロセッサに接続された、シリアルな不揮発性（「ＮＶ」）メモリデバイスである。図１に示すように、シリアルなＮＶメモリデバイスは、少なくとも３本の線、すなわち、チップ選択信号（ＣＳ）１０、シリアルイン（ＳＩ）１２、およびシリアルアウト（ＳＯ）１４を有する。クロック信号（ＳＣＫ）３８も示される。図１および図２に示す各遷移は、８ビットおよび８個のクロックサイクルを表わす。
【０００９】
図１を参照すると、マイクロプロセッサは、シリアルなＮＶメモリデバイスを識別するために、データパケット内で符号化されたパルスの形をとったコマンド１６をデバイスに送信する。そのコマンドは、デバイスおよびその製造業者を識別し、そして、処理技術、ダイの修正、電圧レベル、セクタのサイズ、ページのサイズ、消去時間等の拡張された任意のデバイス情報を提供するための情報を要求する。このコマンド１６は、一実施例において８ビットのオペコード１００１  １１１１（９ＦＨ）であり、デバイス内に同期して読込まれる。オペコード１６は、専用でなければならず、すなわち、他のオペコードと機能を共有することはできない。
【００１０】
応答１８、すなわち、可変長のバイト列を含むデータパケットは、オペコード１６に応答して、同期して読出される。一実施例において、第１のバイトであるバイトｎ、すなわち、応答１８の２０は、ＪＥＤＥＣ公示１０６において指定されたＪＥＤＥＣの製造業者ＩＤ３６を提供する。応答の次の２バイト２２および２４は、デバイスのＩＤデータ３４
を提示する。これらの２バイト２２および２４は、デバイス密度、デバイスファミリ、およびデバイスのバージョン等の情報を指定するために用いられる、ベンダ固有のデータである。第４のバイト２６は、拡張されたデバイス情報列３２の長さを示し、すなわち、マイクロプロセッサに対し、デバイスに関する利用可能なすべての情報を得るためにどれだけ多くのバイトをさらに読出さなければならないかを示す。たとえば、１６進表現を用いて、００Ｈは、拡張された情報のさらなるバイトが存在しないことを示し、０１Ｈは、さらなる１バイトを示し、０ＦＨは、さらなる１５バイトを示し、１０Ｈは、さらなる１６バイトを示し、以下同様である。情報のバイトは、２５４まで（ＦＦＨは今後の拡張に備えて未使用）を指定することができる。この実施例では、拡張されたデバイス情報の２バイト、すなわち、バイトｘ２８およびバイトｘ＋１  ３０が提示される。上述のように、拡張されたデバイス情報のバイト３２は、処理、ダイの修正、電圧域、セクタのサイズ、ページのサイズ、消去時間等の詳細なデバイス情報を規定するために用いられる、ベンダ固有のバイトである。
【００１１】
ＪＥＤＥＣに指定された製造業者が１バイトで識別され得ない場合、ＪＥＤＥＣ公示１０６は、継続コード（７ＦＨ）も規定する。（ＪＥＤＥＣ公示１０６は、製造業者ＩＤのバイトが７個のデータビットと１個のパリティビットとを含むことを要求する。）１２８を越える製造業者（その識別コードは７個のデータビットにより表わすことができる）に識別コードが割当てられているため、継続コードは、製造業者の以降の「バンク」（すなわち、バンク２は製造業者１２９〜２５６を列挙し、バンク３は製造業者２５７〜３８４を列挙する等）に登録された製造業者を示すために用いられる。複数の継続コードを用いて、どのバンクが製造業者ＩＤを含んでいるかを示すことができる。たとえば、第１のバンクにおいて製造業者ＩＤを示す継続コードが存在せず、１つの継続コードが第２のバンクにおいて製造業者ＩＤを示し、２つの継続コードが第３のバンクにおいて製造業者ＩＤを示す、等である。マイクロプロセッサは、継続コード、すなわち７ＦＨに遭遇すると、製造業者ＩＤを示すバイトを引続き読出すはずである。第１の非７ＦＨのバイトは、製造業者ＩＤのデータの最終バイトを示す。
【００１２】
図２に示すように、識別コマンド１６からの、デバイスからの応答１８は、製造業者ＩＤのデータ３６と共に継続コード３８を含み得る。ここで、継続コード７ＦＨ  ３８は、バイトｎを表し、ＪＥＤＥＣの製造業者ＩＤ４０は、バイトｎ＋１を表す。応答１８はここでもまた、図１において上で説明したように、デバイスＩＤデータ３４と、拡張されたデバイス情報列３２とを含む（他の実施例では、２つ以上の継続コードが存在し得る）。
【００１３】
図１および図２において上で示したように、デバイスに関する、利用可能なすべての情報は、１つの動作で得ることができる。この識別方法は、メモリのアドレスデータをデバイスに送信することを必要とせず、したがって、この識別方法を用いて、どのようなデバイス密度（１−Ｍビット、６４−Ｍビット、２５６−Ｍビット等）に対する変更も行なわずにどのようなデバイスをも識別することができる。すなわち、デバイスを識別するために、デバイスにダミーバイトを送信する必要がない。
【図面の簡単な説明】
【００１４】
【図１】時間の経過が水平方向に、およびデータパケットの幅が垂直方向に配置された、この発明に従った命令応答によるシリアル通信のシーケンスのタイミング図である。
【図２】図１に示すプロトコルの代替的な実施例である、命令応答による通信プロトコルのタイミング図である。
【図１】
2006514761.tif 000003
【図２】
2006514761.tif 000004
【手続補正書】
【提出日】平成17年4月15日(2005.4.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シリアル周辺装置インターフェイス互換のシリアルインターフェイスメモリデバイスを識別するための方法であって、
ａ）１つのクロックされたコマンドを用いて、デバイスに製造業者およびデバイスの情報を要求するステップと、
ｂ）要求した情報および任意の拡張されたベンダ固有の情報を含む、可変長のクロックされたバイト列を、デバイスから受信するステップとを含み、クロックされたバイト列は、デバイスに関するベンダ固有の情報を識別する、拡張された情報列の長さを識別し、情報を要求するステップおよび受信するステップは、１つの動作で完了する、方法。
【請求項２】
要求した情報を受信するステップはさらに、要求した情報を読出すステップを含む、請求項１に記載の方法。
【請求項３】
バイト列は、デバイスの製造業者を識別する、請求項１に記載の方法。
【請求項４】
バイト列は、デバイスのデータを識別する、請求項１に記載の方法。
【請求項５】
ベンダ固有のフォーマットでデバイスのデータを識別するステップをさらに含む、請求項４に記載の方法。
【請求項６】
ＪＥＤＥＣの製造業者識別子でデバイスの製造業者を識別するステップをさらに含む、請求項３に記載の方法。
【請求項７】
ＪＥＤＥＣの製造業者識別子を提供するために少なくとも１つの継続コードを用いるステップをさらに含む、請求項６に記載の方法。
【請求項８】
バイト列は、「ｎ」バイトでデバイスの製造業者を識別する、請求項１に記載の方法。
【請求項９】
バイト列は、２バイトでデバイスのデータを識別する、請求項１に記載の方法。
【国際調査報告】
2006514761.tif 000005