(57)【要約】【課題】  入出力信号のノイズ状態に合わせて入出力バッファを駆動制御し、耐ノイズ性を高めて信頼性を大幅に向上する。【解決手段】  ホスト２から、ユーザデータのリード転送要求があると、コントローラ４は、リードしたＣＲＣデータに誤りがないかを確認する。ノイズなどの影響によりＣＲＣデータに誤りがある場合、データ転送制御部９がＩ／Ｏバッファ切り替え部８に制御信号を出力し、Ｉ／Ｏバッファ１２，１３をシュミット入力に切り換える。また、ＣＲＣデータに誤りがない場合には、コントローラ４がホスト２にユーザデータを転送する。転送後、ホスト２からの再転送要求があると、コントローラ４は、ホスト２に転送したデータにノイズなどの影響があると判断し、データ転送制御部９がＩ／Ｏバッファ切り替え部８の制御を行い、出力バッファのドライブ能力を下げてノイズを低減する。【選択図】  図２
2005234976.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の半導体メモリと、動作プログラムに基づいて前記１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備えた記憶装置であって、
前記情報処理部は、
入出力される信号状態に応じて、前記情報処理部、前記半導体メモリ、または前記記憶装置を管理する情報処理装置のうち、少なくとも前記情報処理部に設けられた出力バッファの出力電圧、および駆動能力と入力バッファの信号判定レベルとを切り換えるバッファ切り替え制御部を有したことを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置において、
前記バッファ切り替え制御部は、転送データのエラー有無を検出し、その検出結果に基づいて、前記出力バッファ、および前記入力バッファの切り替え制御を行うことを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置において、
前記バッファ切り替え制御部は、転送データのノイズの有無を検出するノイズ検出部を備え、
前記バッファ切り替え制御部は、前記ノイズ検出部が検出した結果に基づいて、前記出力バッファ、および前記入力バッファの切り替え制御を行うことを特徴とする記憶装置。
【請求項４】
請求項１記載の記憶装置において、
前記バッファ切り替え制御部は、外部から供給される電源電圧と判定電圧とを比較する電源電圧監視部を備え、前記電源電圧監視部の比較結果に応じて前記出力バッファ、および前記入力バッファの切り替え制御を行うことを特徴とする記憶装置。
【請求項５】
請求項１〜３のいずれか１項に記載の記憶装置において、
前記出力バッファ、および前記入力バッファは、終端抵抗を設け、
前記終端抵抗は、前記バッファ切り替え制御部の制御信号に基づいて、抵抗値を可変することを特徴とする記憶装置。
【請求項６】
１つ以上の半導体メモリと、動作プログラムに基づいて前記１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備えた記憶装置であって、
前記情報処理部は、
制御信号に応じて、前記情報処理部、前記半導体メモリ、または前記記憶装置を管理する情報処理装置のうち、少なくとも前記情報処理部に設けられた出力バッファの出力電圧、および駆動能力と入力バッファの信号判定レベルとを切り換えるバッファ切り替え制御部を有し、
前記バッファ切り替え制御部に入力される制御信号は、前記情報処理部の外部から入力される信号であることを特徴とする記憶装置。
【請求項７】
請求項６記載の記憶装置において、
前記バッファ切り替え制御部に入力される制御信号が、前記記憶装置を管理する情報処理装置から出力されるコマンドよるなることを特徴とする記憶装置。
【請求項８】
請求項６または７記載の記憶装置において、
前記出力バッファ、および前記入力バッファは、終端抵抗を設け、
前記終端抵抗は、前記バッファ切り替え制御部の制御信号に基づいて、抵抗値を可変することを特徴とする記憶装置。
【請求項９】
１つ以上の半導体メモリと、動作プログラムに基づいて前記１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備えた記憶装置であって、
前記情報処理部は、
入出力される信号状態に応じて、前記情報処理部、前記半導体メモリ、または前記記憶装置を管理する情報処理装置のうち、少なくとも前記情報処理部に設けられた入力バッファの信号判定レベルを切り換えるバッファ切り替え制御部を有し、
前記バッファ切り替え制御部は、
前記情報処理部、前記半導体メモリ、または前記情報処理装置のうち、少なくとも前記情報処理部に設けられた出力バッファの出力電圧、および駆動能力を外部入力される制御信号に基づいて切り替え制御することを特徴とする記憶装置。
【請求項１０】
請求項９記載の記憶装置において、
前記バッファ切り替え制御部は、転送データのエラー有無を検出し、その検出結果に基づいて、前記入力バッファの切り替え制御を行うことを特徴とする記憶装置。
【請求項１１】
請求項９記載の記憶装置において、
前記バッファ切り替え制御部は、転送データのノイズの有無を検出し、その検出結果に基づいて前記前記入力バッファの切り替え制御を行うことを特徴とする記憶装置。
【請求項１２】
請求項９〜１１のいずれか１項に記載の記憶装置において、
前記出力バッファ、および前記入力バッファは、終端抵抗を設け、
前記終端抵抗は、前記バッファ切り替え制御部の制御信号に基づいて、抵抗値を可変することを特徴とする記憶装置。
【請求項１３】
１つ以上の半導体メモリと、動作プログラムに基づいて前記１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備えた記憶装置であって、
前記情報処理部は、
バッファ設定情報に基づいて、前記情報処理部、前記半導体メモリ、または前記記憶装置を管理する情報処理装置のうち、少なくとも前記情報処理部に設けられた出力バッファの出力電圧、および駆動能力と入力バッファの信号判定レベルとを切り換えるバッファ切り替え制御部を有し、
前記バッファ切り替え制御部が読み出すバッファ設定情報は、前記半導体メモリに格納され、前記バッファ設定情報の変更が可能であることを特徴とする記憶装置。
【請求項１４】
１つ以上の半導体メモリと、動作プログラムに基づいて前記１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備えた記憶装置であって、
前記情報処理部は、
前記半導体メモリの個数をカウントし、そのカウント結果に応じて前記情報処理部、前記半導体メモリ、または前記記憶装置を管理する情報処理装置のうち、少なくとも前記情報処理部に設けられた出力バッファの出力電圧、および駆動能力を切り換えるバッファ切り替え制御部を有したことを特徴とする記憶装置。
【請求項１５】
請求項１３または１４記載の記憶装置において、
前記出力バッファ、および前記入力バッファは、終端抵抗を設け、
前記終端抵抗は、前記バッファ切り替え制御部の制御信号に基づいて、抵抗値を可変することを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置における信頼性の向上技術技術に関し、特に、入出力バッファによるノイズ低減に適用して有効な技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの外部記憶メディアとして、たとえば、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）カード、スマートメディア、メモリスティックやマルチメディアカードなどの情報記憶装置が広く知られている。
【０００３】
情報記憶装置では、ホストに組み込んだ際にデータバス、および制御信号などにカップリングや反射ノイズなど発生してしまうことがある。これらのノイズを低減するには、たとえば、異なるコントローラを設けることによってＩ／Ｏバッファのドライブ能力を変更したり、該情報記憶装置のプリント配線基板にダンピング抵抗を取り付けることなどによって対応しているものがある。
【０００４】
また、出力ドライバの駆動レベルを可変にすることでノイズを低減する技術として、たとえば、実質的に無負荷状態の時の第１の出力電圧（“Ｈ”レベル）および第２の出力電圧（“Ｌ”レベル）を、それぞれ電源相当電圧の絶対値よりも小さい絶対値を持つように制御することにより、トランジスタの駆動能力を自由に選択するもの（たとえば、特許文献１参照）、および出力回路からダミーとして設けた伝送線路を介して伝送されてきたダミー負荷入力信号波形を検出し、その検出結果により出力回路の出力インピーダンスを制御して、駆動する伝送線のインピーダンスにあわせた最適な駆動能力を得るもの（たとえば、特許文献２参照）などがある。
【特許文献１】特開平６−３２６５９１号公報
【特許文献２】特開平１１−１７５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のような情報記憶装置におけるノイズ対策技術では、次のような問題点があることが本発明者により見い出された。
【０００６】
すなわち、組み込むホストなどによってノイズの発生する信号線やノイズ源などが異なる傾向にあり、そのために、個々のホストに個別に対応した情報記憶装置を生産しなければならず、製品品種が多くなって生産管理が複雑となり、該情報記憶装置を生産コストが大きくなってしまうという問題がある。
【０００７】
また、個々のホストに固定的に設置されるような情報記憶装置であれば接続されるホストに応じた対応も可能であるが、ＣＦカード等の情報記憶装置では、複数のホストに接続されることが考えられるため、接続されるホストに応じた対応を取ることは困難であるという問題がある。
【０００８】
本発明の目的は、入出力信号のノイズ状態に合わせて入出力バッファの駆動制御を行うことにより、耐ノイズ性を高めて信頼性を大幅に向上することのできる記憶装置を提供することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１１】
本発明は、１つ以上の半導体メモリと、動作プログラムに基づいて１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備えた記憶装置であって、該情報処理部は、入出力される信号状態に応じて、情報処理部、半導体メモリ、または記憶装置を管理する情報処理装置のうち、少なくとも情報処理部に設けられた出力バッファの出力電圧、および駆動能力と入力バッファの信号判定レベルとを切り換えるバッファ切り替え制御部を有したものである。
【００１２】
また、本願のその他の発明の概要を簡単に示す。
【００１３】
本発明の記憶装置は、１つ以上の半導体メモリと、動作プログラムに基づいて１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備え、該情報処理部は、制御信号に応じて、情報処理部、半導体メモリ、または記憶装置を管理する情報処理装置のうち、少なくとも情報処理部に設けられた出力バッファの出力電圧、および駆動能力と入力バッファの信号判定レベルとを切り換えるバッファ切り替え制御部を有し、該バッファ切り替え制御部に入力される制御信号は、情報処理部の外部から入力される信号よりなるものである。
【００１４】
また、本発明の記憶装置は、１つ以上の半導体メモリと、動作プログラムに基づいて１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備え、該情報処理部は、入出力される信号状態に応じて、情報処理部、半導体メモリ、または記憶装置を管理する情報処理装置のうち、少なくとも情報処理部に設けられた入力バッファの信号判定レベルを切り換えるバッファ切り替え制御部を有し、該バッファ切り替え制御部は、情報処理部、半導体メモリ、または情報処理装置のうち、少なくとも情報処理部に設けられた出力バッファの出力電圧、および駆動能力を外部入力される制御信号に基づいて切り替え制御を行うものである。
【００１５】
さらに、本発明の記憶装置は、１つ以上の半導体メモリと、動作プログラムに基づいて１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備え、情報処理部は、バッファ設定情報に基づいて、情報処理部、半導体メモリ、または記憶装置を管理する情報処理装置のうち、少なくとも情報処理部に設けられた出力バッファの出力電圧、および駆動能力と入力バッファの信号判定レベルとを切り換えるバッファ切り替え制御部を有し、該バッファ切り替え制御部が読み出すバッファ設定情報は、半導体メモリに格納され、バッファ設定情報の変更を可能とするものである。
【００１６】
また、本発明の記憶装置は、１つ以上の半導体メモリと、動作プログラムに基づいて１つ以上の半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部とを備え、該情報処理部は、半導体メモリの個数をカウントし、そのカウント結果に応じて情報処理部、半導体メモリ、または記憶装置を管理する情報処理装置のうち、少なくとも情報処理部に設けられた出力バッファの出力電圧、および駆動能力を切り換えるバッファ切り替え制御部を有したものである。
【発明の効果】
【００１７】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１８】
（１）ノイズ源に関係なく、最適な耐ノイズ性能を有することができるので、記憶装置の信頼性を大幅に向上させることができる。
【００１９】
（２）組み込む情報処理装置毎に対応したノイズ対策などが不要となるので、記憶装置の生産管理が容易となり、生産コストを小さくすることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２１】
（実施の形態１）
図１は、本発明の実施の形態１による情報処理システムのブロック図、図２は、図１の情報処理システムによるＣＲＣデータによってＩ／Ｏバッファを制御する際の一例を示す説明図、図３は、図２の情報処理システムにおけるライトデータ転送の一例を示すフローチャート、図４は、図２の情報処理システムにおけるリードデータ転送の一例を示すフローチャート、図５は、図１の情報処理システムによるＥＣＣデータによってＩ／Ｏバッファを制御する際の一例を示す説明図、図６は、図５の情報処理システムにおけるライトデータ転送の一例を示すフローチャート、図７は、図５の情報処理システムにおけるＩ／Ｏバッファの選択例を示す説明図、図８は、図２の情報処理システムにおけるリードデータ転送の一例を示すフローチャート、図９は、図１の情報処理システムによるＩ／Ｏバッファの信号をモニタして制御する際の一例を示す説明図、図１０は、図９の情報処理システムに設けられたノイズ検出回路の一例を示す回路図、図１１は、図９のノイズ検出回路が立ち下がり信号でリンギングを検出した際のタイミングチャート、図１２は、図９のノイズ検出回路が立ち上がり信号でリンギングを検出した際のタイミングチャート、図１３は、立ち下がり信号でリンギングが発生しなかった際の図９のノイズ検出回路におけるタイミングチャート、図１４は、図９のノイズ検出回路がカップリングノイズを検出した際のタイミングチャート、図１５は、図９のノイズ検出回路がノイズを検出した際のＩ／Ｏバッファの変更テーブルの一例を示す説明図、図１６は、図１の情報処理システムがホストのコマンドによってＩ／Ｏバッファを制御する際の一例を示す説明図、図１７は、図１６の情報処理システムに設けられたコントローラにおける動作処理の一例を示すフローチャート、図１８は、図１６の情報処理システムがパラメータファイルによって出力バッファを設定する際の一例を示した説明図、図１９は、図１６の情報処理システムがパラメータファイルによって入力バッファを設定する際の一例を示した説明図である。
【００２２】
本実施の形態において、情報処理システム１は、図１に示すように、ホスト（情報処理装置）２、および半導体メモリ管理装置（記憶装置）３から構成されている。ホスト２は、パーソナルコンピュータや多機能端末機などの情報処理装置からなる。
【００２３】
半導体メモリ管理装置３は、ホスト２の外部記憶メディアとして用いられるメモリカードからなる。半導体メモリ管理装置３は、コントローラ（情報処理部）４、および半導体メモリ５から構成されている。
【００２４】
半導体メモリ５は、たとえば、フラッシュメモリなどからなる。ここでは、半導体メモリ５が１つ設けられた構成としたが、該半導体メモリ５は複数個であってもよい。
【００２５】
なお、半導体メモリ５は、前述したフラッシュメモリ以外であってもよく、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｒｏｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのデータを記憶できるメモリであれば何でもよい。また、本発明の実施の形態では、コントローラと半導体メモリとを分離しているが、その２つおよび周辺部品を１つにした混載半導体としてもよい。
【００２６】
コントローラ４は、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：入出力）バッファ６，７、Ｉ／Ｏバッファ切り替え部（バッファ切り替え制御部）８、データ転送制御部（バッファ切り替え制御部）９、およびセレクタ（バッファ切り替え制御部）１０，１１などから構成されている。Ｉ／Ｏバッファ６，７は、ホスト２とデータ転送制御部９とのデータのやり取りを制御する。
【００２７】
Ｉ／Ｏバッファ６は、出力バッファ６ａと入力バッファ６ｂとよりなる。Ｉ／Ｏバッファ７は、出力バッファ７ａと入力バッファ７ｂとからなる。
【００２８】
出力バッファ６ａは、低電圧出力バッファ６ａ1 、および高電圧出力バッファ６ａ2 から構成されており、入力バッファ６ｂは、低しきい値電圧入力バッファ６ｂ1 、および高しきい値電圧入力バッファ６ｂ2 から構成されている。
【００２９】
出力バッファ７ａは、低電圧出力バッファ７ａ1 、および高電圧出力バッファ７ａ2 から構成されており、入力バッファ７ｂは、低しきい値電圧入力バッファ７ｂ1 、ならびに高しきい値電圧入力バッファ７ｂ2 から構成されている。
【００３０】
低電圧出力バッファ６ａ1 ，７ａ1 は、たとえば、１．８Ｖ程度（または３．３Ｖ程度）の出力を有するバッファであり、高電圧出力バッファ６ａ2 ，７ａ2 は、たとえば、５Ｖ程度（またはそれ以上）の出力を有するバッファである。
【００３１】
低しきい値電圧入力バッファ６ｂ1 ，７ｂ1 は、たとえば、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）レベル、高しきい値電圧入力バッファ６ｂ2 ，７ｂ2 は、ＴＴＬ（Ｔｒａｎｓｉｓｔｏｒ  Ｔｒａｎｓｉｓｔｏｒ  Ｌｏｇｉｃ）レベルの入力を有しており、ノイズをある程度キャンセルするシュミットトリガの切り替え機能を有している。
【００３２】
ホスト２とＩ／Ｏバッファ６とは、制御信号バスＣＢを介して接続されており、該ホスト２とＩ／Ｏバッファ７とは、データバスＤＢを介して接続されている。同様に、半導体メモリ５とデータ転送制御部９との間には、Ｉ／Ｏバッファ１２，１３（図２）、およびセレクタが設けられている。Ｉ／Ｏバッファ１２，１３と半導体メモリ５とは、内部バスであるデータバスＤＢｍ、および制御信号バスＣＢｍを介して相互に接続されている。
【００３３】
これらＩ／Ｏバッファ１２，１３の構成は、Ｉ／Ｏバッファ６，７と同様に低電圧出力バッファと高電圧出力バッファ、および低しきい値電圧入力バッファと高しきい値電圧入力バッファとからそれぞれ構成されている。また、半導体メモリ５と低しきい値電圧入力バッファ、および高しきい値電圧入力バッファとの間には、セレクタ１０，１１と同様にセレクタがそれぞれ接続されている。
【００３４】
データ転送制御部９は、動作プログラムに基づいて半導体メモリ５に格納されたプログラムやデータなどを読み出し、所定の処理やデータの書き込み動作指示などを行う。また、データ転送制御部９は、データ転送時の誤データを検出し、Ｉ／Ｏバッファ６，７，１２，１３の駆動能力が最適となるように制御を行う。
【００３５】
Ｉ／Ｏバッファ切り替え部８は、データ転送制御部９の制御に基づいて、Ｉ／Ｏバッファ６，７，１２，１３の切り替え信号を生成する。Ｉ／Ｏバッファ切り替え部８からは、出力バッファ切り替え信号（制御信号）Ｓ１，Ｓ２、出力能力切り替え信号（制御信号）Ｓ３，Ｓ４、入力しきい値電圧切り替え信号（制御信号）Ｓ５，Ｓ６、およびシュミット切り替え信号（制御信号）Ｓ７，Ｓ８が出力される。
【００３６】
出力バッファ切り替え信号Ｓ１は、低電圧出力バッファ６ａ1 、または高電圧出力バッファ６ａ2 のいずれをドライブさせるかを選択する。出力バッファ切り替え信号Ｓ２は、低電圧出力バッファ７ａ1 、または高電圧出力バッファ７ａ2 のいずれをドライブさせるかを選択する。
【００３７】
出力能力切り替え信号Ｓ３は、低電圧出力バッファ６ａ1 、および高電圧出力バッファ６ａ2 のドライブ能力を切り換える。出力能力切り替え信号Ｓ４は、低電圧出力バッファ７ａ1 、および高電圧出力バッファ７ａ2 のドライブ能力を切り換える。
【００３８】
入力しきい値電圧切り替え信号Ｓ５は、低しきい値電圧入力バッファ６ｂ1 、または高しきい値電圧入力バッファ６ｂ2 のいずれをドライブさせるかを選択する。入力しきい値電圧切り替え信号Ｓ６は、低しきい値電圧入力バッファ７ｂ1 、あるいは高しきい値電圧入力バッファ７ｂ2 のいずれをドライブさせるかを選択する。
【００３９】
シュミット切り替え信号Ｓ７は、低しきい値電圧入力バッファ６ｂ1 、および高しきい値電圧入力バッファ６ｂ2 におけるシュミットトリガ機能の切り替えを選択する。シュミット切り替え信号Ｓ８は、低しきい値電圧入力バッファ７ｂ1 、ならびに高しきい値電圧入力バッファ７ｂ2 におけるシュミットトリガ機能の切り替えを選択する。
【００４０】
セレクタ１０は、一方の入力が低しきい値電圧入力バッファ６ｂ1 の出力部に接続され、他方の入力部が高しきい値電圧入力バッファ６ｂ2 の出力部に接続されている。このセレクタ１０の出力部は、データ転送制御部９に接続されている。
【００４１】
セレクタ１１は、一方の入力が低しきい値電圧入力バッファ７ｂ1 の出力部に接続されており、他方の入力部が高しきい値電圧入力バッファ７ｂ2 の出力部に接続されている。そして、セレクタ１０の出力部は、データ転送制御部９に接続されている。
【００４２】
セレクタ１０は、Ｉ／Ｏバッファ切り替え部８から出力された入力しきい値電圧切り替え信号Ｓ５に基づいて、低しきい値電圧入力バッファ６ｂ1 の出力信号、または高しきい値電圧入力バッファ６ｂ2 の出力信号を選択して出力する。
【００４３】
セレクタ１１は、Ｉ／Ｏバッファ切り替え部８から出力された入力しきい値電圧切り替え信号Ｓ６に基づいて、低しきい値電圧入力バッファ７ｂ1 の出力信号、または高しきい値電圧入力バッファ７ｂ2 の出力信号を選択して出力する。
【００４４】
次に、本実施の形態における情報処理システム１の作用について説明する。
【００４５】
始めに、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）チェックの結果により、Ｉ／Ｏバッファ６，７，１２，１３を制御する場合の処理について、図２の説明図、および図３、図４のフローチャートを用いて説明する。
【００４６】
この場合、情報処理システム１（図１）において、図２に示すように、ホスト２には、ＣＲＣデータ生成部２ａ、およびＣＲＣデータ比較部２ｂがそれぞれ設けられている。データ転送制御部９には、ＣＲＣデータ生成部９ａ、ＣＲＣデータ比較部９ｂ、およびデータバッファ９ｃがそれそれ備えられている。
【００４７】
ＣＲＣデータ生成部２ａ，９ａは、ＣＲＣデータを生成する。ＣＲＣデータ比較部２ｂ，９ｂは、受け取ったＣＲＣデータと生成されたＣＲＣデータとが一致しているか否かを比較する。半導体メモリ５には、ユーザデータ０〜ｚとともにＣＲＣデータ０〜ｚがそれぞれ格納される。
【００４８】
また、エラーの検出は、ＣＲＣだけでなく、たとえば、パリティチェックなどによる検出であってもよい。
【００４９】
ここで、コントローラ４におけるメモリデータのライト転送処理を図３のフローチャートにより説明する。
【００５０】
まず、ホスト２から、ユーザデータ０のライト転送要求があると（ステップＳ１０１）、コントローラ４は、ホスト２に対してデータ転送可能通知を行う（ステップＳ１０２）。
【００５１】
続いて、コントローラ４は、ホスト２からデータバッファ９ｃに対して、ユーザデータおよびＣＲＣデータの転送が終了したか判定する（ステップＳ１０３）。ステップＳ１０３の処理において、データ転送が終了した際には、ホスト２から転送されたＣＲＣデータとＣＲＣデータ生成部９ａが生成したＣＲＣデータとをＣＲＣデータ比較部９ｂが比較し（ステップＳ１０４）、一致したか否かを確認する（ステップＳ１０５）。
【００５２】
ステップＳ１０５の処理において、ＣＲＣデータが一致した際には、半導体メモリ５に対してユーザデータ０、およびＣＲＣデータを転送する（ステップＳ１０６）。そして、ライト転送が正常に終了したことをホスト２に通知すると（ステップＳ１０７）、コントローラ４は、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ１０８）。
【００５３】
また、ステップＳ１０５の処理において、たとえば、ノイズなどの影響によりＣＲＣデータが一致しない場合、ユーザデータを再転送するか否か（たとえば、ホスト２から再転送の要求があるかなど）を判断する（ステップＳ１０９）。
【００５４】
再転送する場合、コントローラ４は、前述したようにＣＲＣデータが一致しないのはノイズの影響であると判断し、データ転送制御部９がＩ／Ｏバッファ切り替え部８に制御信号を出力し、入力バッファ６ｂ，７ｂをシュミット入力に切り換えて、ノイズをキャンセルする（ステップＳ１１０）。
【００５５】
その後、コントローラ４は、再びホスト２に対してデータ再転送の通知を行い（ステップＳ１１１）、ステップＳ１０３からの処理を実行する。
【００５６】
ステップＳ１０９の処理において、ユーザデータを再転送しない場合には、コントローラ４がホストに対して異常終了を通知し（ステップＳ１１２）、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ１０８）。
【００５７】
次に、コントローラ４によるメモリデータのリード転送処理を図４のフローチャートにより説明する。
【００５８】
まず、ホスト２から、ユーザデータ０のリード転送要求があると（ステップＳ２０１）、コントローラ４は、半導体メモリ５に格納されているユーザデータ０、およびＣＲＣデータ０を読み出し、データバッファ９ｃに格納する（ステップＳ２０２）。
【００５９】
そして、コントローラ４は、半導体メモリ５からリードしたＣＲＣデータ０がＣＲＣデータ生成部９ａが生成したＣＲＣデータと一致したか否かを確認する（ステップＳ２０３）。
【００６０】
一致した際には、コントローラ４がホスト２に対してデータ転送が可能であることを通知し（ステップＳ２０４）、データ転送が終了するとホスト２に対して該データ転送の終了を通知する（ステップＳ２０５）。
【００６１】
その後、ホスト２からの再転送要求があるか否かを判断し（ステップＳ２０６）、再転送要求がない場合、コントローラ４は、リード転送の正常終了をホスト２に通知し（ステップＳ２０７）、コントローラ４が、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ２０８）。
【００６２】
また、ステップＳ２０３の処理において、ノイズなどの影響によりＣＲＣデータが一致しない場合、ホスト２はユーザデータを再転送するか否かを判断する（ステップＳ２０９）。再転送する場合には、データ転送制御部９がＩ／Ｏバッファ切り替え部８に制御信号を出力し、Ｉ／Ｏバッファ１２，１３をシュミット入力に切り換えてノイズをキャンセルする（ステップＳ２１０）。その後、ステップＳ２０２からの処理を実行する。
【００６３】
ステップＳ２０９の処理において、再転送しない場合には、コントローラ４がホスト２に対して異常終了を通知し（ステップＳ２１１）、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ２０８）。
【００６４】
また、ステップＳ２０６の処理において、ホスト２からの再転送要求がある場合、コントローラ４は、ホスト２に転送したデータがノイズなどによって壊れてしまったと判断し、データ転送制御部９がＩ／Ｏバッファ切り替え部８の制御を行い、出力バッファ６ａ，７ａのドライブ能力を下げることによってノイズを低減する（ステップＳ２１２）。
【００６５】
その後、コントローラ４は、ホスト２に対してデータ再転送の通知を行い（ステップＳ２１３）、ステップＳ２０５からの処理を実行する。
【００６６】
図５は、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）チェックの結果により、Ｉ／Ｏバッファ６，７，１２，１３を制御する場合における情報処理システム１（図１）の一例を示す説明図である。
【００６７】
図示すように、ホスト２には、ＥＣＣデータ生成部２ｃ、エラー箇所検出部２ｄ、訂正データ生成部２ｅがそれぞれ設けられている。データ転送制御部９には、ＥＣＣデータ生成部９ｄ、エラー箇所検出部９ｅ、訂正データ生成部９ｆ、およびデータバッファ９ｃがそれそれ備えられている。半導体メモリ５には、ユーザデータ０〜ｚ、およびＥＣＣデータ０〜ｚがそれぞれ格納される。
【００６８】
図６は、ＥＣＣチェックの結果により、Ｉ／Ｏバッファ６，７，１２，１３を制御する場合のコントローラ４によるメモリデータのライト転送処理を示すフローチャートである。
【００６９】
まず、ホスト２から、ユーザデータ０のライト転送要求があると（ステップＳ３０１）、コントローラ４は、ホスト２に対してデータ転送可能通知を行う（ステップＳ３０２）。
【００７０】
その後、ユーザデータおよびＥＣＣデータの転送が終了すると（ステップＳ３０３）、エラー箇所検出部９ｅが転送されたＥＣＣデータを算出し（ステップＳ３０４）、ＥＣＣデータのエラー検出を行う（ステップＳ３０５）。
【００７１】
ＥＣＣデータのエラーが検出された場合、データ転送制御部９は、現在、入力バッファ６ｂ，７ｂがシュミット入力を使用しているか否かをチェックする（ステップＳ３０６）。
【００７２】
シュミット入力を使用している際には、コントローラ４がライト転送の異常終了をホスト２に通知し（ステップＳ３０７）、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ３０８）。
【００７３】
ステップＳ３０６の処理において、シュミット入力を使用していない場合には、同じユーザデータ０でエラー検出が２回以上あるか否かを判断し（ステップＳ３０９）、２回以上ある場合には、ステップＳ３０７の処理を実行する。
【００７４】
エラー検出が２回以上でなければ、エラー箇所検出部９ｅが誤データＸ’を特定するとともに、訂正データ生成部９ｆが訂正データＸを算出する（ステップＳ３１０）。その後、データ転送制御部９は、誤データＸ’、および訂正データＸに基づいて、入力バッファ６ｂ，７ｂの選択を行う（ステップＳ３１１）。
【００７５】
図７は、ステップＳ３１１の処理における入力バッファ６ｂ、７ｂの選択の一例を示す説明図である。
【００７６】
図示するように、誤データＸ’と訂正データＸの反転データである反転訂正データ／Ｘとの論理積、および訂正データＸと誤データＸ’の反転データである反転誤データ／Ｘ’との論理積をそれぞれとった結果から入力バッファ６ｂ、７ｂの選択するバッファを決定する。
【００７７】
たとえば、誤データＸ’と反転訂正データ／Ｘとの論理積が’１’となり、訂正データＸと反転誤データ／Ｘ’との論理積が’０’以外の場合には、Ｈｉレベル側にノイズが乗ったと判断し、データ転送制御部９は、入力バッファ６ｂ、７ｂにおける高しきい値電圧入力バッファ６ｂ2 ，７ｂ2 をそれぞれ選択する。
【００７８】
また、誤データＸ’と反転訂正データ／Ｘとの論理積が’０’以外となり、訂正データＸと反転誤データ／Ｘ’との論理積が’０’の場合には、Ｌｏレベル（基準電位）側にノイズが乗ったと判断し、データ転送制御部９は、低しきい値電圧入力バッファ６ｂ1 ，７ｂ1 をそれぞれ選択する。
【００７９】
さらに、誤データＸ’と反転訂正データ／Ｘとの論理積、および訂正データＸと反転誤データ／Ｘ’との論理積がいずれも’０’以外となる場合には、ＨｉレベルとＬｏレベルとにノイズが混在すると判断し、データ転送制御部９は、入力バッファ６ｂ、７ｂをシュミット入力に切り換える。以上のように、入力バッファ６ｂ、７ｂの選択を行った後、コントローラ４は、ホスト２に対してデータの再転送通知を行う（ステップＳ３１２）。
【００８０】
さらに、ステップＳ３０５の処理において、ＥＣＣデータのエラーが検出されない場合、コントローラ４は、半導体メモリ５にユーザデータ０、およびＥＣＣデータ０を転送する（ステップＳ３１３）。
【００８１】
データの転送終了後、コントローラ４は、ホスト２に対してライト転送が正常終了したことを通知し（ステップＳ３１４）、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ３０８）。
【００８２】
図８は、ＥＣＣチェックの結果により、Ｉ／Ｏバッファ６，７，１２，１３を制御する場合のコントローラ４によるメモリデータのリード転送処理を示すフローチャートである。
【００８３】
まず、ホスト２から、ユーザデータ０のリード転送要求があると（ステップＳ４０１）、コントローラ４は、半導体メモリ５に格納されているユーザデータ０、およびＥＣＣデータ０を読み出し、データバッファ９ｃに格納する（ステップＳ４０２）。
【００８４】
続いて、エラー箇所検出部９ｅが、半導体メモリ５からリードしたＥＣＣデータ０を算出し（ステップＳ４０３）、ＥＣＣデータのエラー検出を行う（ステップＳ４０４）。
【００８５】
エラーが検出されない場合には、コントローラ４がホスト２に対してデータ転送が可能であることを通知する（ステップＳ４０５）。その後、データ転送が終了（ステップＳ４０６）すると、コントローラ４は、ホスト２からの再転送要求があるか否かを判断する（ステップＳ４０７）。
【００８６】
再転送要求がない場合、コントローラ４は、ホスト２に対してデータ転送の終了を通知し（ステップＳ４０８）、コントローラ４が、ホスト２からの次のコマンド処理待ち状態となる（ステップＳ４０９）。
【００８７】
また、ステップＳ４０４の処理において、エラーが検出された場合、データ転送制御部９は、現在、入力バッファ６ｂ，７ｂがシュミット入力を使用しているか否かをチェックする（ステップＳ４１０）。
【００８８】
シュミット入力を使用している際には、ノイズのキャンセルができないと判断し、コントローラ４がリード転送の異常終了をホスト２に通知した後（ステップＳ４１１）、ステップＳ４０９の処理を行う。
【００８９】
ステップＳ４１０の処理において、シュミット入力を使用していない場合には、同じユーザデータ０でエラー検出が２回以上あるか否かを判断し（ステップＳ４１２）、２回以上ある場合には、ステップＳ４１１の処理を実行する。
【００９０】
エラー検出が２回以上でなければ、エラー箇所検出部９ｅが誤データＸ’を特定するとともに、訂正データ生成部９ｆが訂正データＸを算出する（ステップＳ４１３）。その後、データ転送制御部９は、誤データＸ’、および訂正データＸに基づいて、入力バッファ６ｂ，７ｂの選択（図６）を行い（ステップＳ４１４）、ステップＳ４０２の処理を実行する。
【００９１】
さらに、ステップＳ４０７の処理において、ホスト２から再転送要求があった場合、コントローラ４は、ホスト２に転送したデータがノイズなどによって壊れてしまったと判断し、データ転送制御部９がＩ／Ｏバッファ切り替え部８の制御を行い、出力バッファ６ａ，７ａのドライブ能力を下げることによってノイズを低減する（ステップＳ４１５）。
【００９２】
その後、コントローラ４は、ホスト２に対してデータ再転送の通知を行い（ステップＳ４１６）、ステップＳ４０６からの処理を実行する。
【００９３】
図９は、Ｉ／Ｏバッファ６，７，１２，１３の信号をモニタし、その結果によって該バッファ６，７，１２，１３を制御する情報処理システム１（図１）の一例を示す説明図である。
【００９４】
この場合、情報処理システム１において、データ転送制御部９にはノイズ検出回路（ノイズ検出部）９ｇが設けられている。ノイズ検出回路９ｇは、図１０に示すように、クロックドラッチ１４〜１６、排他的論理和回路１７、および論理積回路１８から構成されている。
【００９５】
クロックドラッチ１４〜１６のクロック端子には、クロック信号ＣＬＫがそれぞれ入力されるように接続されている。クロックドラッチ１４のデータ端子Ｄには、Ｉ／Ｏバッファからの信号が入力されるように接続されている。
【００９６】
クロックドラッチ１４の出力端子Ｑには、クロックドラッチ１５のデータ端子Ｄ、および排他的論理和回路１７の他方の入力部がそれぞれ接続されている。クロックドラッチ１５の出力端子Ｑには、排他的論理和回路１７の一方の入力部が接続されている。
【００９７】
クロックドラッチ１５のデータ端子Ｄは、同期化Ｉ／Ｏバッファ信号ＳＩＧ２としてデータ転送制御部９に出力される。この同期化Ｉ／Ｏバッファ信号ＳＩＧ２は、Ｌｏレベルのノイズを検出したか、あるいはＨｉレベルのノイズを検出したかを判別する。
【００９８】
また、排他的論理和回路１７の出力部には、クロックドラッチ１６のデータ端子Ｄ、および論理積回路１８の一方の入力部がそれぞれ接続されている。クロックドラッチ１６の出力端子Ｑには、論理積回路１８の他方の入力部が接続されており、該論理積回路１８の出力部から出力される信号が、信号のノイズを検出した際に出力される信号ノイズ発生検知信号ＳＩＧ５としてＩ／Ｏバッファ切り替え部７に出力される。
【００９９】
次に、図１１〜図１４のタイミングチャートを用いて、ノイズ検出回路９ｇにおけるノイズ検出動作を説明する。
【０１００】
図１１〜図１４においては、上方から下方にかけて、Ｉ／Ｏバッファから出力されるバッファ信号ＳＩＧ０、クロック信号ＣＬＫ、クロックドラッチ１４の出力端子Ｑから出力される信号ＳＩＧ１、同期化Ｉ／Ｏバッファ信号ＳＩＧ２、排他的論理和回路１７から出力される信号ＳＩＧ３、クロックドラッチ１６の出力端子Ｑから出力される信号ＳＩＧ４、および信号ノイズ発生検知信号ＳＩＧ５の信号タイミングをそれぞれ示している。
【０１０１】
図１１は、ノイズ検出回路９ｇがバッファ信号ＳＩＧ０の立ち下がりで発生したリンギングを検出する際のタイミングチャートである。
【０１０２】
まず、バッファ信号ＳＩＧ０がＨｉレベルからＬｏレベルに遷移した際にリンギングが発生すると、クロック信号ＣＬＫに同期した信号ＳＩＧ１がクロックドラッチ１４から出力される。
【０１０３】
クロックドラッチ１５によって信号ＳＩＧ１を再びクロック信号ＣＬＫに同期させて同期化Ｉ／Ｏバッファ信号ＳＩＧ２を生成する。これによって、リンギングから１クロック遅延した同期信号を生成する。
【０１０４】
排他的論理和回路１７によって信号ＳＩＧ１と同期化Ｉ／Ｏバッファ信号ＳＩＧ２との排他的論理和をとって信号ＳＩＧ３を出力し、信号変化を検出する。その後、クロックドラッチ１６によって信号ＳＩＧ３をクロック信号ＣＬＫに同期させることによって、信号ＳＩＧ３を１クロック遅延した同期信号である信号ＳＩＧ４を生成する。
【０１０５】
そして、論理積回路１８によって信号ＳＩＧ３と信号ＳＩＧ４との論理積を取ることにより、該論理積回路１８から出力される信号ノイズ発生検知信号ＳＩＧ５がＬｏレベルからＨｉレベルに遷移し、ノイズが発生したことを検知する。
【０１０６】
図１２は、ノイズ検出回路９ｇがバッファ信号ＳＩＧ０の立ち上がりで発生したリンギングを検出する際のタイミングチャートである。
【０１０７】
まず、バッファ信号ＳＩＧ０がＬｏレベルからＨｉレベルに遷移した際にリンギングが発生すると、クロック信号ＣＬＫに同期した信号ＳＩＧ１がクロックドラッチ１４から出力される。
【０１０８】
その後、信号ＳＩＧ１は、クロックドラッチ１５によって１クロック遅延した同期信号である同期化Ｉ／Ｏバッファ信号ＳＩＧ２として出力される。
【０１０９】
排他的論理和回路１７は、信号ＳＩＧ１と同期化Ｉ／Ｏバッファ信号ＳＩＧ２との排他的論理和をとって信号ＳＩＧ３を出力し、信号変化を検出する。
【０１１０】
クロックドラッチ１６は、信号ＳＩＧ３をクロック信号ＣＬＫに同期させることによって、信号ＳＩＧ３を１クロック遅延した同期信号である信号ＳＩＧ４を生成する。論理積回路１８は、信号ＳＩＧ３と信号ＳＩＧ４との論理積を取ることにより、該論理積回路１８から出力される信号ノイズ発生検知信号ＳＩＧ５がＬｏレベルからＨｉレベルに遷移し、ノイズが発生したことを検知する。
【０１１１】
図１３は、バッファ信号ＳＩＧ０のＨｉレベルからＬｏレベルに遷移した際にリンギングなどのノイズが発生しなかった場合のタイミングチャートである。
【０１１２】
バッファ信号ＳＩＧ０がＨｉレベルからＬｏレベルに遷移すると。それに同期してクロックドラッチ１４から信号ＳＩＧ１が出力される。
【０１１３】
信号ＳＩＧ１は、クロックドラッチ１５によって１クロック遅延した同期信号である同期化Ｉ／Ｏバッファ信号ＳＩＧ２が生成される。排他的論理和回路１７は、信号ＳＩＧ１と同期化Ｉ／Ｏバッファ信号ＳＩＧ２との排他的論理和をとって信号ＳＩＧ３を出力する。
【０１１４】
また、クロックドラッチ１６は、信号ＳＩＧ３をクロック信号ＣＬＫに同期させることによって、信号ＳＩＧ３を１クロック遅延した同期信号である信号ＳＩＧ４を生成する。論理積回路１８は、信号ＳＩＧ３と信号ＳＩＧ４との論理積を取る。
【０１１５】
ここでは、信号ＳＩＧ３と信号ＳＩＧ４とが同時にＨｉレベルとなる期間がないので、論理積回路１８からは、Ｌｏレベルのまま遷移しない信号ノイズ発生検知信号ＳＩＧ５が出力される。よって、バッファ信号ＳＩＧ０のノイズは検出されないことになる。
【０１１６】
図１４は、ノイズ検出回路９ｇがバッファ信号ＳＩＧ０のカップリングノイズを検出する際のタイミングチャートである。
【０１１７】
Ｌｏレベルのバッファ信号ＳＩＧ０にカップリングノイズが発生すると、クロック信号ＣＬＫに同期して信号ＳＩＧ１がクロックドラッチ１４から出力される。その後、信号ＳＩＧ１は、クロックドラッチ１５が１クロック遅延した同期信号である同期化Ｉ／Ｏバッファ信号ＳＩＧ２を生成し、排他的論理和回路１７が、信号ＳＩＧ１と同期化Ｉ／Ｏバッファ信号ＳＩＧ２との排他的論理和をとって信号ＳＩＧ３を出力し、信号変化を検出する。
【０１１８】
そして、クロックドラッチ１６によって信号ＳＩＧ３をクロック信号ＣＬＫに同期させることによって信号ＳＩＧ４を生成し、論理積回路１８が、信号ＳＩＧ３と信号ＳＩＧ４との論理積を取ることにより、該論理積回路１８から出力される信号ノイズ発生検知信号ＳＩＧ５がＬｏレベルからＨｉレベルに遷移し、ノイズが発生したことを検知する。
【０１１９】
図１５は、データ転送制御部９が切り替え制御するＩ／Ｏバッファ６，７，１２，１３の変更テーブルの一例を示す説明図である。
【０１２０】
データ転送制御部９は、信号ノイズ発生検知信号ＳＩＧ５に基づいてＩ／Ｏバッファ６，７，１２，１３の変更を行う。たとえば、信号ノイズ発生検知信号ＳＩＧ５が’０’（Ｌｏレベル）の場合には、ノイズが発生していないのでＩ／Ｏバッファ６，７，１２，１３の変更は行わない。
【０１２１】
また、信号ノイズ発生検知信号ＳＩＧ５が’１’（Ｈｉレベル）の場合には、ノイズが発生していると判断する。この時、Ｉ／Ｏバッファ６，７，１２，１３において、現在通常入力を選択しているのであれば、入力バッファ６ｂ，７ｂをシュミット入力のバッファを使用するように選択する。そして、シュミット入力の選択してもノイズが発生する場合には、出力バッファ６ａ，６ｂを低電圧出力バッファ６ａ1 ，７ａ1 に切り替える制御を行う。
【０１２２】
さらに、信号ノイズ発生検知信号ＳＩＧ５が’１’の際に、入力バッファ６ｂ，７ｂが現在シュミット入力を使用しているのであれば、低しきい値電圧入力バッファ６ｂ1 ，７ｂ1 を使用するように切り替える制御を行う。
【０１２３】
図１６は、ホスト２のコマンドによってＩ／Ｏバッファ６，７，１２，１３を制御する情報処理システム１の一例を示す説明図である。
【０１２４】
この場合、情報処理システム１（図１）において、半導体メモリ５には、ユーザデータとともに、Ｉ／Ｏバッファ６，７，１２，１３の設定を行うパラメータファイル（バッファ設定情報）ＰＦが格納される。
【０１２５】
図１６のコントローラ４における動作処理を図１７のフローチャートを用いて説明する。
【０１２６】
まず、電源がＯＮとなると（ステップＳ５０１）、リセット処理中にコントローラ４はパラメータファイルＰＦを読み出す（ステップＳ５０２）。ここで、パラメータファイルＰＦを読み出すのではなく、リセット処理中にコントローラ４が該パラメータファイルＰＦの代わりとなるデフォルトのデータを作成するようにしてもよい。
【０１２７】
パラメータファイルＰＦの読み出しが終了すると、ホスト２にコマンドの受け付け可能状態となったことを通知する（ステップＳ５０３）。そして、ホスト２からＩ／Ｏバッファの変更要求のコマンドがあると（ステップＳ５０４）、コントローラ４は、その変更要求のコマンドに従ってＩ／Ｏバッファ機能を変更する（ステップＳ５０５）。
【０１２８】
図１８は、パラメータファイルＰＦによる出力バッファ６ａ，７ａの設定例を示した説明図であり、図１９は、パラメータファイルＰＦによる入力バッファ６ｂ，７ｂの設定例を示した説明である。
【０１２９】
図示するように、パラメータファイルＰＦによって、出力バッファ６ａ，７ａにおけるＮＭＯＳ側トランジスタのドライブ能力、ＰＭＯＳ側トランジスタのドライブ能力、および出力電圧がそれぞれ変更可能となる。
【０１３０】
また、入力バッファ６ｂ，７ｂでは、パラメータファイルＰＦによって、低しきい値電圧入力バッファ６ｂ1 ，７ｂ1 、高しきい値電圧入力バッファ６ｂ2 ，７ｂ2 、およびシュミット入力の切り替えをそれぞれ設定することができる。
【０１３１】
その後、ホスト２からＩ／Ｏバッファ機能の変更を保存する要求があるか否かを判断し（ステップＳ５０６）、保存要求がある場合には、そのパラメータファイルＰＦを半導体メモリ５に保存する（ステップＳ５０７）。
【０１３２】
ステップＳ５０６の処理で保存要求がある場合、またはステップＳ５０７の処理後、コントローラ４は、バッファ機能変更の終了をホスト２に通知し（ステップＳ５０８）、ステップＳ５０４の処理に戻る。
【０１３３】
それにより、本実施の形態１によれば、ノイズの状態を検出し、Ｉ／Ｏバッファ６，７，１２，１３の特性をそのノイズ特性に見合うように制御することができるので、良好な耐ノイズ特性を有した半導体メモリ管理装置３を実現することができる。
【０１３４】
また、組み込むホスト２に関係なく、耐ノイズ性を大幅に向上することができるので、該ホスト２に応じたノイズ対策仕様の半導体メモリ管理装置の作成が不要となり、生産管理コストなどを大幅に低減することができる。
【０１３５】
（実施の形態２）
図２０は、本発明の実施の形態２による情報処理システムのブロック図、図２１は、図２０の情報処理システムに設けられたコントローラの動作処理を示すフローチャート、図２２は、図２０の情報処理システムに設けられた電源電圧監視部よるＩ／Ｏバッファ選択の一例を示す説明図である。
【０１３６】
本実施の形態２において、情報処理システム１（図１）は、ホスト２、および半導体メモリ管理装置３から構成されている。また、半導体メモリ管理装置３は、図２０に示すようにコントローラ４、および半導体メモリ５から構成されている。
【０１３７】
コントローラ４は、前記実施の形態１と同様に、Ｉ／Ｏバッファ６，７、Ｉ／Ｏバッファ切り替え部８、データ転送制御部９、およびセレクタ１０，１１（図１）などから構成されており、該コントローラ４には電源電圧監視部４ａが新たに設けられている。
【０１３８】
この電源電圧監視部４ａは、電源電圧ＶＣＣの電圧レベルと判定電圧とを比較し、その比較結果に基づいてＩ／Ｏバッファ切り替え部８に制御信号を出力し、Ｉ／Ｏバッファ６，７，１２，１３を制御する。
【０１３９】
本実施の形態２におけるコントローラ４の動作を図２１のフローチャートを用いて説明する。
【０１４０】
まず、電源がＯＮとなると（ステップＳ６０１）、電源電圧監視部４ａが電源電圧ＶＣＣの電圧レベルをチェックする（ステップＳ６０２）。そして、電源電圧監視部４ａは、チェック結果に基づいてＩ／Ｏバッファ切り替え部８に制御信号を出力し、Ｉ／Ｏバッファ６，７，１２，１３の設定制御を行う（ステップＳ６０３）。
【０１４１】
図２２は、電源電圧監視部４ａによるＩ／Ｏバッファ選択の一例を示す説明図である。
【０１４２】
電源電圧ＶＣＣが判定電圧よりも低い場合には、電源電圧監視部４ａが高しきい値電圧入力バッファ６ｂ2 ，７ｂ2 （図１）、ならびに高電圧出力バッファ６ａ2 ，７ａ2 （図１）をそれぞれ選択する。
【０１４３】
また、電源電圧ＶＣＣが判定電圧以上の場合には、電源電圧監視部４ａが低しきい値電圧入力バッファ６ｂ1 ，７ｂ1 （図１）、および低電圧出力バッファ６ａ1，７ａ1 （図１）をそれぞれ選択する。
【０１４４】
電源電圧監視部４ａがＩ／Ｏバッファ６，７，１２，１３の設定制御を行った後、図２１において、コントローラ４によってその他のリセット処理が実行される（ステップＳ６０４）。その後、コントローラ４は、ホスト２にリセット処理終了を通知する（ステップＳ６０５）。
【０１４５】
リセット処理終了後においても、電源電圧監視部４ａは、電源電圧ＶＣＣの電圧レベルを監視し、該電源電圧ＶＣＣが判定電圧よりも低くなった場合（ステップＳ６０６）、あるいは電源電圧ＶＣＣが判定電圧よりも高くなった場合には（ステップＳ６０７）、ステップＳ６０４の処理が実行される。
【０１４６】
それにより、本実施の形態２によれば、電源電圧ＶＣＣの電圧レベルに応じてＩ／Ｏバッファ６，７，１２，１３の特性を自動的に切り換えることが可能となり、ノイズなどの影響を低減することができる。
【０１４７】
また、Ｉ／Ｏバッファ６，７，１２，１３の特性は、電源電圧ＶＣＣの電圧レベルに応じて切り換えるのではなく、たとえば、図２３に示すように、半導体メモリ管理装置３に搭載される半導体メモリ５の個数によって決定するようにしてもよい。
【０１４８】
この場合、データ転送制御部９には、メモリカウント部４ｂが設けられている。このメモリカウント部４ｂは、コントローラ４に接続された半導体メモリ５の個数をカウントし、そのカウント結果に基づいてＩ／Ｏバッファ切り替え部８に制御信号を出力する。
【０１４９】
データ転送制御部９にメモリカウント部４ｂが設けられたコントローラ４の動作について、図２４のフローチャートを用いて説明する。
【０１５０】
まず、電源がＯＮされると（ステップＳ７０１）、メモリカウント部４ｂは、接続されている半導体メモリ５の個数をカウントし（ステップＳ７０２）、そのカウント結果に基づいて、Ｉ／Ｏバッファ切り替え部８に制御信号を出力する（ステップＳ７０３）。
【０１５１】
図２５は、メモリカウント部４ｂによる出力バッファ６ａ，７ａの出力能力の切り替え例を示す説明図である。メモリカウント部４ｂは、たとえば、半導体メモリ５が１個〜ａ個までの場合、出力バッファ６ａ，７ａの出力能力が４ｍＡ程度、半導体メモリ５がａ個〜ｂ個までの場合、出力バッファ６ａ，７ａの出力能力が８ｍＡ程度、そして、半導体メモリ５がｂ個以上の場合、出力バッファ６ａ，７ａの出力能力が１２ｍＡ程度となるように制御を行う。
【０１５２】
続いて、図２４において、コントローラ４が、その他のリセット処理を実行した後（ステップＳ７０４）、該コントローラ４は、ホスト２にリセット処理終了を通知する（ステップＳ７０５）。
【０１５３】
それにより、半導体メモリ５の接続個数によって出力バッファ６ａ，７ａの出力能力が最適となるように制御することができるので、半導体メモリ管理装置３の耐ノイズ性を向上させることができる。
【０１５４】
さらに、Ｉ／Ｏバッファ６，７，１２，１３の特性は、たとえば、図２６に示すように、ジャンパスイッチやボンディングオプションなどによって、コントローラ４の外部端子を介して制御信号を入力し、その制御信号に基づいてＩ／Ｏバッファ切り替え部８が切り替えを行ったり、あるいは、図２７に示すように、コントローラ４の外部端子を介してホスト２から直接制御信号を入力し、その制御信号に基づいてＩ／Ｏバッファ切り替え部８が切り替えを行う構成としてもよい。
【０１５５】
（実施の形態３）
図２８は、本発明の実施の形態３による情報処理システムの一例を示すブロック図、図２９は、図２８の情報処理システムにおける他の例を示すブロック図、図３０は、図２８の情報処理システムにおける終端抵抗の変換テーブルの一例を示す説明図である。
【０１５６】
本実施の形態３において、情報処理システム１（図１）は、ホスト２、および半導体メモリ管理装置３から構成されている。また、半導体メモリ管理装置３は、図２８に示すように、コントローラ４、および半導体メモリ５から構成されており、終端抵抗１９〜２１が新たに設けられた構成となっている。
【０１５７】
終端抵抗１９は、出力バッファ６ａの出力部に接続されており、終端抵抗２０は、入力バッファ６ｂの入力部に接続されている、また、出力バッファ７ａ、および入力バッファ７ｂの入出力部には、終端抵抗２１が接続されている。
【０１５８】
終端抵抗１９〜２１は、電源電圧ＶＣＣと基準電位ＶＳＳとの間に２つ（１対）のＭＯＳトランジスタが直列接続された構成からなり、それら２つのトランジスタの接続部が出力バッファ６ａ、入力バッファ６ｂ、出力バッファ７ａ、および入力バッファ７ｂにそれぞれ接続されている。各々のトランジスタのゲートは、Ｉ／Ｏバッファ切り替え部８に接続されている。
【０１５９】
また、半導体メモリ５とデータ転送制御部９との間に設けられたＩ／Ｏバッファ１２，１３（図２）においても、同様に終端抵抗がそれぞれ設けられている。
【０１６０】
Ｉ／Ｏバッファ切り替え部８は、終端抵抗１９〜２１を構成するトランジスタのゲートに対して、基準電位ＶＳＳレベル、電源電圧ＶＣＣレベル、またはその中間レベルの電圧を与えることによって該トランジスタのＯＮ抵抗をそれぞれ変えることによって、終端抵抗値を制御する。
【０１６１】
よって、終端抵抗１９〜２１は、言い換えると、ダイナミックに抵抗値を可変することができるＭＯＳ抵抗であるといえる。これら終端抵抗１９〜２１は、基準電位ＶＳＳに接続しているＭＯＳ抵抗、電源電圧ＶＣＣ側に接続されているＭＯＳ抵抗を別々に制御することも可能であり、かつ抵抗値も可変にできるため、終端抵抗として使うのではなくプルアップ抵抗、プルダウン抵抗としても使うことができる。
【０１６２】
また、終端抵抗１９〜２１は、たとえば、図２９に示すように、４つ以上のトランジスタによって構成するようにしてもよい。図２８では、電源電圧ＶＣＣと基準電位ＶＳＳとの間に２つ（１対）のＭＯＳトランジスタが直列接続された構成であったが、４つ（２対）またはそれ以上のトランジスタを電源電圧ＶＣＣと基準電位ＶＳＳとの間に直列接続するようにしてもよい。
【０１６３】
この場合、対となるトランジスタのＯＮ抵抗を変えることによって、複数のＭＯＳ抵抗を生成することが可能となり、各トランジスタに印加するゲート端子に中間電圧を印加する必要が無くなる。
【０１６４】
それによって、中間電圧を発生させるためのアナログ回路などが不要となり、デジタル回路のみでコントローラ４を構成することが可能となり、該コントローラ４を低コスト化することができる。
【０１６５】
これら図２８、図２９で示した終端抵抗１９〜２１は、たとえば、図２のＣＲＣデータによる制御、図５のＥＣＣデータによる制御、図９のノイズ検出による制御、図１６のホスト２からのコマンドによる制御、図２３のメモリの接続個数による制御、および図２６、図２７による外部端子を介した制御などの各制御方式に適用可能である。
【０１６６】
図３０は、図９で示したノイズ検出回路９ｇを備えた半導体メモリ管理装置３に終端抵抗１９〜２１を適用した際の設定例を示す変換テーブルである。
【０１６７】
ノイズ検出回路９ｇがノイズを検出した際、すなわち、信号ノイズ発生検知信号ＳＩＧ５が’１’になった時、終端抵抗１９〜２１を有効にさせる。図３０では、有効／無効のみを設定するようになっているが、たとえば、バッファ信号をモニタし、終端抵抗値を高抵抗値から徐々に低抵抗値に変えて、最適な終端抵抗値となるよう調整する回路でもかまわない。
【０１６８】
それにより、本実施の形態３によれば、信号の状態に応じて終端抵抗値を可変することによってノイズを効率よく低減することが可能となり、半導体メモリ管理装置３の耐ノイズ性を向上させることができる。
【０１６９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１７０】
本発明のＩ／Ｏバッファの駆動制御技術は、記憶装置における耐ノイズ性の向上技術に適している。
【図面の簡単な説明】
【０１７１】
【図１】本発明の実施の形態１による情報処理システムのブロック図である。
【図２】図１の情報処理システムによるＣＲＣデータによってＩ／Ｏバッファを制御する際の一例を示す説明図である。
【図３】図２の情報処理システムにおけるライトデータ転送の一例を示すフローチャートである。
【図４】図２の情報処理システムにおけるリードデータ転送の一例を示すフローチャートである。
【図５】図１の情報処理システムによるＥＣＣデータによってＩ／Ｏバッファを制御する際の一例を示す説明図である。
【図６】図５の情報処理システムにおけるライトデータ転送の一例を示すフローチャートである。
【図７】図５の情報処理システムにおけるＩ／Ｏバッファの選択例を示す説明図である。
【図８】図２の情報処理システムにおけるリードデータ転送の一例を示すフローチャートである。
【図９】図１の情報処理システムによるＩ／Ｏバッファの信号をモニタして制御する際の一例を示す説明図である。
【図１０】図９の情報処理システムに設けられたノイズ検出回路の一例を示す回路図である。
【図１１】図９のノイズ検出回路が立ち下がり信号でリンギングを検出した際のタイミングチャートである。
【図１２】図９のノイズ検出回路が立ち上がり信号でリンギングを検出した際のタイミングチャートである。
【図１３】立ち下がり信号でリンギングが発生しなかった際の図９のノイズ検出回路におけるタイミングチャートである。
【図１４】図９のノイズ検出回路がカップリングノイズを検出した際のタイミングチャートである。
【図１５】図９のノイズ検出回路がノイズを検出した際のＩ／Ｏバッファの変更テーブルの一例を示す説明図である。
【図１６】図１の情報処理システムがホストのコマンドによってＩ／Ｏバッファを制御する際の一例を示す説明図である。
【図１７】図１６の情報処理システムに設けられたコントローラにおける動作処理の一例を示すフローチャートである。
【図１８】図１６の情報処理システムがパラメータファイルによって出力バッファを設定する際の一例を示した説明図である。
【図１９】図１６の情報処理システムがパラメータファイルによって入力バッファを設定する際の一例を示した説明図である。
【図２０】本発明の実施の形態２による情報処理システムのブロック図である。
【図２１】図２０の情報処理システムに設けられたコントローラの動作処理を示すフローチャートである。
【図２２】図２０の情報処理システムに設けられた電源電圧監視部よるＩ／Ｏバッファ選択の一例を示す説明図である。
【図２３】本発明の他の実施の形態による情報処理システムよって半導体メモリによってＩ／Ｏバッファを制御する際の一例を示す説明図である。
【図２４】図２３の情報処理システムに設けられたコントローラにおける動作処理の一例を示すフローチャートである。
【図２５】図２３のコントローラに設けられたメモリカウント部による出力バッファの出力能力の切り替え例を示す説明図である。
【図２６】本発明の他の実施の形態による情報処理システムにおけるＩ／Ｏバッファを制御する際の一例を示す説明図である。
【図２７】本発明の他の実施の形態による情報処理システムにおけるＩ／Ｏバッファを制御する際の他の例を示す説明図である。
【図２８】本発明の実施の形態３による情報処理システムの一例を示すブロック図である。
【図２９】本発明の実施の形態３による情報処理システムの他の例を示すブロック図である。
【図３０】図２８の情報処理システムにおける終端抵抗の変換テーブルの一例を示す説明図である。
【符号の説明】
【０１７２】
１  情報処理システム
２  ホスト（情報処理装置）
２ａ  ＣＲＣデータ生成部
２ｂ  ＣＲＣデータ比較部
２ｃ  ＥＣＣデータ生成部
２ｄ  エラー箇所検出部
２ｅ  訂正データ生成部
３  半導体メモリ管理装置（記憶装置）
４  コントローラ（情報処理部）
４ａ  電源電圧監視部
４ｂ  メモリカウント部
５  半導体メモリ
６  Ｉ／Ｏバッファ
６ａ  出力バッファ
６ａ1   低電圧出力バッファ
６ａ2   高電圧出力バッファ
６ｂ  入力バッファ
６ｂ1   低しきい値電圧入力バッファ
６ｂ2   高しきい値電圧入力バッファ
７  Ｉ／Ｏバッファ
７ａ  出力バッファ
７ａ1   低電圧出力バッファ
７ａ2   高電圧出力バッファ
７ｂ  入力バッファ
７ｂ1   低しきい値電圧入力バッファ
７ｂ2   高しきい値電圧入力バッファ
８  Ｉ／Ｏバッファ切り替え部（バッファ切り替え制御部）
９  データ転送制御部（バッファ切り替え制御部）
９ａ  ＣＲＣデータ生成部
９ｂ  ＣＲＣデータ比較部
９ｃ  データバッファ
９ｄ  ＥＣＣデータ生成部
９ｅ  エラー箇所検出部
９ｆ  訂正データ生成部
９ｇ  ノイズ検出回路（ノイズ検出部）
１０，１１  セレクタ（バッファ切り替え制御部）
１２，１３  Ｉ／Ｏバッファ
１４〜１６  クロックドラッチ
１７  排他的論理和回路
１８  論理積回路
１９〜２１  終端抵抗
ＣＢ  制御信号バス
ＤＢ  データバス
ＤＢｍ  データバス
ＣＢｍ  制御信号バス
Ｓ１，Ｓ２  出力バッファ切り替え信号（制御信号）
Ｓ３，Ｓ４  出力能力切り替え信号（制御信号）
Ｓ５，Ｓ６  入力しきい値電圧切り替え信号（制御信号）
Ｓ７，Ｓ８  シュミット切り替え信号（制御信号）
ＰＦ  パラメータファイル（バッファ設定情報）
【図１】
2005234976.tif 000003
【図２】
2005234976.tif 000004
【図３】
2005234976.tif 000005
【図４】
2005234976.tif 000006
【図５】
2005234976.tif 000007
【図６】
2005234976.tif 000008
【図７】
2005234976.tif 000009
【図８】
2005234976.tif 000010
【図９】
2005234976.tif 000011
【図１０】
2005234976.tif 000012
【図１１】
2005234976.tif 000013
【図１２】
2005234976.tif 000014
【図１３】
2005234976.tif 000015
【図１４】
2005234976.tif 000016
【図１５】
2005234976.tif 000017
【図１６】
2005234976.tif 000018
【図１７】
2005234976.tif 000019
【図１８】
2005234976.tif 000020
【図１９】
2005234976.tif 000021
【図２０】
2005234976.tif 000022
【図２１】
2005234976.tif 000023
【図２２】
2005234976.tif 000024
【図２３】
2005234976.tif 000025
【図２４】
2005234976.tif 000026
【図２５】
2005234976.tif 000027
【図２６】
2005234976.tif 000028
【図２７】
2005234976.tif 000029
【図２８】
2005234976.tif 000030
【図２９】
2005234976.tif 000031
【図３０】
2005234976.tif 000032