(57)【要約】【課題】半導体ディスク制御装置を提供する。【解決手段】第１のポートと、複数のチャネルを有する第２のポートと、ＣＰＵバスに連結された中央処理装置と、第２のポートから第１のポートへ又は第１のポートから第２のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、ＣＰＵバスに連結され、中央処理装置の制御に応じてバッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御／仲裁ブロックと、第１のポートとバッファ制御／仲裁ブロックとの間に連結され、ＣＰＵバスを使用せずにバッファメモリに貯蔵される／から読み取られたデータを伝送するように構成された第１のデータ伝送ブロックと、第２のポートとバッファ制御／仲裁ブロックとの間に連結され、ＣＰＵバスを使用せずにバッファメモリに貯蔵される／から読み取られたデータを伝送するように構成された第２のデータ伝送ブロックと、を含む。【選択図】図１
2006195990.tif 000002
【特許請求の範囲】
【請求項１】
第１のポートと、
複数のチャネルを有する第２のポートと、
ＣＰＵバスに連結された中央処理装置と、
前記第２のポートから前記第１のポートへ又は前記第１のポートから前記第２のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、
前記ＣＰＵバスに連結され、前記中央処理装置の制御に応じて前記バッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御／仲裁ブロックと、
前記第１のポートと前記バッファ制御／仲裁ブロックとの間に連結され、前記ＣＰＵバスを使用せずに前記バッファメモリに貯蔵される／から読み取られたデータを伝送するように構成された第１のデータ伝送ブロックと、
前記第２のポートと前記バッファ制御／仲裁ブロックとの間に連結され、前記ＣＰＵバスを使用せずに前記バッファメモリに貯蔵される／から読み取られたデータを伝送するように構成された第２のデータ伝送ブロックと、
を含むことを特徴とする半導体ディスク制御装置。
【請求項２】
前記第１のデータの伝送ブロックは、
前記ＣＰＵバスに連結され、前記中央処理装置の制御に応じて前記第１のポートを通じて外部ホストとインターフェースするように構成されたホストインターフェース制御ブロックと、
前記ホストインターフェース制御ブロックと前記バッファ制御／仲裁ブロックとの間にデータの伝送経路を提供するように構成された第１のＦＩＦＯと、
を含むことを特徴とする請求項１に記載の半導体ディスク制御装置。
【請求項３】
前記第１のポートは、
直列ＡＴＡインターフェース方式の外部ホストと連結される第１のチャネルと、
並列ＡＴＡインターフェース方式の外部ホストと連結される第２のチャネルと、
前記第１のチャネルを通じて入力される／出力されるデータを直列ＡＴＡフォーマットに／並列ＡＴＡフォーマットに変換する変換ブロックと、
前記第２のチャネルを通じて入力されたデータ又は前記変換ブロックから出力されたデータを選択的に前記ホストインターフェース制御ブロックにそして前記ホストインターフェース制御ブロックから出力されたデータを選択的に前記第２のチャネル又は前記変換ブロックに伝達するマルチプレクサと、
を含むことを特徴とする請求項２に記載の半導体ディスク制御装置。
【請求項４】
前記第１のポートは、前記第１のチャネルを通じて入力されたデータが前記ホストインターフェース制御ブロックに直接伝送されるようにそして前記ホストインターフェースブロックから出力されたデータが前記第１のチャネルを通じて前記直列ＡＴＡインターフェース方式の外部ホストに直接伝送されるように構成されること
を特徴とする請求項３に記載の半導体ディスク制御装置。
【請求項５】
前記第２のデータ伝送ブロックは、
前記ＣＰＵバスに連結され、前記中央処理装置の制御に応じて前記第２のポートを通じて半導体メモリとインターフェースするように構成されたメモリインターフェース制御ブロックと、
前記第２のポートのチャネルにそれぞれ対応し、前記メモリインターフェース制御ブロックと前記バッファ制御／仲裁ブロックとの間にデータ伝送経路を提供するように構成された複数の第２のＦＩＦＯと、
を含むことを特徴とする請求項２に記載の半導体ディスク制御装置。
【請求項６】
前記第２のＦＩＦＯにそれぞれ連結され、対応する第２のＦＩＦＯを通じて伝送されるデータのエラーを検出するようにそして前記半導体メモリに伝送されるデータのエラー訂正コードを生成するように構成された複数のエラー訂正コードブロックをさらに含むこと
を特徴とする請求項５に記載の半導体ディスク制御装置。
【請求項７】
前記エラー訂正コードブロックのそれぞれは、対応するＦＩＦＯを通じて伝達されるデータからエラーが検出されるとき前記中央処理装置の介入なしで前記エラーデータを訂正するように構成されること
を特徴とする請求項６に記載の半導体ディスク制御装置。
【請求項８】
前記第２のポートのチャネルのそれぞれには、複数の不揮発性メモリが連結されること
を特徴とする請求項１に記載の半導体ディスク制御装置。
【請求項９】
前記各チャネルに連結された不揮発性メモリは、同一なタイプの不揮発性メモリから構成されること
を特徴とする請求項８に記載の半導体ディスク制御装置。
【請求項１０】
前記各チャネルには、同一なタイプの不揮発性メモリが連結されること
を特徴とする請求項９に記載の半導体ディスク制御装置。
【請求項１１】
前記各チャネルには、異なるタイプの不揮発性メモリが連結されること
を特徴とする請求項９に記載の半導体ディスク制御装置。
【請求項１２】
前記第２のデータ伝送ブロックは、パワーアップ時、前記第２のポートのチャネルに連結された不揮発性メモリのタイプを診断し、前記診断された結果により前記各チャネルの不揮発性メモリの読み取り及び書き込み動作を制御するように構成されること
を特徴とする請求項８に記載の半導体ディスク制御装置。
【請求項１３】
前記第２のデータ伝送ブロックは、前記第２のポートのチャネルについて読み取り及び書き込み動作が要求されるとき、ハードウェア及びソフトウェアインターリーブ方式のうちいずれか一つによって、前記第２のポートのチャネルに連結された、前記半導体メモリについての読み取り及び書き込み動作を制御するように構成されること
を特徴とする請求項５に記載の半導体ディスク制御装置。
【請求項１４】
前記バッファ制御／仲裁ブロックは、前記第１及び第２のＦＩＦＯからデータ処理要請が発生するとき、ラウンド−ロビン方式によってデータを処理するように構成されること
を特徴とする請求項５に記載の半導体ディスク制御装置。
【請求項１５】
前記メモリインターフェース制御ブロックは、
前記第２のポートを通じて半導体メモリに伝送される第１のクロック信号を発生するように構成された制御ロジックと、
前記半導体メモリは、前記第１のクロック信号に同期されてデータを出力し、
第２のクロック信号に同期されて前記半導体メモリから伝送されるデータをパッチするように構成されたデータパッチレジスターと、
前記第１のクロック信号を遅延させて前記第２のクロック信号を出力する遅延回路と、
を含むことを特徴とする請求項５に記載の半導体ディスク制御装置。
【請求項１６】
前記遅延回路の遅延時間は、外部から提供される遅延情報によって決定されること
を特徴とする請求項１５に記載の半導体ディスク制御装置。
【請求項１７】
前記メモリインターフェース制御ブロックは、前記遅延回路の遅延時間を決定するための遅延情報を貯蔵するように構成されたレジスターをさらに含むこと
を特徴とする請求項１５に記載の半導体ディスク制御装置。
【請求項１８】
第１のポートと、
複数のチャネルを有する第２のポートと、
ＣＰＵバスに連結された中央処理装置と、
前記第２のポートから前記第１のポートへ又は前記第１のポートから前記第２のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、
前記第１のポートと前記ＣＰＵバスに連結され、前記中央処理装置の制御に応じて外部ホストとインターフェースするように構成されたホストインターフェース制御ブロックと、
前記ＣＰＵバスに連結され、前記中央処理装置の制御に応じて前記バッファメモリを制御するように構成されたバッファ制御／仲裁ブロックと、
前記ホストインターフェース制御ブロックと前記バッファ制御／仲裁ブロックとの間にデータ伝送経路を提供するように構成された第１のＦＩＦＯと、
前記第２のポート及び前記内部制御バスに連結され、前記中央処理装置の制御に応じて不揮発性メモリとインターフェースするように構成されたメモリインターフェース制御ブロックと、
前記メモリインターフェース制御ブロックと前記バッファ制御／仲裁ブロックとの間にデータ伝送経路を提供するように構成された複数の第２のＦＩＦＯと、
を含むことを特徴とする半導体ディスク制御装置。
【請求項１９】
前記第２のＦＩＦＯにそれぞれ連結され、対応する第２のＦＩＦＯを通じて伝送されるデータのエラーを検出するようにそして前記不揮発性メモリに伝送されるデータのエラー訂正コードを生成するように構成された複数のエラー訂正コードブロックをさらに含むこと
を特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２０】
前記エラー訂正コードブロックのそれぞれは、対応するＦＩＦＯを通じて伝達されるデータからエラーが検出されるとき前記中央処理装置の介入なしで前記エラーデータを訂正するように構成されること
を特徴とする請求項１９に記載の半導体ディスク制御装置。
【請求項２１】
前記各チャネルに連結された不揮発性メモリは、同一なタイプの不揮発性メモリから構成されること
を特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２２】
前記各チャネルには、同一なタイプの不揮発性メモリが連結されること
を特徴とする請求項２１に記載の半導体ディスク制御装置。
【請求項２３】
前記各チャネルには、異なるタイプの不揮発性メモリが連結されること
を特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２４】
前記メモリインターフェース制御ブロックは、パワーアップ時、前記第２のポートのチャネルに連結された不揮発性メモリのタイプを診断し、前記診断された結果により前記各チャネルの不揮発性メモリの読み取り及び書き込み動作を制御するように構成されること
を特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２５】
前記メモリインターフェース制御ブロックは、前記第２のポートのチャネルについて読み取り及び書き込み動作が要求されるとき、ハードウェア及びソフトウェアインターリーブ方式のうちいずれか一つによって、前記第２のポートのチャネルに連結された、前記不揮発性メモリについての読み取り及び書き込み動作を制御するように構成されること
を特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２６】
前記バッファ制御／仲裁ブロックは、前記第１及び第２のＦＩＦＯからデータ処理要請が発生するとき、ラウンド−ロビン方式によってデータを処理するように構成されること
を特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２７】
前記メモリインターフェース制御ブロックは、
前記第２のポートを通じて半導体メモリに伝送される第１のクロック信号を発生するように構成された制御ロジックと、
前記不揮発性メモリは、前記第１のクロック信号に同期されてデータを出力し、
第２のクロック信号に同期されて前記不揮発性メモリから伝送されるデータをパッチするように構成されたデータパッチレジスターと、
前記第１のクロック信号を遅延させて前記第２のクロック信号を出力する遅延回路と、
を含むことを特徴とする請求項１８に記載の半導体ディスク制御装置。
【請求項２８】
前記遅延回路の遅延時間は、外部から提供される遅延情報によって決定されること
を特徴とする請求項２７に記載の半導体ディスク制御装置。
【請求項２９】
前記メモリインターフェース制御ブロックは、前記遅延回路の遅延時間を決定するための遅延情報を貯蔵するように構成されたレジスターをさらに含むこと
を特徴とする請求項２７に記載の半導体ディスク制御装置。
【請求項３０】
第１のポートと、複数のチャネルを有する第２のポートと、ＣＰＵバスに連結された中央処理装置と、データを貯蔵するように構成されたバッファメモリと、前記ＣＰＵバスに連結され、前記中央処理装置の制御下でバッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御／仲裁器と、を有する半導体ディスク制御装置の動作方法であって、
前記ＣＰＵバスを経由せず前記バッファメモリと前記第１のポートとの間で前記バッファメモリに貯蔵される／から読み取られたデータを伝送する段階と、
前記ＣＰＵバスを経由せず前記バッファメモリと前記第２のポートとの間で前記バッファメモリに貯蔵される／から読み取られたデータを伝送する段階と、
を含むことを特徴とする半導体ディスク制御装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置に関するものであり、より詳しくは、半導体ディスク制御装置に関するものである。
【背景技術】
【０００２】
この分野でよく知られているように、コンピュータシステムは一般に多様な形態のメモリシステムを使用する。例えば、コンピュータシステムは、半導体装置から構成された所謂メインメモリを使用する。この半導体装置は、一般に次のような属性を有している。半導体装置は、相当に早いアクセス速度でランダムに書き込まれるか、或いは読み取られ、一般にランダムアクセスメモリと称される。しかし、半導体メモリが比較的高価なので、他の高密度かつ低価格メモリがしばしば使用される。例えば、他のメモリシステムは、マグネチックディスク貯蔵システムを含む。マグネチックディスク貯蔵システムの場合、アクセス速度が数十ｍｓである反面、メインメモリの場合は、アクセス速度が数百ｎｓである。ディスク貯蔵装置は、必要時に、メインメモリに、順次、読み取られる大容量データを貯蔵するのに使用される。他の形態のディスクのような貯蔵装置は、半導体ディスク（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ；以下、ＳＳＤと称する。）（又は、半導体ドライブと称する。）である。ＳＳＤは、一般的なハードディスクドライブで使用される回転皿の代わりにデータを貯蔵するのにＳＤＲＡＭのようなメモリチップを使用したデータ貯蔵装置である。
【０００３】
“ＳＳＤ”という用語は、二つの異なる種類の製品に使用される。ＳＤＲＡＭのような高速かつ揮発性メモリを用いた一番目の形態のＳＳＤは、相当に早いデータアクセスによって特徴付けられ、ディスクドライブのレイテンシーによって遅延されたアプリケーションの速度を増すのに主に使用される。こうしたＳＳＤは揮発性メモリを使用するので、データ持続性を保障するために内部バッテリー及びバックアップディスクシステムが一般にＳＳＤ内に含まれている。もし電源がどんな理由によってであれ遮断されれば、バッテリーは全てのデータをＲＡＭからバックアップディスクへ複写するのに十分な長い時間の間、ユニットに電源を供給する。電源が復旧されることによって、データはバックアップディスクからＲＡＭへ再び複写され、ＳＳＤは正常動作を再開する。こうした装置は、特に多量のＲＡＭを有するコンピュータで特に有用である。二番目のタイプのＳＳＤは、データを貯蔵するのにフラッシュメモリを使用する。こうしたＳＳＤは、ハードドライブの代替として一般に使用される。一番目のタイプとの混同を避けるために、こうしたディスクは一般にフラッシュディスクと称される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の技術的課題は、ＣＰＵバス速度の制限なしでデータを伝送できる半導体ディスク制御装置を提供するところにある。
【課題を解決するための手段】
【０００５】
前述した技術的課題を達成するための本発明の特徴によれば、半導体ディスク制御装置は、第１のポートと、複数のチャネルを有する第２のポートと、ＣＰＵバスに連結された中央処理装置と、第２のポートから第１のポートへ又は第１のポートから第２のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、ＣＰＵバスに連結され、中央処理装置の制御に応じてバッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御／仲裁ブロックと、第１のポートとバッファ制御／仲裁ブロックとの間に連結され、ＣＰＵバスを使用せずにバッファメモリに貯蔵される／から読み取られたデータを伝送するように構成された第１のデータ伝送ブロックと、第２のポートとバッファ制御／仲裁ブロックとの間に連結され、ＣＰＵバスを使用せずにバッファメモリに貯蔵される／から読み取られたデータを伝送するように構成された第２のデータ伝送ブロックと、を含む。
【０００６】
好適な実施形態において、第１のデータの伝送ブロックは、ＣＰＵバスに連結され、中央処理装置の制御に応じて第１のポートを通じて外部ホストとインターフェースするように構成されたホストインターフェース制御ブロックと、ホストインターフェース制御ブロックとバッファ制御／仲裁ブロックとの間にデータの伝送経路を提供するように構成された第１のＦＩＦＯと、を含む。
【０００７】
好適な実施形態において、第１のポートは、直列ＡＴＡインターフェース方式の外部ホストと連結される第１のチャネルと、並列ＡＴＡインターフェース方式の外部ホストと連結される第２のチャネルと、第１のチャネルを通じて入力される／出力されるデータを直列ＡＴＡフォーマットに／並列ＡＴＡフォーマットに変換する変換ブロックと、第２のチャネルを通じて入力されたデータ又は変換ブロックから出力されたデータを選択的にホストインターフェース制御ブロックにそしてホストインターフェース制御ブロックから出力されたデータを選択的に第２のチャネル又は変換ブロックに伝達するマルチプレクサと、を含む。
【０００８】
好適な実施形態において、第１のポートは、第１のチャネルを通じて入力されたデータがホストインターフェース制御ブロックに直接伝送されるようにそしてホストインターフェースブロックから出力されたデータが第１のチャネルを通じて直列ＡＴＡインターフェース方式の外部ホストに直接伝送されるように構成される。
【０００９】
好適な実施形態において、第２のデータ伝送ブロックは、ＣＰＵバスに連結され、中央処理装置の制御に応じて第２のポートを通じて半導体メモリとインターフェースするように構成されたメモリインターフェース制御ブロックと、第２のポートのチャネルにそれぞれ対応し、メモリインターフェース制御ブロックとバッファ制御／仲裁ブロックとの間にデータ伝送経路を提供するように構成された複数の第２のＦＩＦＯと、を含む。
【００１０】
好適な実施形態において、第２のＦＩＦＯにそれぞれ連結され、対応する第２のＦＩＦＯを通じて伝送されるデータのエラーを検出するようにそして半導体メモリに伝送されるデータのエラー訂正コードを生成するように構成された複数のエラー訂正コードブロックをさらに含む。
【００１１】
好適な実施形態において、エラー訂正コードブロックのそれぞれは、対応するＦＩＦＯを通じて伝達されるデータからエラーが検出されるとき中央処理装置の介入なしでエラーデータを訂正するように構成される。
【００１２】
好適な実施形態において、第２のポートのチャネルのそれぞれには、複数の不揮発性メモリが連結される。
【００１３】
好適な実施形態において、各チャネルに連結された不揮発性メモリは、同一なタイプの不揮発性メモリから構成される。
【００１４】
好適な実施形態において、各チャネルには、同一なタイプの不揮発性メモリが連結される。
【００１５】
好適な実施形態において、各チャネルには、異なるタイプの不揮発性メモリが連結される。
【００１６】
好適な実施形態において、第２のデータ伝送ブロックは、パワーアップ時、第２のポートのチャネルに連結された不揮発性メモリのタイプを診断し、診断された結果により各チャネルの不揮発性メモリの読み取り及び書き込み動作を制御するように構成される。
【００１７】
好適な実施形態において、第２のデータ伝送ブロックは、第２のポートのチャネルについて読み取り及び書き込み動作が要求されるとき、ハードウェア及びソフトウェアインターリーブ方式のうちいずれか一つによって、第２のポートのチャネルに連結された、半導体メモリについての読み取り及び書き込み動作を制御するように構成される。
【００１８】
好適な実施形態において、バッファ制御／仲裁ブロックは、第１及び第２のＦＩＦＯからデータ処理要請が発生するとき、ラウンド−ロビン方式によってデータを処理するように構成される。
【００１９】
好適な実施形態において、メモリインターフェース制御ブロックは、第２のポートを通じて半導体メモリに伝送される第１のクロック信号を発生するように構成された制御ロジックと、半導体メモリは、第１のクロック信号に同期されてデータを出力し、第２のクロック信号に同期されて半導体メモリから伝送されるデータをパッチするように構成されたデータパッチレジスターと、第１のクロック信号を遅延させて第２のクロック信号を出力する遅延回路と、を含む。
【００２０】
好適な実施形態において、遅延回路の遅延時間は、外部から提供される遅延情報によって決定される。
【００２１】
好適な実施形態において、メモリインターフェース制御ブロックは、遅延回路の遅延時間を決定するための遅延情報を貯蔵するように構成されたレジスターをさらに含む。
【発明の効果】
【００２２】
前述したように、半導体ディスク制御装置のデータ伝送がＣＰＵバスを通じて遂行されるのではなく、ＦＩＦＯ経路を通じて遂行されることによって、半導体ディスク制御装置のデータ伝送速度がＣＰＵバスの速度の影響を受けない。
【発明を実施するための最良の形態】
【００２３】
以下、添付した図面を参照して本発明の好適な実施形態を詳細に説明する。
【００２４】
図１は、本発明に従う半導体ディスク制御装置を示すブロック図である。図１を参照すれば、本発明に従う半導体ディスク制御装置１０００は、第１のポートと第２のポートとを含む。本発明に従う半導体ディスク制御装置１０００は、第１のポートを通じて外部ホスト（図示せず）とデータをやり取りする。第１のポートは、二つのチャネルすなわち、並列ＡＴＡバス（ｐａｒａｌｌｅｌ  ＡＴ  ａｔｔａｃｈｍｅｎｔ  ｂｕｓ；以下、ＰＡＴＡバスと称する。）１００１と直列ＡＴＡバス（ｓｅｒｉａｌ  ＡＴ  ａｔｔａｃｈｍｅｎｔ；以下、ＳＡＴＡバスと称する。）１００２を含む。第２のポートは複数のチャネルを含み、各チャネルには複数の不揮発性メモリが電気的に連結される。ここで、各チャネルには、同一種類のメモリが連結される。単一のチャネルに連結される不揮発性メモリは、単一−レベルフラッシュメモリ、マルチ−レベルフラッシュメモリ、Ｏｎｅ＿ＮＡＮＤフラッシュメモリ（フラッシュメモリコア及びメモリ制御ロジックが単一のチップに具現されたもの）、又はそのようなものを含む。例えば、一つのチャネルには、単一−レベルフラッシュメモリが連結され、他のチャネルには、マルチ−レベルフラッシュメモリが連結され、さらに他のチャネルにはＯｎｅ＿ＮＡＮＤフラッシュメモリが連結できる。ＳＡＴＡインターフェース（図面には、“ＳＡＴＡ  Ｉ／Ｆ”と表記される。）１１００は、デバイスドングルと称され、直列／並列データを並列／直列データに変換する。例えば、ＳＡＴＡインターフェース１１００は、ＳＡＴＡバス１００２を通じて伝送される直列データを入力して並列データに変換する。ＳＡＴＡインターフェース１１００は、マルチプレクサ１２００から出力される並列データを直列データに変換する。マルチプレクサ１２００は、ＰＡＴＡバス１００１を通じて入力される並列データをホストインターフェース制御ブロック１３００に伝達するか、或いはホストインターフェース制御ブロック１３００から出力されるデータをＰＡＴＡバス１００１又はＳＡＴＡインターフェース１１００に伝達する。第１のポートのＰＡＴＡバス１００１及びＳＡＴＡバス１００２のうちいずれが使用されるかは予め設定される。
【００２５】
続けて図１を参照すれば、ホストインターフェース制御ブロック１３００は、ＰＡＴＡバス１００１（又は、内部ＩＤＥバスと称する。）、ＳＡＴＡバス１００２、およびＣＰＵバス１００３に連結されている。ホストインターフェース制御ブロック１３００は、ＣＰＵ１４００の制御に応じてインターフェース動作を遂行する。ホストインターフェース制御ブロック１３００を通じて入／出力されるデータは、ＣＰＵバス１００３を経由せずバッファ制御／仲裁ブロック１６００とＦＩＦＯ（Ｌ＿ＦＩＦＯ）１５００を通じてバッファメモリ１７００に臨時貯蔵される。例えば、外部から伝送されるデータはＣＰＵ１４００の制御に応じてホストインターフェース制御ブロック１３００、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）１５００、そしてバッファ制御／仲裁ブロック１６００を通じてバッファメモリ１７００に臨時貯蔵される。同様に、バッファメモリ１７００に臨時貯蔵されたデータはＣＰＵ１４００の制御に応じてバッファ制御／仲裁ブロック１６００、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）１５００、そしてホストインターフェース制御ブロック１３００を通じて外部に出力される。結果的に、データ伝送動作は、ＣＰＵバス１００３を使用せずに遂行され、その結果データ伝送速度は、ＣＰＵバス１００３の速度の影響を受けない。ＦＩＦＯ（Ｌ＿ＦＩＦＯ）１５００は、ホストインターフェース制御ブロック１３００とバッファ制御／仲裁ブロック１５００との間に連結され、内部バス１００４，１００５のバンド幅が相異なる場合、データ伝送途中で発生する未処理データを臨時に貯蔵するのに使用される。動作途中でＦＩＦＯ（Ｌ＿ＦＩＦＯ）１５００が全てデータで満たされないようにＦＩＦＯサイズが適切に決定されなければならない。ホストインターフェース制御ブロック１３００は、レジスター１３０１を含み、レジスター１３０１には、例えば外部からの動作命令及びアドレスが貯蔵される。ホストインターフェース制御ブロック１３００は、貯蔵された命令に応答してＣＰＵバス１００３を通じてＣＰＵ１４００に書き込み又は読み取り動作を知らせる。ＣＰＵ１４００は、入力された情報に応じてホストインターフェース制御ブロック１３００及びバッファ制御／仲裁ブロック１６００を制御する。これは詳細に後述される。
【００２６】
フラッシュインターフェース制御ブロック１８００は、第２のポートを通じて外部の不揮発性メモリとデータをやり取りする。フラッシュインターフェース制御ブロック１８００は、ＮＡＮＤフラッシュメモリ、Ｏｎｅ−ＮＡＮＤフラッシュメモリ、およびマルチ−レベルフラッシュメモリを支援するように構成される。フラッシュインターフェース制御ブロック１８００は、所定数のチャネルを含む。一つのチャネルには、複数の不揮発性メモリが連結できる。一つのチャネルには同一種類のメモリが連結される。異なるチャネルには、異なる種類又は同一種類のメモリが装着できる。また、本発明に従う半導体ディスク制御装置１０００は、多様な種類の不揮発性メモリが存在するとき、ブーティング時、装着された不揮発性メモリの種類を診断する機能を備える。こうした機能はよく知られたデバイスＩＤの読み取り動作を通じて容易に達成できる。相異なるチャネルについて読み取り及びプログラム動作が遂行されるとき、本発明に従う半導体ディスク制御装置１０００のフラッシュインターフェース制御ブロック１８００は、ソフトウェア及びハードウェアインターリーブ動作を選択的に遂行するように構成される。
【００２７】
フラッシュインターフェース制御ブロック１８００を通じて伝送されるデータは、ＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）とバッファ制御／仲裁ブロック１６００とを通じてバッファメモリ１７００に臨時貯蔵される。フラッシュインターフェース制御ブロック１８００を通じて入／出力されるデータは、ＣＰＵバス１００３を経由せずバッファ制御／仲裁ブロック１６００とＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）とを通じてバッファメモリ１７００に臨時貯蔵される。例えば、第２のポートを通じて入力されたデータはＣＰＵ１４００の制御に応じてフラッシュインターフェース制御ブロック１８００、ＦＩＦＯ、そしてバッファ制御／仲裁ブロック１６００を通じてバッファメモリ１７００に臨時貯蔵される。同様に、バッファメモリ１７００に臨時貯蔵されたデータはＣＰＵ１４００の制御に応じてバッファ制御／仲裁ブロック１６００、ＦＩＦＯ、そしてフラッシュインターフェース制御ブロック１８００を通じて第２のポートに伝達される。結果的に、データ伝送動作は、ＣＰＵバス１００３を使用せずに遂行され、その結果データ伝送速度は、ＣＰＵバス１００３の速度の影響を受けない。複数のＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）は、フラッシュインターフェース制御ブロック１８００とバッファ制御／仲裁ブロック１６００との間に連結され、内部バス１００６＜０：ｎ＞，１００７＜０：ｎ＞のバンド幅が相異なる場合、データ伝送途中で発生する未処理データを臨時に貯蔵するのに使用される。動作途中でＦＩＦＯが全てデータで満たされないようにＦＩＦＯサイズが適切に決定されなければならない。
【００２８】
バッファ制御／仲裁ブロック１６００は、バッファメモリ１７００の読み取り及び書き込み動作を制御するように構成される。例えば、バッファ制御／仲裁ブロック１６００は、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）１５００を通じて入力されるデータ又はＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）を通じて入力されるデータをバッファメモリ１７００に貯蔵する。バッファ制御／仲裁ブロック１６００は、不揮発性メモリに書き込まれる／外部に伝送されるデータをバッファメモリ１７００から読み取る。また、バッファ制御／仲裁ブロック１６００は、同時にデータ処理要請が発生する場合、ラウンドロビン方式にデータを処理するように構成される。この際、任意の要請を処理するのにあまり多くの時間が消費されないように一回で処理されるデータ量が限定されなければならない。バッファ制御／仲裁ブロック１６００は、ＦＩＦＯ（Ｌ＿ＦＩＦＯ，Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）の同時要請を全て処理できるように十分に大きいデータ処理能力を有する。すなわち、データ処理量（バッファ制御／仲裁ブロック）＞＝バンド幅Ｌ＿ＦＩＦＯ＋ Ｒ０＿ＦＩＦＯ＋．．．＋Ｒｎ＿ＦＩＦＯ。
【００２９】
バッファ制御／仲裁ブロック１６００とフラッシュインターフェース制御ブロック１８００との間に並列に連結されたＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）には、対応するエラー検査訂正（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ；ＥＣＣ）ブロック（以下、ＥＣＣブロックと称する。）１９００＿０−１９００＿ｎがそれぞれ連結されている。フラッシュインターフェース制御ブロック１８００からバッファメモリ１７００へデータが任意のＦＩＦＯ（例えば、Ｒ０＿ＦＩＦＯ）を通じて伝送されるとき、このＦＩＦＯ（Ｒ０＿ＦＩＦＯ）に対応するＥＣＣブロック１９００＿０はＦＩＦＯ（Ｒ０＿ＦＩＦＯ）を通じて伝送されるデータについてエラー検出動作を遂行する。もし伝送されるデータでエラーが発生すれば、ＥＣＣブロック１９００は、バッファ制御／仲裁ブロック１６００にエラー訂正を要請してバッファメモリ１７００の内部のエラーデータを修正するように構成される。ＥＣＣブロック１９００＿０−１９００＿ｎのそれぞれは、対応するＦＩＦＯを通じてフラッシュインターフェース制御ブロック１８００にメインデータが伝送されるとき、ＥＣＣデータを生成するように構成される。生成されたＥＣＣデータは、フラッシュインターフェース制御ブロック１８００の制御に応じてメインデータと共にフラッシュメモリに貯蔵される。
【００３０】
バッファメモリ１７００は、外部（外部ホスト及び不揮発性メモリ）から伝送されるデータを臨時貯蔵するのに使用される。また、バッファメモリ１７００は、ＣＰＵ１４００によって運用されるプログラムを貯蔵するのに使用される。バッファメモリ１７００は、好ましくは、ＳＲＡＭから構成される。バッファメモリ１７００は、外部（外部ホスト及び不揮発性メモリ）から伝送されるデータを臨時貯蔵するためのＳＲＡＭとＣＰＵ１４００によって運用されるプログラム及びデータを貯蔵するためのＳＲＡＭから構成できる。しかし、バッファメモリがここでの開示に限定されないことは当業者に自明である。ＣＰＵ１４００は、ホスト及びフラッシュインターフェース制御ブロック１３００，１８００内の制御レジスター１３０１，１８０１の値を用いて任意の命令を発生するか、或いは読み取り／書き込み動作に必要な多様な制御情報を制御レジスター１３０１，１８０１に設定する。例えば、外部から読み取り／書き込み命令が入力されれば、読み取り／書き込み命令はホストインターフェース制御ブロック１３００のレジスター１３０１に貯蔵される。ホストインターフェース制御ブロック１３００は、貯蔵された命令に従ってＣＰＵ１４００に読み取り／書き込み命令が入力されたことを知らせる。ＣＰＵ１４００は、読み取り／書き込み命令に従ってホストインターフェース制御ブロック１３００及びバッファ制御／仲裁ブロック１６００を制御する。また、ＣＰＵ１４００は、フラッシュインターフェース制御ブロック１８００のレジスター１８０１に読み取り／書き込み命令を貯蔵する。フラッシュインターフェース制御ブロック１８００は、レジスター１８０１に貯蔵された命令に従って第２のチャネルを通じてフラッシュメモリについての読み取り／書き込み動作を制御する。
【００３１】
本発明によれば、第２のポートに連結される不揮発性メモリについての読み取り又は書き込み動作が要求されるとき、データ伝送は半導体ディスク制御装置１０００内のＣＰＵバス１００３を通じて遂行されるのではなく、ＦＩＦＯ経路を通じて遂行される。すなわち、第１のポートから第２のポートへの（又は第２のポートから第１のポートへの）データ伝送はＣＰＵバス１００３を使用せずに遂行され、その結果、データ伝送速度はＣＰＵバス１００３の速度の影響を受けない。
【００３２】
図２は、図１に示されたバッファ制御／仲裁ブロックとＦＩＦＯとを連結するバス構造を示すブロック図であり、図３Ａ及び図３Ｂはバッファ制御／仲裁ブロックとＦＩＦＯの動作とを説明するためのタイミング図である。
【００３３】
先ず、図２を参照すれば、バッファ制御／仲裁ブロック１６００は、ＦＩＦＯ（Ｌ＿ＦＩＦＯ，Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）からデータ処理についての要請があるとき、データ処理要請を承認するように構成される。ＦＩＦＯ（Ｌ＿ＦＩＦＯ）とバッファ制御／仲裁ブロック１６００との間のバス１００５は、要請信号ＲＥＱ０、承認信号ＧＲＴ０、読み取り／書き込み区別信号ＲＷ０、アドレスＡＤＤＲＥＳＳ０、読み取りデータＲＤ０、書き込みデータＷＤ０、そしてデータ有効区間信号Ｄ＿ＶＡＬＩＤ０を伝送するように構成される。同様に、ＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）とバッファ制御／仲裁ブロック１６００との間のバス１００６＿０−１００６＿ｎのそれぞれは、要請信号ＲＥＱ１、承認信号ＧＲＴ１、読み取り／書き込み区別信号ＲＷ１、アドレスＡＤＤ１、読み取りデータＲＤ１、書き込みデータＷＤ１、そしてデータ有効区間信号Ｄ＿ＶＡＬＩＤ１を伝送するように構成される。
【００３４】
バッファメモリ１７００からＦＩＦＯ（Ｌ＿ＦＩＦＯ）へデータを伝送する場合、図３Ａに示されたように、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）は読み取り動作のための要請信号ＲＥＱ０を活性化させる。これと同時に、読み取ろうとするデータのアドレスＡＤＤＲＥＳＳ０がＦＩＦＯ（Ｌ＿ＦＩＦＯ）からバッファ制御／仲裁ブロック１６００へ伝送される。要請信号ＲＥＱ０が活性化されるとき、バッファ制御／仲裁ブロック１６００は、以前に進行中であるプロセスがないか、或いは終了された場合、承認信号ＧＲＴ０を活性化させる。データ処理要請が承認されることによって、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）は、アドレスを順次にバッファ制御／仲裁ブロック１６００に送る。バッファ制御／仲裁ブロック１６００は、入力されたアドレスＡＤＤ１−ＡＤＤ８によってバッファメモリ１７００からデータを読み取り、有効なデータ区間信号Ｄ＿ＶＡＬＩＤ０の活性化間読み取られたデータをＦＩＦＯ（Ｌ＿ＦＩＦＯ）に出力する。この際、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）は予め決められた量のデータ（例えば、８個のＮ−ビットデータ）が入力されるとき、要請信号ＲＥＱ０を非活性化させ、これはバッファ制御／仲裁ブロック１６００が他のＦＩＦＯの要請を処理させる。
【００３５】
ＦＩＦＯ（Ｌ＿ＦＩＦＯ）からバッファメモリ１７００へデータを伝送する場合、図３Ｂに示されたように、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）は書き込み動作のための要請信号ＲＥＱ０を活性化させる。要請信号ＲＥＱ０が活性化されるとき、バッファ制御／仲裁ブロック１６００は以前に進行中であるプロセスがないか、或いは終了された場合承認信号ＧＲＴ０を活性化させる。データ処理要請が承認されることによって、図３Ｂに示されたように、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）は書き取ろうとするデータと共にアドレスをバッファ制御／仲裁ブロック１６００に順次に送る。バッファ制御／仲裁ブロック１６００は、入力されたデータをバッファメモリ１７００に貯蔵する。この際、ＦＩＦＯ（Ｌ＿ＦＩＦＯ）は、予め決められた量のデータ（例えば、８個のＮ−ビットデータ）が出力されるとき要請信号ＲＥＱ０を非活性化させ、これはバッファ制御／仲裁ブロック１６００が他のＦＩＦＯの要請を処理させる。
【００３６】
バッファメモリ１７００からＦＩＦＯ（Ｒｉ＿ＦＩＦＯ）へのデータ伝送は、図３Ａに示されたことと同一に遂行され、ＦＩＦＯ（Ｒｉ＿ＦＩＦＯ）からバッファメモリ１７００へのデータ伝送は図３Ｂに示されたことと同一に遂行される。従って、ＦＩＦＯ（Ｒ０＿ＦＩＦＯ−Ｒｎ＿ＦＩＦＯ）と関連された読み取り及び書き込み動作は省略される。
【００３７】
図４は、図１に示されたＥＣＣブロックのバス構造を示すブロック図であり、図５はＥＣＣブロックのエラー検出及び訂正動作を説明するためのタイミング図である。先ず、図４を参照すれば、ＥＣＣブロック１９００＿０とＦＩＦＯ（Ｒ０＿ＦＩＦＯ）を連結するためのバスは、ＥＣＣ要請信号ＥＣＣ＿ＲＥＱ、ＥＣＣ読み取り／書き込み区別信号ＥＣＣ＿ＲＷ、ＥＣＣアドレスＥＣＣ＿ＡＤＤＲＥＳＳ、ＥＣＣ訂正データＥＣＣ＿ＲＭＷＤ、ＥＣＣ承認信号ＥＣＣ＿ＧＲＴ、そしてＥＣＣ読み取りデータＥＣＣ＿ＲＤを伝送するように構成される。
【００３８】
ＦＩＦＯ（Ｒ０＿ＦＩＦＯ）を経由してバッファメモリ１７００にデータが伝送されると仮定しよう。もし伝送されたデータにエラーが発生すれば、ＥＣＣブロック１９００＿０はＥＣＣ要請信号ＥＣＣ＿ＲＥＱを活性化させ、この要請信号ＥＣＣ＿ＲＥＱは、エラーデータのアドレスＡＤＤ１と共にＦＩＦＯ（Ｒ０＿ＦＩＦＯ）を通じてバッファ制御／仲裁ブロック１６００に伝達される。バッファ制御／仲裁ブロック１６００は、エラー訂正のための要請信号ＥＣＣ＿ＲＥＱがアドレスＡＤＤ１と共に入力されるとき、承認信号ＥＣＣ＿ＧＲＴを活性化させる。この際、ＥＣＣ読み取り／書き込み区別信号ＥＣＣ＿ＲＷは読み取り動作を示すようにハイに維持される。ＥＣＣ読み取り／書き込み区別信号ＥＣＣ＿ＲＷのハイ−レベル状態時、エラーデータはバッファ制御／仲裁ブロック１６００の制御下でバッファメモリ１７００から読み取られる。そのように読み取られたエラーデータＲＤは、ＦＩＦＯ（Ｒ０＿ＦＩＦＯ）を通じてＥＣＣブロック１９００＿０に伝達される。エラーデータＲＤはＥＣＣブロック１９００＿０で訂正され、エラー訂正されたデータＲＭＷＤはＦＩＦＯ（Ｒ０＿ＦＩＦＯ）を通じてバッファ制御／仲裁ブロック１６００に伝達される。この際、ＥＣＣ読み取り／書き込み区別信号ＥＣＣ＿ＲＷは書き込み動作を示すローレベルに遷移する。バッファ制御／仲裁ブロック１６００は、ＥＣＣ読み取り／書き込み区別信号ＥＣＣ＿ＲＷに応答してエラー訂正されたデータＲＭＷＤがバッファメモリ１７００に貯蔵する。以後、バッファ制御／仲裁ブロック１６００は承認信号ＥＣＣ＿ＧＲＴを非活性化させる。
【００３９】
図６は、図１に示されたフラッシュインターフェース制御ブロックのチャネルのうちいずれか一つを示すブロック図である。
【００４０】
図６を参照すれば、一つのチャネルには複数の不揮発性メモリが連結されている。例示的な実施形態において、不揮発性メモリはＮＡＮＤフラッシュメモリから構成される。よく知られたように、ＮＡＮＤフラッシュメモリは、命令／アドレス／データマルチプレキシング入／出力構造（ｃｏｍｍａｎｄ／ａｄｄｒｅｓｓ／ｄａｔａ  ｍｕｌｔｉｐｌｅｘｉｎｇ  Ｉ／Ｏ  ｓｔｒｕｃｔｕｒｅ）を有する。これは、入出力ピンを通じて命令、アドレス及びデータが提供されることを意味する。一つのチャネルに四つの不揮発性メモリが連結されると仮定すれば、チャネルはメモリＭ０，Ｍ１，Ｍ２，Ｍ３に共通に連結された入出力ライン１８０２、対応するメモリにそれぞれ連結された四つのチップイネーブル信号ライン１８０３ａ−１８０３ｄ、そして対応するメモリにそれぞれ連結された四つのレディー／ビジー信号ライン１８０４ａ−１８０４ｄから構成される。また、図面には示されていないが、／ＷＥ，／ＲＥ，ＣＬＥ，ＡＬＥなどのような他の制御信号が不揮発性メモリに共通に提供される。
【００４１】
四つのフラッシュメモリＭ０−Ｍ３が一つのチャネルに連結されると仮定しよう。こうした仮定下で、ハードウェア及びソフトウェアインターリーブ方式の書き込み動作が以下詳細に説明される。書き込み動作を遂行するために、ＣＰＵ１４００は、ＣＰＵバス１００３を通じてフラッシュインターフェース制御ブロック１８００のレジスター１８０１に書き込み命令を貯蔵する。フラッシュインターフェース制御ブロック１８００は、レジスター１８０１に貯蔵された書き込み命令に応答してフラッシュメモリについての書き込み動作を遂行する。前述したチャネル構造の場合、書き取られるセクタ数が二つ以上であれば、フラッシュメモリについての書き込み動作がハードウェア及びソフトウェアインターリーブ方式に遂行できる。先ず、ハードウェアインターリーブ方式の書き込み動作が図７を参照して以下説明される。図７には、４−ウェイ(way)インターリーブ方式による書き込み過程を説明するためのタイミング図が示されている。
【００４２】
図７を参照すれば、一旦ＣＰＵ１４００によって任意チャネルについての書き込み命令がフラッシュインターフェース制御ブロック１８００のレジスター１８０１に書き込まれれば、フラッシュインターフェース制御ブロック１８００は、ＣＰＵ１４００の介入なしで連続的にプログラムされるデータをフラッシュメモリＭ０−Ｍ３に伝送する。例えば、プログラムされるデータが命令及びアドレスと共にチャネル（すなわち、入出力ライン）１８０２を通じてフラッシュメモリＭ０に連続的に伝送され、伝送されたデータは一定時間ｔＰＲＯＧ（Ｍ０）中フラッシュメモリＭ０のメモリセルアレイに貯蔵される。フラッシュメモリＭ０の書き込み動作が遂行されれば、図７に示されたように、フラッシュインターフェース制御ブロック１８００はチャネル（すなわち、入出力ライン）１８０２を通じて他のフラッシュメモリＭ１にプログラムされるデータを伝送する。同様に、前述したような方式に残りフラッシュメモリＭ２，Ｍ３にプログラムされるデータがそれぞれ伝送される。従って、チャネルは命令、アドレス及びデータ伝送区間中のみフラッシュメモリＭ０−Ｍ３のそれぞれによって占有される。また、チャネルは書き込み動作のパス／フェイル可否を判別するための状態読み取り区間各フラッシュメモリによって占有される。一旦全てのデータがプログラムされれば、フラッシュインターフェース制御ブロック１８００は、これをＣＰＵ１４００に知らせてやる。チャネルに共通に連結されたフラッシュメモリにプログラムされるデータはバッファメモリ１７００で読み取られたデータである。
【００４３】
以下、ソフトウェアインターリーブ方式の書き込み動作が図８を参照して後述する。図８には、フラッシュメモリのプログラム時間が一定に維持されるという仮定下で４−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図が示されている。ソフトウェアインターリーブ方式によれば、図８を参照すれば、一旦ＣＰＵ１４００によって任意チャネルについての書き込み命令がフレッシュインターフェース制御ブロック１８００のレジスター１８０１に書き取られれば、フラッシュインターフェース制御ブロック１８００は、ＣＰＵ１４００の制御に応じてフラッシュメモリＭ０−Ｍ３の書き込み動作を制御する。例えば、プログラムされるデータＷＤ０が命令及びアドレスと共にチャネル（すなわち、入出力ライン）を通じてフラッシュメモリＭ０に順次に伝送される。一旦、プログラムされるデータＷＤ０がフラッシュメモリＭ０に伝送されれば、フラッシュインターフェース制御ブロック１８００は、フラッシュメモリＭ０のデータ伝送が完了されたことをＣＰＵ１４００に知らせてやる。ＣＰＵ１４００は、プログラムデータが伝送されるチャネルの情報と共に書き込み命令をレジスター１８０１に貯蔵する。こうした過程（図８で、‘ａ’に表記された区間）は、フラッシュメモリＭ０に伝送されたデータＷＤ０がプログラムされる区間ｔＰＲＯＧ内で遂行される。レジスター１８０１に再び書き込み命令が貯蔵されれば、フラッシュインターフェース制御ブロック１８００は、プログラムされるデータＷＤ１を命令及びアドレスと共にチャネル（すなわち、入出力ライン）を通じてフラッシュメモリＭ１に順次に伝送する。同様に、残りフラッシュメモリＭ２，Ｍ３へのデータ伝送は、ＣＰＵ１４００の制御に応じて前述したように遂行され、それについての説明はだから省略される。
【００４４】
ハードウェアインターリーブ方式と同様に、チャネルは命令、アドレス及びデータ伝送区間中のみ、フラッシュメモリＭ０−Ｍ３のそれぞれによって占有される。また、チャネルは書き込み動作のパス／フェイルを判別するための状態読み取り区間中、各フラッシュメモリによって占有される。
【００４５】
前述した過程（不揮発性メモリのプログラム時間が一定に維持される。）とは違って、フラッシュメモリのプログラム時間ｔＰＲＯＧが一定に維持されることができない。すなわち、フラッシュメモリのプログラム時間が相異なるので、図９に示されたように、ソフトウェアインターリーブ方式の書き込み動作途中に時間損失が発生できる。
【００４６】
図１０は、図１に示されたフラッシュインターフェース制御ブロックを示すブロック図である。
【００４７】
よく知られたように、ＲＥＢのような制御信号を用いてフラッシュメモリからフラッシュインターフェース制御ブロック１８００にデータが伝送される。こうした場合、データは入出力ラインのラインローディング又は伝送時間の影響を受けてフラッシュメモリからフラッシュインターフェース制御ブロック１８００へ早く又は遅く伝送できる。すなわち、図１０に示されたように、Ａ地点のデータがＡ´地点に伝達される時間は、システムの構成によって常に変わる。こうした変化を克服するために、内部データパッチレジスター１８１０のデータパッチ時点を決定するパッチクロック信号Ｆ＿ＣＬＫのパッチ時間が調整されなければならない。遅延回路１８２０は、フラッシュメモリに印加されるＲＥＢ信号に応答してパッチクロック信号Ｆ＿ＣＬＫを発生し、パッチクロック信号Ｆ＿ＣＬＫはデータパッチレジスター１８１０に印加される。特に、遅延回路１８２０の遅延時間は、フラッシュインターフェース制御ブロック１８００内のレジスター１８３０に設定された値によって又は外部パッド１８４０を通じて印加される値によって調整される。図１１に示されたように、ＲＥＢ信号に同期されて出力されるＡ地点のデータは、△ｔ時間ほど遅延されてＡ´地点に到達する。従って、遅延回路１８２０を通じてＲＥＢ信号を△ｔほど遅延させてパッチクロック信号Ｆ＿ＣＬＫを生成することによってフラッシュメモリから伝送されるデータを安全にパッチすることが可能である。
【００４８】
図１２は、フラッシュインターフェース制御ブロックのチャネルに連結できるメモリ種類を示すブロック図である。
【００４９】
図１２を参照すれば、一つのチャネルにはセル当たり１−ビットデータが貯蔵されるＮＡＮＤフラッシュメモリが共通に連結され、他のチャネルにはセル当たりＮ−ビットデータが貯蔵されるＮＡＮＤフラッシュメモリが共通に連結され、さらに他のチャネルには、ＯｎｅＮＡＮＤフラッシュメモリが共通に連結できる。異なる種類の不揮発性メモリが各チャネルに連結できることは当業者に自明である。
【００５０】
図１３は、本発明に従う半導体ディスク制御装置によって支援される第２のチャネルの異なる構造を示すブロック図である。
【００５１】
図１３を参照すれば、ｘ８構造のフラッシュメモリを並列に連結してｘ１６構造のフラッシュメモリが構成できる。こうしたチャネル構造によれば、フラッシュメモリの数及び容量を二倍に増やすことが可能である。二つのチップのうち一つは、入出力ラインＩＯ[７：０]を使用し、もう一つは入出力ラインＩＯ[１５：８]を使用する。こうした場合、全ての制御信号は、二つのチップによって共有されなければならない。
【００５２】
以上で、本発明に従う回路の構成及び動作を前述した説明及び図面によって示したが、これは例を挙げて説明したことに過ぎなく、本発明の技術的思想及び範囲を外れない範囲内で多様な変化及び変更が可能なことは勿論である。
【図面の簡単な説明】
【００５３】
【図１】本発明に従う半導体ディスク制御装置を示すブロック図である。
【図２】図１に示されたバッファ制御／仲裁ブロックとＦＩＦＯとを連結するバス構造を示すブロック図である。
【図３Ａ】バッファ制御／仲裁ブロックとＦＩＦＯの動作とを説明するためのタイミング図である。
【図３Ｂ】バッファ制御／仲裁ブロックとＦＩＦＯの動作とを説明するためのタイミング図である。
【図４】図１に示されたＥＣＣブロックのバス構造を示すブロック図である。
【図５】ＥＣＣブロックのエラー検出及び訂正動作を説明するためのタイミング図である。
【図６】図１に示されたフラッシュインターフェース制御ブロックのチャネルのうちいずれか一つを示すブロック図である。
【図７】４−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図である。
【図８】４−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図である。
【図９】４−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図である。
【図１０】図１に示されたフラッシュインターフェース制御ブロックを示すブロック図である。
【図１１】図１０に示されたフラッシュインターフェース制御ブロックの遅延回路によって遅延されたパッチクロック信号を示すタイミング図である。
【図１２】フラッシュインターフェース制御ブロックのチャネルに連結できるメモリ種類を示すブロック図である。
【図１３】本発明に従う半導体ディスク制御装置によって支援される第２のチャネルの異なる構造を示すブロック図である。
【符号の説明】
【００５４】
１０００：半導体ディスク制御装置
１１００：ＳＡＴＡインターフェース
１２００：マルチプレクサ
１３００：ホストインターフェース制御ブロック
１４００：ＣＰＵ
１６００：バッファ制御／仲裁ブロック
１７００：バッファメモリ
１８００：フラッシュインターフェース制御ブロック
１９００＿ｉ：ＥＣＣブロック
【図１】
2006195990.tif 000003
【図２】
2006195990.tif 000004
【図３Ａ】
2006195990.tif 000005
【図３Ｂ】
2006195990.tif 000006
【図４】
2006195990.tif 000007
【図５】
2006195990.tif 000008
【図６】
2006195990.tif 000009
【図７】
2006195990.tif 000010
【図８】
2006195990.tif 000011
【図９】
2006195990.tif 000012
【図１０】
2006195990.tif 000013
【図１１】
2006195990.tif 000014
【図１２】
2006195990.tif 000015
【図１３】
2006195990.tif 000016