(57)【要約】【課題】  １つのメモリライタへの１回のデータ送信当たりの最適なデータ量を決定して通信効率と書き込み速度の最適化を可能にしたメモリ書き込みシステム及び方法を提供する。【解決手段】  ライタコントローラから１送信当たりに送信されるデータ量を複数のメモリライタ各々で異なる値に設定し、その設定データ量毎にライタコントローラから複数のメモリライタのうちの対応するメモリライタに送信させ、データ量毎にライタコントローラがメモリライタ毎にデータを送信するために必要な処理時間と、メモリライタによるデータの書き込み時間とを測定し、データ量各々について測定手段によって測定された処理時間及びデータ書き込み時間各々の測定値に応じて処理時間とデータ書き込み時間との相関関係を求め、その相関関係に応じて所定のデータ書き込み時間条件を満足するように最適データ量を設定し、最適データ量が設定された後、最適データ量でライタコントローラからデータを複数のメモリライタに順次送信させる。【選択図】  図４
2011170669.tif 000002
【特許請求の範囲】
【請求項１】
ライトコントローラと、複数のメモリライタとを備え、前記ライタコントローラはデータを通信路を介して前記複数のメモリライタに順次送信してそれを繰り返し、前記複数のメモリライタ各々は前記ライタコントローラから送信されたデータを受信する毎にその受信データを不揮発性メモリに書き込むメモリ書き込みシステムであって、
前記ライタコントローラから１送信当たりに送信されるデータ量を複数のメモリライタ各々で異なる値に設定する第１設定手段と、
前記データ量毎に前記ライタコントローラから前記複数のメモリライタのうちの対応するメモリライタに送信させる第１送信制御手段と、
前記データ量毎に前記ライタコントローラがメモリライタ毎にデータを送信するために必要な処理時間と、前記メモリライタによるデータの書き込み時間とを測定する測定手段と、
前記データ量各々について前記測定手段によって測定された前記処理時間及び前記データ書き込み時間各々の測定値に応じて前記処理時間と前記データ書き込み時間との相関関係を求める相関検出手段と、
前記相関関係に応じて所定のデータ書き込み時間条件を満足するように最適データ量を設定する第２設定手段と、
前記最適データ量が設定された後、前記最適データ量で前記ライタコントローラからデータを前記複数のメモリライタに順次送信させる第２送信制御手段と、を備えることを特徴とするメモリ書き込みシステム。
【請求項２】
前記第２送信制御手段は、前記最適データ量を複数のメモリライタ各々の書き込み状況に応じて増減させることを特徴とする請求項１記載の書き込みシステム。
【請求項３】
前記第２送信制御手段は、前記複数のメモリライタの各々について前記最適データ量を送信後、前記最適データ量に対応した時間だけ経過後に前記複数のメモリライタのうちの対応するメモリライタからの書き込み完了の結果を受信したとき前記対応するメモリライタについての前記最適データ量を所定値だけ増加させ、その書き込み完了の結果を受信していないとき前記対応するメモリライタについての前記最適データ量を所定値だけ減少させることを特徴とする請求項１又は２記載の書き込みシステム。
【請求項４】
前記所定のデータ書き込み時間条件は１つ分のメモリライタの前記揮発性メモリへのデータ書き込み時間と、前記ライタコントローラからの４つ分のメモリライタへのデータ送信処理時間とが等しいことであることを特徴とする請求項１記載の書き込みシステム。
【請求項５】
前記第１設定手段、前記第１送信制御手段、前記測定手段、前記相関検出手段、前記第２設定手段及び前記第２送信制御手段は前記ライタコントローラ内に備えられていることを特徴とする請求項１記載の書き込みシステム。
【請求項６】
ライトコントローラと、複数のメモリライタとを備えたメモリ書き込みシステムにおいて、前記ライタコントローラはデータを通信路を介して前記複数のメモリライタに順次送信してそれを繰り返し、前記複数のメモリライタ各々は前記ライタコントローラから送信されたデータを受信する毎にその受信データを不揮発性メモリに書き込むメモリ書き込み方法であって、
前記ライタコントローラから１送信当たりに送信されるデータ量を複数のメモリライタ各々で異なる値に設定する第１設定ステップと、
前記データ量毎に前記ライタコントローラから前記複数のメモリライタのうちの対応するメモリライタに送信させる第１送信制御ステップと、
前記データ量毎に前記ライタコントローラがメモリライタ毎にデータを送信するために必要な処理時間と、前記メモリライタによるデータの書き込み時間とを測定する測定ステップと、
前記データ量各々について前記測定手段によって測定された前記処理時間及び前記データ書き込み時間各々の測定値に応じて前記処理時間と前記データ書き込み時間との相関関係を求める相関検出ステップと、
前記相関関係に応じて所定のデータ書き込み時間条件を満足するように最適データ量を設定する第２設定ステップと、
前記最適データ量が設定された後、前記最適データ量で前記ライタコントローラからデータを前記複数のメモリライタに順次送信させる第２送信制御ステップと、を備えることを特徴とするメモリ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性メモリにデータを書き込むシステム及びその方法に関する。
【背景技術】
【０００２】
フラッシュメモリを搭載したＬＳＩ（大規模集積回路）を大量生産する場合に、生産ラインの一部に書き込みシステムを構築し、フラッシュメモリにプログラム等のデータを書き込むことになる。書き込みシステムは自動化されている場合もあるが、コストが掛かることから、手動で対応できる生産個数の場合には、従来、図１に示すような書き込みシステムが構築されている。
【０００３】
図１の書き込みシステムにおいては、フラッシュメモリを搭載した各ＬＳＩ１１〜１ｎはフラッシュライタ２１〜２ｎに１対１で接続されている。各フラッシュライタ２１〜２ｎは分配器３を介して１つのライタコントローラ４に接続されている。ライタコントローラ４は各ＬＳＩ１１〜１ｎに書き込むべきデータを保持している。生産ラインのユーザによるライタコントローラ４の操作によって、ライタコントローラ４がそのデータを分配器３を介して各フラッシュライタ２１〜２ｎに供給するように制御動作を行い、それにより各ＬＳＩ１１〜１ｎにデータが書き込まれる。全てのＬＳＩ１１〜１ｎへの書き込み完了をライタコントローラ４が把握すると、ユーザはその時点の各ＬＳＩ１１〜１ｎの接続をフラッシュライタ２１〜２ｎから外して次にデータを書き込むべきＬＳＩ１１〜１ｎをフラッシュライタ２１〜２ｎに取り付けて同様の手順でデータの書き込みを繰り返すことが行われる。
【０００４】
かかる従来の書き込みシステムにおいて接続可能なＬＳＩ１１〜１ｎの数ｎは通信規格の制約などから一般的に数個から数１０個程度である。例えば、２０個ずつ接続できるシステムを使用して合計２万個のＬＳＩに書き込むとすると、上記手順の１０００回繰り返す必要がある。そのため、特許文献１及び２に示されているように、複数のメモリに対する書き込み時間の短縮が望まれている。
【０００５】
書き込みシステムの構成自体を維持した状態で生産ラインを効率化するためには、１回当たりの書き込み時間の短縮化が課題となってくる。一方、フラッシュライタが一度の通信で受信できる書き込みデータのサイズは限界値があり、ライタコントローラが送信する書き込みデータのサイズを常に限界値に設定しておけば、書き込み時間は最小となるが、ライタコントローラと分配器とは通常１本の通信路で接続されているためライタコントローラによる通信路占有率が高くなり、通信効率の観点から好ましくない。従って、通信効率及び書き込み時間の最適化を図ることが必要である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１０２４３８号公報
【特許文献２】特開平１１−２５０６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の書き込みシステムでは、最適状態での書き込みが考慮されない。この点について説明するために、ここで、簡単のため５個のＬＳＩ１１〜１５が図１の従来の書き込みシステムのフラッシュライタ２１〜２５に接続されているとする。図２はその接続状態でのライタコントローラ４とフラッシュライタ２１〜２５との通信を示している。ライタコントローラ４は内部にライタコントローラ命令部４１と書き込み処理部４２とを備えている。なお、図１に示された分配器３は省略されている。データ書き込みの際には、先ず、ライタコントローラ４は書き込みデータを一定サイズに分割し、一定サイズ毎に各ライタ２１〜２５に順次送信する。フラッシュライタ２１は一定サイズの書き込みデータを受信すると、それをＬＳＩ１１に書き込む。同様に、フラッシュライタ２２は一定サイズの書き込みデータを受信すると、それをＬＳＩ１２に書き込む。フラッシュライタ２３〜２５も同様にＬＳＩ１３〜１５に書き込む。ライタコントローラ４は書き込み結果をフラッシュライタ２１〜２５に問い合わせする。全てのフラッシュライタ２１〜２５から書き込み結果が返ってきたことを確認して、２回目の一定サイズのデータ書き込みを行う。以上の動作が書き込みデータがなくなるまで繰り返される。
【０００８】
かかる書き込みシステムにおいては、図３に示すように、一定サイズのデータ書き込みについて書き込みデータ送信処理と書き込み結果受信処理とが実行される。図３において、ライタコントローラ４が１つのＬＳＩに対する一定サイズの書き込みデータを用意して送信するまでの時間をＴｔとし、フラッシュライタ２１〜２５各々がデータを受信してそれを書き込み完了するまでの時間をＴw1とし、また、ライタコントローラ４がフラッシュライタ毎の書き込み結果を受信する期間をＴw2としている。書き込み時間ＴwはＴw＝Ｔw1＋Ｔw2と定義される。
【０００９】
ライタコントローラ４からみると、書き込みデータ送信処理後、直ちに書き込み結果受信処理に移行することが行われている。これは書き込み結果がいつフラッシュライタ２１〜２５から返ってくるか予想できないためである。従って、書き込み結果を受信するまではライタコントローラ４は通信路を書き込み結果受信処理のために占有することになるため、１回当たりの書き込みデータサイズを小さくした方が通信効率は良い。しかしながら、あまりにも書き込みデータサイズが小さい場合には、書き込みデータ送信処理完了前に既にデータを受信したフラッシュライタによるデータの書き込みが終了してしまい、それらフラッシュライタの待ち時間が発生して書き込み時間短縮化が図れない。すなわち、書き込みデータサイズを最適値に設定する必要があるが、その最適値は事前に決定することは困難である。なぜならば、ライタコントローラ４の処理速度、通信路の通信速度、フラッシュライタ２１〜２５の処理速度、ＬＳＩ１１〜１５各々に搭載されているフラッシュメモリの書き込み速度といった様々なパラメータに依存するためである。よって、従来の書き込みシステムにおいては、最適状態での書き込みが考慮されていないという問題があった。
【００１０】
そこで、本発明の目的は、１つのメモリライタへの１回のデータ送信当たりの最適なデータ量を決定して通信効率と書き込み速度の最適化を可能にしたメモリ書き込みシステム及び方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明のメモリ書き込みシステムは、ライトコントローラと、複数のメモリライタとを備え、前記ライタコントローラはデータを通信路を介して前記複数のメモリライタに順次送信してそれを繰り返し、前記複数のメモリライタ各々は前記ライタコントローラから送信されたデータを受信する毎にその受信データを不揮発性メモリに書き込むメモリ書き込みシステムであって、前記ライタコントローラから１送信当たりに送信されるデータ量を複数のメモリライタ各々で異なる値に設定する第１設定手段と、前記データ量毎に前記ライタコントローラから前記複数のメモリライタのうちの対応するメモリライタに送信させる第１送信制御手段と、前記データ量毎に前記ライタコントローラがメモリライタ毎にデータを送信するために必要な処理時間と、前記メモリライタによるデータの書き込み時間とを測定する測定手段と、前記データ量各々について前記測定手段によって測定された前記処理時間及び前記データ書き込み時間各々の測定値に応じて前記処理時間と前記データ書き込み時間との相関関係を求める相関検出手段と、前記相関関係に応じて所定のデータ書き込み時間条件を満足するように最適データ量を設定する第２設定手段と、前記最適データ量が設定された後、前記最適データ量で前記ライタコントローラからデータを前記複数のメモリライタに順次送信させる第２送信制御手段と、を備えることを特徴としている。
【００１２】
本発明のメモリ書き込み方法は、ライトコントローラと、複数のメモリライタとを備えたメモリ書き込みシステムにおいて、前記ライタコントローラはデータを通信路を介して前記複数のメモリライタに順次送信してそれを繰り返し、前記複数のメモリライタ各々は前記ライタコントローラから送信されたデータを受信する毎にその受信データを不揮発性メモリに書き込むメモリ書き込み方法であって、前記ライタコントローラから１送信当たりに送信されるデータ量を複数のメモリライタ各々で異なる値に設定する第１設定ステップと、前記データ量毎に前記ライタコントローラから前記複数のメモリライタのうちの対応するメモリライタに送信させる第１送信制御ステップと、前記データ量毎に前記ライタコントローラがメモリライタ毎にデータを送信するために必要な処理時間と、前記メモリライタによるデータの書き込み時間とを測定する測定ステップと、前記データ量各々について前記測定手段によって測定された前記処理時間及び前記データ書き込み時間各々の測定値に応じて前記処理時間と前記データ書き込み時間との相関関係を求める相関検出ステップと、前記相関関係に応じて所定のデータ書き込み時間条件を満足するように最適データ量を設定する第２設定ステップと、前記最適データ量が設定された後、前記最適データ量で前記ライタコントローラからデータを前記複数のメモリライタに順次送信させる第２送信制御ステップと、を備えることを特徴としている。
【発明の効果】
【００１３】
本発明のメモリ書き込みシステム及びメモリ書き込み方法によれば、ライタコントローラのメモリライタ毎にデータを送信するために必要な処理時間とメモリライタ各々によるデータ書き込み時間の測定値から求めた最適データ量に応じて書き込みデータ送信処理及び書き込み結果受信処理を行うので、通信効率と書き込み速度とを最適な状態にして不揮発性メモリへのデータ書き込みを実現することができる。
【図面の簡単な説明】
【００１４】
【図１】従来の書き込みシステムを示すブロック図である。
【図２】図１のライタコントローラの内部構成を含むシステムを示すブロック図である。
【図３】書き込みデータ送信処理及び書き込み結果受信処理のタイミングを示す図である。
【図４】本発明の実施例を示すブロック図である。
【図５】図４のライタコントローラの最適データサイズ算出動作を示すフローチャートである。
【図６】図４のライタコントローラのデータ書き込み動作を示すフローチャートである。
【図７】本発明の他の実施例を示すブロック図である。
【図８】図７のライタコントローラのデータ書き込み動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１６】
図４は本発明によるメモリ書き込みシステムを示している。このメモリ書き込みシステムは、各々がフラッシュメモリを備えた５つの同一のＬＳＩ１１〜１５に対応したシステムであり、図１に示したシステムと同様に、フラッシュライタ２１〜２５、分配器３、及びライタコントローラ４を備えている。
【００１７】
ライタコントローラ４はライタコントロール命令部４１、書き込み処理部４２及び処理時間測定部４３を備えている。ライタコントロール命令部４１は書き込み処理部４２及び時間測定部４３を制御する。ライタコントロール命令部４１は書き込み処理部４２に対して書き込み命令等の命令を発し、各フラッシュライタに最大MAX_SIZEのデータを書き込み処理部４２に送信させることができ、各フラッシュライタから書き込み結果を受信する。書き込み処理部４２は書き込み命令に応じて書き込みデータをフラッシュライタ２１〜２５に対して順番に供給する。
【００１８】
また、ライタコントロール命令部４１は時間測定部４３に対してスタート命令及びストップ命令からなる測定命令を発して時間測定部４３に処理時間を測定させる。時間測定部４３はタイマ（図示せず）を備え、スタート命令に応じてタイマの計測を開始させ、ストップ命令に応じてそのタイマの計測を停止させてタイマの計測時間を処理時間としてライタコントロール命令部４１に供給する。
【００１９】
かかる構成の本発明のメモリ書き込みシステムにおいて、図５に示すように、ライタコントローラ命令部４１は先ず、変数ｎを１として（ステップＳ１）、処理時間測定部４３のタイマに時間計測を開始させる（ステップＳ２）。これはライタコントローラ４自身の処理時間の測定を開始させるためである。そして、ライタコントローラ命令部４１は書き込み処理部４２に命令してフラッシュライタ２ｎに送信するべきデータを用意させ、そのデータをフラッシュライタ２ｎに送信させる（ステップＳ３）。データは書き込み処理部４２から分配器３を介してフラッシュライタ２ｎに伝送される。ここで、フラッシュライタ２ｎ（ｎ＝１〜５）に送信するデータサイズsize_nをsize_n＝(MAX_SIZE／５)×ｎとする。すなわち、フラッシュライタ２１のデータサイズsize_1はMAX_SIZE／５、フラッシュライタ２２のデータサイズsize_2は２(MAX_SIZE／５)、フラッシュライタ２３のデータサイズsize_3は３(MAX_SIZE／５)、フラッシュライタ２４のデータサイズsize_4は４(MAX_SIZE／５)、フラッシュライタ２５のデータサイズsize_5はMAX_SIZEである。
【００２０】
ライタコントローラ命令部４１は、書き込み処理部４２がフラッシュライタ２ｎに送信を完了したことを検出した時点で（ステップＳ４のＹＥＳ）、処理時間測定部４３のタイマの時間計測を停止させる（ステップＳ５）。このとき測定したライタコントローラの処理時間はＴｔとしてライタコントローラ命令部４１に供給される。ライタコントローラ命令部４１は、フラッシュライタ２ｎについての処理時間Ｔｔを記憶する（ステップＳ６）。
【００２１】
次に、ライタコントローラ命令部４１は再度、処理時間測定部４３のタイマに時間計測を開始させる（ステップＳ７）。これはフラッシュライタ２ｎの書き込み時間の測定を開始させるためである。書き込み処理部４２にフラッシュライタ２ｎから書き込み完了の書き込み結果が返ってきたら（ステップＳ８のＹＥＳ）、ライタコントローラ命令部４１は処理時間測定部４３のタイマの時間計測を停止させる（ステップＳ９）。このとき測定した書き込み時間はＴｗとしてライタコントローラ命令部４１に供給される。ライタコントローラ命令部４１は、フラッシュライタ２ｎについての書き込み時間Ｔｗを記憶する（ステップＳ１０）。
【００２２】
このステップＳ２〜Ｓ１０の動作がフラッシュライタ２１以外のフラッシュライタ２２〜２５各々についても同様に実行されるようにする。すなわち、ライタコントローラ命令部４１は、ｎが５以上であるか否かを判別し（ステップＳ１１）、ｎ＜５であるならば、ｎに１を加えて（ステップＳ１２）、ステップＳ２の実行に移行する。一方、ｎ≧５であるならば、次のステップＳ１３に進む。
【００２３】
よって、以上の動作により書き込み時間Ｔｗとしてはフラッシュライタ２１〜２５各々に対する５通りの測定ができるので、ライタコントローラ命令部４１は書き込み時間Ｔｗとデータサイズsize_nの相関を最小二乗法で求める（ステップＳ１３）。求めた相関はＴｗ（size_n）の如き関数として表すとする。
【００２４】
この結果からライタコントローラ４の処理時間と書き込み時間が等しい場合が通信効率と書き込み速度とが最適な状態であることから、最適状態であるための条件（所定のデータ書き込み時間条件）は４Ｔｔ＝Ｔｗ（size_n）である。書き込み処理では、例えば、ライタコントローラ４がフラッシュライタ２１に対するデータの送信が終了するとフラッシュライタ２１がＬＳＩ１１への書き込みを開始する一方、ライタコントローラ４により他の４つのライタ２２〜２５への順次のデータ送信が行われるので、そのライタ２２〜２５へのデータ送信が終了した時点でフラッシュライタ２１がＬＳＩ１１への書き込みを終了して新たなデータを受け入れる状態になっていることが望ましい。よって、１つのフラッシュライタの書き込み時間Ｔｗ（size_n）と４つ分のフラッシュライタへのデータ送信処理時間４Ｔｔとが等しいことが最適状態であるための条件である。この条件を満足するデータサイズsize_nを最適データサイズsize_opt＝size_nとして求める（ステップＳ１４）。
【００２５】
このように最適データサイズsize_optが求められると、ライタコントローラ命令部４１はこれ以降、各フラッシュライタ２１〜２５各々に対して１送信当たり最適データサイズsize_optだけのデータ送信を次のように実行する。
【００２６】
ライタコントローラ命令部４１は図６に示すように、先ず、変数ｎを１として（ステップＳ２１）、送信すべき残りのデータがあるならば書き込み処理部４２に命令してフラッシュライタ２ｎに送信すべきデータサイズsize_optのデータを用意させ、そのデータをフラッシュライタ２ｎに対して送信させる（ステップＳ２２）。ライタコントローラ命令部４１は、書き込み処理部４２がフラッシュライタ２ｎに送信を完了したことを検出した時点で（ステップＳ２３のＹＥＳ）、ｎが５以上であるか否かを判別し（ステップＳ２４）、ｎ＜５であるならば、ｎに１を加えて（ステップＳ２５）、ステップＳ２２の実行に移行する。一方、ｎ≧５であるならば、フラッシュライタ２１〜２５各々に対する書き込みデータ送信処理を行ったので、次のステップＳ２６に進む。
【００２７】
ライタコントローラ命令部４１は、変数ｎを１として（ステップＳ２６）、フラッシュライタ２ｎから書き込み完了の書き込み結果を受信したか否かを判別し（ステップＳ２７）、フラッシュライタ２ｎから書き込み結果を書き込み処理部４２が受信しているならば、ｎが５以上であるか否かを判別し（ステップＳ２８）、ｎ＜５であるならば、ｎに１を加えて（ステップＳ２９）、ステップＳ２７の実行に移行する。一方、ｎ≧５であるならば、フラッシュライタ２１〜２５各々に対する書き込み結果受信処理を行ったので、フラッシュライタ２１〜２５のうちの少なくとも１に対して送信すべきデータがあるか否かを判別する（ステップＳ３０）。フラッシュライタ２１〜２５のうちの少なくとも１に対して送信すべきデータがあるならば、ステップＳ２１に戻ってフラッシュライタ２１〜２５の全てに対するデータ送信が完了するまでは上記のステップＳ２１〜Ｓ３０の動作が繰り返される。なお、図６には示されていないが、送信すべきデータがなくなったフラッシュメモリに対してのステップＳ２２，Ｓ２３は実行されず、それらを迂回して直ちにステップＳ２４が実行され、同様にステップＳ２７は実行されず、それを迂回して直ちにステップＳ２８が実行される。
【００２８】
フラッシュライタ２１〜２５のうちの少なくとも１に対して送信すべきデータがない場合に、全てのフラッシュライタ２１〜２５に対してデータ送信が完了し、その書き込み結果を受信したことになる。
【００２９】
このように、かかる実施例においては、ライタコントローラ４の処理時間Ｔｔとフラッシュライタ２１〜２５各々による書き込み時間Ｔｗの測定値から求めた書き込みデータサイズに応じて書き込みデータ送信処理及び書き込み結果受信処理を行うので、通信効率と書き込み速度とを最適な状態にしてＬＳＩへのデータ書き込みを実現することができる。
【００３０】
また、かかる実施例のメモリ書き込みシステムにおいては、従来のシステムのライタコントローラのみを変更するだけで済むので、安価に実現させることができる。更に、最適な書き込みデータサイズsize_optを実際に書き込む時点で求めるので、その時点のライタコントローラ及びフラッシュライタ各々の処理性能、通信路の通信速度、並びにフラッシュライタの接続台数に対応して最適な書き込みデータサイズsize_optを求めることになり、より最適な状態でＬＳＩへのデータ書き込みを実現することができる。
【００３１】
なお、上記の実施例のステップＳ２７でフラッシュライタ２ｎから書き込み結果を書き込み処理部４２が受信しているならば、フラッシュライタ２ｎに対して送信すべき残りのデータがあるときにはその送信するべきデータサイズsize_optのデータを直ちにフラッシュライタ２ｎに対して送信しても良い。この場合には、そのデータ送信後、ｎに１を加えてｎ＜５であるならば、ステップＳ２７に進むことになる。
【００３２】
図７は本発明の他の実施例としてメモリ書き込みシステムを示している。このメモリ書き込みシステムにおいては、ライタコントローラ４の書き込み処理部４２内に書き込みサイズ管理部４２ａが備えられている。書き込みサイズ管理部４２ａはフラッシュライタ２１〜２５各々についての最適データサイズsize_opt(1)〜size_opt(5)を保存する。
【００３３】
図７のメモリ書き込みシステムのその他の構成については図４に示したシステムと同一である。
【００３４】
かかる図７のメモリ書き込みシステムにおいては、先ず、図５に示したステップＳ１〜ステップＳ１４までの最適データサイズsize_optを設定する動作が行われる。
【００３５】
ステップＳ１４で最適データサイズsize_optを設定すると、図８に示すように、ライタコントローラ命令部４１は、size_opt(1)〜size_opt(5)をその設定した最適データサイズsize_optに等しくさせる（ステップＳ３１）。
【００３６】
次いで、ライタコントローラ命令部４１は変数ｎを１として（ステップＳ３２）、送信すべき残りのデータがあるならば書き込み処理部４２に命令してフラッシュライタ２ｎに送信するべきデータサイズsize_opt(n)のデータを用意させ、そのデータサイズsize_opt(n)のデータをフラッシュライタ２ｎに対して送信させる（ステップＳ３３）。ライタコントローラ命令部４１は、書き込み処理部４２がフラッシュライタ２ｎに送信を完了したことを検出した時点で（ステップＳ３４のＹＥＳ）、ｎが５以上であるか否かを判別し（ステップＳ３５）、ｎ＜５であるならば、ｎに１を加えて（ステップＳ３６）、ステップＳ３３の実行に移行する。一方、ｎ≧５であるならば、フラッシュライタ２１〜２５各々に対する書き込みデータ送信処理を行ったので、次のステップＳ３７に進む。
【００３７】
ライタコントローラ命令部４１は、変数ｎを１として（ステップＳ３７）、フラッシュライタ２ｎから書き込み完了の書き込み結果を受信したか否かを判別する（ステップＳ３８）。この判別はフラッシュライタ２ｎに対する書き込み送信処理をしてから所定の時間が経過した時点に行っても良く、その所定の時間はデータサイズsize_opt(n)に応じて定まる時間であり、上記の最小二乗法で求めた相関Ｔｗ（size_n）をＴｗ（size_opt(n)）として用いることができる。フラッシュライタ２ｎから書き込み結果を書き込み処理部４２が受信しているならば、データサイズsize_opt(n)を所定値offsetだけ増加させ（ステップＳ３９）、ステップＳ４２に進む。一方、フラッシュライタ２ｎから書き込み結果を書き込み処理部４２が受信していないならば、データサイズsize_opt(n)を所定値offsetだけ減少させる（ステップＳ４０）。ステップＳ３９及びＳ４０の実行結果のsize_opt(n)は書き込みサイズ管理部４２ａに保存される。ステップＳ４０の実行後、フラッシュライタ２ｎから書き込み完了の書き込み結果を受信したか否かを判別する（ステップＳ４１）。ステップＳ４１でフラッシュライタ２ｎから書き込み完了の書き込み結果を受信したならば、ステップＳ４２に進む。
【００３８】
ライタコントローラ命令部４１は、ステップＳ４２ではｎが５以上であるか否かを判別し、ｎ＜５であるならば、ｎに１を加えて（ステップＳ４３）、ステップＳ３８の実行に移行する。一方、ｎ≧５であるならば、フラッシュライタ２１〜２５各々に対する書き込み結果受信処理を行ったので、フラッシュライタ２１〜２５のうちの少なくとも１に対して送信すべきデータがあるか否かを判別する（ステップＳ４４）。フラッシュライタ２１〜２５のうちの少なくとも１に対して送信すべきデータがあるならば、ステップＳ３２に戻ってフラッシュライタ２１〜２５の全てに対するデータ送信が完了したまでは上記のステップＳ３２〜Ｓ４４の動作が繰り返される。
【００３９】
ステップＳ１４で設定された最適データサイズsize_optが例えば、５２０Byteであったとし、また所定値offsetを例えば、８０Byteとすると、ステップＳ３８のフラッシュライタ２ｎから書き込み完了の書き込み結果を受信した場合にはデータサイズsize_opt(n)はsize_opt(n)＝５２０＋８０＝６００Byteとなる。よって、次回のフラッシュライタ２ｎに対するデータ送信では６００Byteのデータが送信される。一方、ステップＳ３８のフラッシュライタ２ｎから書き込み完了の書き込み結果を受信しなかった場合にはデータサイズsize_opt(n)はsize_opt(n)＝５２０−８０＝４４０Byteとなる。よって、次回のフラッシュライタ２ｎに対するデータ送信では４４０Byteのデータが送信される。
【００４０】
これにより、書き込み時間が長いＬＳＩについては書き込みデータの送信サイズをより小さく、書き込み時間が短いＬＳＩについてはより大きくして、ＬＳＩ固有の特性上の差による書き込み時間の違いを吸収することができる。よって、ライタコントローラ４の処理時間Ｔｔとフラッシュライタ２１〜２５各々による書き込み時間Ｔｗの測定値から求めた書き込みデータサイズをフラッシュライタ２１〜２５各々について最適化して書き込みデータ送信処理及び書き込み結果受信処理を行うので、通信効率と書き込み速度とを各ＬＳＩ毎に最適な状態にしてＬＳＩへのデータ書き込みを実現することができる。
【００４１】
この図７のメモリ書き込みシステムにおいては、従来のシステムのライタコントローラのみを変更するだけで済むので、安価に実現させることができる。また、データ書き込み中における通信路の伝送状態の変化にも対処することができる。
【００４２】
なお、上記した各実施例においては、不揮発性メモリとしてＬＳＩ１１〜１ｎに搭載されたフラッシュメモリとしているが、これに限定されず、ＲＯＭ，ＰＲＯＭ等の他の種類の不揮発性メモリであっても良い。
【符号の説明】
【００４３】
１１〜１ｎ  ＬＳＩ
２１〜２ｎ  フラッシュライタ
３  分配器
４  ライタコントローラ
４１  ライタコントローラ命令部
４２  書き込み処理部
４３  処理時間測定部
【図１】
2011170669.tif 000003
【図２】
2011170669.tif 000004
【図３】
2011170669.tif 000005
【図４】
2011170669.tif 000006
【図５】
2011170669.tif 000007
【図６】
2011170669.tif 000008
【図７】
2011170669.tif 000009
【図８】
2011170669.tif 000010