【実施例1】
【0013】
図1は、本実施例のデータ書き込みシステムの構成を示すブロック図である。本実施例のデータ書き込みシステム100は、書き込み装置10及び複数の記憶装置20−1〜20−n(n:2以上の整数)から構成されている。書き込み装置10及び記憶装置20−1〜20−nは、データバスラインDBLを介して接続されている。
【0014】
記憶装置20−1〜20−nには、各々を識別するための識別情報として、ユニークIDが割り当てられている。例えば、記憶装置20−1にはID−1、記憶装置20−2にはID−2、記憶装置20−3にはID−3、記憶装置20−4にはID−4、記憶装置20−5にはID−5、記憶装置20−6にはID−6、記憶装置20−(n−1)にはID−(n−1)、記憶装置20−nにはID−nが割り当てられている。
【0015】
図2は、書き込み装置10と、記憶装置20−1〜20−nのうちの1つ(記憶装置20と称する)の構成を示すブロック図である。
【0016】
書き込み装置10は、例えば半導体記憶装置にデータを書き込むライターであり、ユニークデータDB(データベース)11、処理制御部12及びインタフェース部13を有する。
【0017】
図3Aに示すように、ユニークDB11には、記憶装置20−1〜20−nの各々に対応する固有のデータであるユニークデータ(UD1〜UDn)が各記憶装置のユニークID(ID−1〜IDn)と対応付けて格納されている。ユニークデータUD1〜UDnは、本実施例のデータ書き込みシステム100が実行するデータ書き込み処理において、記憶装置20−1〜20−nへの書き込み対象となるデータである。
【0018】
また、ユニークデータDB11には、記憶装置20−1〜20−n以外の他の記憶装置(例えば、記憶装置20−1〜20−nとは異なる機会でデータの書き込みを行う記憶装置)のユニークデータ(例えば、UDX)も、当該他の記憶装置のユニークID(例えば、ID−X)と対応付けて格納されている。
【0019】
再び
図2を参照すると、処理制御部12は、本実施例のデータ書き込み処理における各種のデータ処理及び書き込み装置10の各ブロックの制御を行う。具体的には、処理制御部12は、インタフェース部13が記憶装置20−1〜20−nから受信したユニークIDに基づいて、ユニークデータDB11から対応するユニークデータを読み出す。
【0020】
また、処理制御部12は、読み出したユニークデータに基づいて、結合データCDを生成する。すなわち、処理制御部12は、本実施例におけるユニークデータの書き込み対象である記憶装置20−1〜20−nのユニークID(ID−1〜ID−n)を取得し、取得したユニークIDに基づいて対応するユニークデータ(UD1〜UDn)をユニークデータDB11から検索及び抽出し、ユニークID及びユニークデータを結合して結合データCDを生成する。
【0021】
図3Bは、結合データCDに含まれるデータ内容の例を模式的に示す図である。結合データCDは、複数のユニークID(ID−1〜ID−n)及びこれに対応するユニークデータ(UD1〜UDn)が結合した1つのデータとして構成されている。
【0022】
再び
図2を参照すると、処理制御部12は、記憶装置20−1〜20−nに並列にユニークデータを書き込むことを示す並列書込信号PWSを生成する。
【0023】
インタフェース部13は、記憶装置20−1〜20−nからデータバスラインDBLを介してユニークIDを受信する。また、インタフェース部13は、データバスラインDBLを介して、結合データCD及び並列書込信号PWSを記憶装置20−1〜20−nに送信する。
【0024】
図4に示すように、書き込み装置10から記憶装置20−1〜20−nには、データバスラインDBLを介して、同じ結合データCD及び並列書込信号PWSが供給される。
【0025】
再び
図2を参照すると、記憶装置20は、フラッシュコントローラ21及びフラッシュメモリ22を有する。フラッシュコントローラ21は、不揮発性記憶装置であるフラッシュメモリ22を制御する制御部である。フラッシュコントローラ21は、インタフェース部23、バッファ24、ユニークID記憶部25、CPU26、書き込み回路27及び読み出し回路28を含む。
【0026】
インタフェース部23は、書き込み装置10からデータバスラインDBLを介して送信された結合データCD及び並列書込信号PWSを受信する。また、インタフェース部23は、ユニークID記憶部25に記憶されているユニークIDを書き込み装置10に送信する。
【0027】
バッファ24は、インタフェース部23が受信した結合データCDを一時的に格納する。ユニークID記憶部25は、記憶装置20に割り当てられた固有の識別情報であるユニークIDを記憶する。
【0028】
CPU(Central Processing Unit)26は、フラッシュコントローラ21内の各ブロックの制御を行う。また、CPU26は、ユニークID記憶部25からユニークIDを読み出し、バッファに格納された結合データCDから当該ユニークIDに対応するユニークデータを抽出し、書き込み回路27に供給する。
【0029】
書き込み回路27は、インタフェース部23が受信した並列書込信号PWSに応答してフラッシュメモリ22へのデータの書き込みを行う。読み出し回路28は、フラッシュメモリ22からのデータの読み出しを行う。
【0030】
フラッシュメモリ22は、書き込み回路27によるユニークデータの書き込みにおける書き込み先となるユニークデータ格納部29を有する。
【0031】
次に、本実施例のデータ書き込みシステムにおけるデータ書き込み処理の処理動作について、
図5のフローチャートを参照して説明する。
【0032】
まず、書き込み装置10のインタフェース部13は、データバスラインDBLを介して記憶装置20−1〜20−nからユニークIDを受信する。処理制御部12は、インタフェース部13が受信した記憶装置20−1〜20−nのユニークIDを取得する(ステップS101)。
【0033】
処理制御部12は、ユニークデータDB11にアクセスし、ステップS101で取得したユニークID(すなわち、ID−1〜ID−n)に対応するユニークデータを検索する(ステップS102)。
【0034】
処理制御部12は、検索したユニークデータ(すなわち、UD1〜UDn)をユニークDB11から抽出する(ステップS103)。
【0035】
処理制御部12は、抽出したユニークデータUD1〜UDn及びこれらに対応するユニークID−1〜IDnを結合して、結合データCDを生成する(ステップS104)。
【0036】
インタフェース部13は、処理制御部12の制御に応じて、結合データCDを記憶装置20−1〜20−nに並列に送信する(ステップS105)。
【0037】
処理制御部12は、全ての記憶装置への結合データCDの送信が完了した後、インタフェース部13を介して、記憶装置20−1〜20−nに並列にユニークデータを書き込むことを示す並列書込信号PWSを記憶装置20−1〜20−nに送信する(ステップS106)。
【0038】
記憶装置20−1〜20−nは、データ格納処理を行う(ステップS107)。
【0039】
次に、記憶装置20−1〜20−nの各々が実行するデータ格納処理について、
図6のフローチャートを参照して説明する。
【0040】
記憶装置20−1〜20−nのインタフェース部23は、結合データCDを受信する(ステップS201)。バッファ24は、受信した結合データCDを一時的に格納する(ステップS202)。
【0041】
記憶装置20−1〜20−3のCPU26は、バッファ24に格納されている結合データCDから当該記憶装置のユニークID(すなわち、ユニークID記憶部25に記憶されているユニークID)に対応するユニークデータを検出する(ステップS203)。
【0042】
インタフェース部23は、並列書込信号PWSを受信する(ステップS204)。書き込み回路27は、並列書込信号PWSに応答して、ステップS203で検出されたユニークデータをフラッシュメモリ22のユニークデータ格納部29に格納する(ステップS205)。
【0043】
以上のステップにより、記憶装置20−1〜20−nへのユニークデータの書き込みが完了する。
【0044】
このように、本実施例のデータ書き込みシステム100では、結合データCDを記憶装置20−1〜20−nに並列に送信し、各記憶装置において、当該記憶装置に対応するユニークデータの検出及び格納を行う。
【0045】
次に、本実施例のデータ書き込みシステム100とは異なり、書き込み装置10が結合データCDを送信せず、各記憶装置に対応するユニークデータのみを送信して書き込みを行う場合の例を比較例として、
図7及び
図8を参照して説明する。
【0046】
図7に示すように、比較例のデータ書き込みシステムでは、書き込み装置10は、記憶装置20−1〜20−nに対して、夫々の記憶装置に固有のユニークデータ(UD−1〜UD−n)のみを送信する。すなわち、書き込み装置10は、記憶装置20−1に対してユニークデータUD1、記憶装置20−2に対してユニークデータUD2、記憶装置20−3に対してユニークデータUD3、記憶装置20−4に対してユニークデータUD4、記憶装置20−(n−1)に対してユニークデータUD(n−1)、記憶装置20−nに対してユニークデータUDnを、それぞれ送信する。
【0047】
図8は、比較例のデータ書き込みシステムにおけるデータ書き込み処理の処理動作を示すフローチャートである。
【0048】
まず、書き込み装置10のインタフェース部13は、データバスラインDBLを介して記憶装置20−1〜20−nからユニークIDを受信する。処理制御部12は、記憶装置20−1〜20−nのユニークデータUD1〜UDnを取得する(ステップS301)。
【0049】
次に、データ書き込みシステムの外部に設けられている外部電源(図示せず)から記憶装置20−1〜20−nへの電源供給を停止し、記憶装置20−1〜20−nの全てをいったん電源OFFの状態にする(ステップS302)。
【0050】
処理制御部12は、ユニークデータの書き込み先である記憶装置を示す値m(すなわち、記憶装置20−m)をm=1に設定する(ステップS303)。
【0051】
処理制御部12は、ユニークデータDB11から、記憶装置20−mのユニークIDであるID−mに対応するユニークデータUDmを検索し、抽出する(ステップS304)。
【0052】
外部電源から記憶装置20−mへの電源供給を再開し、記憶装置20−mの電源をONにする(ステップS305)。
【0053】
インタフェース部13は、処理制御部12の制御に応じて、ユニークデータUDmを記憶装置20−mに送信する(ステップS306)。
【0054】
記憶装置20−mは、ユニークデータUDmをメモリに格納する(ステップS307)。
【0055】
書き込み装置10の処理制御部12は、記憶装置20−nまでユニークデータの格納が完了したか否か(すなわち、m=nになったか否か)を判定する(ステップS308)。
【0056】
記憶装置20−nまでユニークデータの格納が完了していないと判定すると(ステップS308:No)、処理制御部12は、mの値を1だけインクリメントして、ステップS304に戻る(ステップS309)。ステップS304〜309をm=nまで繰り返すことにより、記憶装置20−1〜20−nへのユニークデータの格納が完了する。
【0057】
比較例のデータ書き込みシステムでは、以上のようなステップを経て、記憶装置20−1〜20−nへのユニークデータの書き込みが完了する。
【0058】
比較例のデータ書き込み処理では、上記のステップS304〜309の処理を繰り返し行う。従って、(1)書き込み対象である記憶装置の電源のON、(2)ユニークデータの送信、(3)記憶装置へのユニークデータの格納、という一連の処理が記憶装置の数であるn回、繰り返し行われる。
【0059】
これに対し、
図5を参照して説明したように、本実施例のデータ書き込み処理では、結合データCDを各記憶装置に並列に送信する。結合データCDは個々のユニークデータに比べてデータサイズが大きいが、比較例とは異なりデータ送信をシリアルに繰り返し行う必要がないため、トータルでのデータ送信時間は増大しない。また、本実施例では、記憶装置20−1〜20−nの全てが電源ONである状態で一連の処理を行うため、比較例のように各記憶装置の電源をその都度ONにする必要がない。また、本実施例では、各記憶装置へのユニークデータの格納は並列書込信号PWSに応じてパラレルに行われるため、比較例のように各記憶装置へのユニークデータの格納をシリアルに繰り返し行う必要がない。
【0060】
従って、本実施例のデータ書き込みシステムでは、記憶装置の電源のON及び記憶装置へのユニークデータの格納に要する時間が短縮されるため、短い処理時間で複数の記憶装置にユニークデータの書き込みを行うことが可能となる。
【実施例2】
【0061】
図9は、本実施例のデータ書き込みシステムにおける書き込み装置10と、記憶装置20−1〜20−nのうちの1つ(記憶装置20と称する)の構成を示すブロック図である。
【0062】
書き込み装置10は、ユニークデータDB11、処理制御部12及びインタフェース部13を有する。これらの各部の構成及び動作は、実施例1と同様である。
【0063】
記憶装置20は、フラッシュコントローラ21及びフラッシュメモリ22を有する。フラッシュコントローラ21は、インタフェース部23、バッファ24、ユニークID記憶部25、書き込み回路27及び読み出し回路28を含む。また、記憶装置20は、比較器30を有する。
【0064】
比較器30は、ユニークID記憶部25に記憶されているユニークIDと書き込み装置10から送信された結合データCD(すなわち、インタフェース部23が受信した結合ID)に含まれるユニークIDとを比較する。比較器30は、ユニークIDが一致すると、当該ユニークIDに対応するユニークデータを結合データCDから抽出し、バッファ24に格納する。
【0065】
次に、本実施例のデータ書き込み処理において記憶装置20が実行するデータ格納処理について、
図10のフローチャートを参照して説明する。なお、本実施例のデータ書き込み処理のうち、データ格納処理に至るまでの処理については、
図5に示す実施例1の処理と同様である。
【0066】
記憶装置20のインタフェース部23は、結合データCDを受信する(ステップS401)。
【0067】
比較器30は、ユニークID記憶部25からユニークIDを読み出し、結合データCDに含まれるユニークIDと比較する(ステップS402)。
【0068】
比較器30は、比較の結果、一致するユニークIDがある場合には、当該ユニークIDに対応するユニークデータを結合データCDから抽出し、バッファ24に格納する(ステップS403)。
【0069】
インタフェース部23は、並列書込信号PWSを受信する(ステップS404)。書き込み回路27は、バッファ24に格納されているユニークデータを読み出し、並列書込信号PWSに応答して、フラッシュメモリ22のユニークデータ格納部29に格納する(ステップS405)。
【0070】
以上のステップにより、本実施例におけるユニークデータの書き込みが完了する。
【0071】
このように、本実施例のデータ書き込みシステムでは、実施例1と同様、記憶装置20−1〜20−nの電源をONにした状態で処理を行い、各記憶装置へのユニークデータの格納をパラレルに行うため、記憶装置の電源のON及び記憶装置へのユニークデータの格納に要する時間が短縮される。このため、短い処理時間で複数の記憶装置にユニークデータの書き込みを行うことが可能となる。
【0072】
また、本実施例のデータ書き込みシステムでは、記憶装置20は、自身のユニークID(すなわち、ユニークID記憶部25に記憶されているユニークID)と一致するユニークIDに対応するユニークデータのみをバッファ24に格納する。従って、結合データCDをバッファ24に格納する場合と比べて、バッファ24に格納されるデータのデータ量を低減することができる。従って、バッファサイズを小さく抑えることが可能となる。
【0073】
なお、本発明は上記実施形態に限定されない。例えば、上記実施例では、記憶装置がデータを記憶するメモリとしてフラッシュメモリを有する場合について説明した。しかし、メモリの種類はフラッシュメモリに限られず、記憶装置は不揮発性のメモリを有していれば良い。
【0074】
また、上記実施例では、ユニークIDの一致を条件として結合データCDからのユニークデータの検索を行う場合を例として説明した。しかし、ユニークIDに対してCRC(Cyclic Redundancy Check)等のエラー検知符号やECC(Error Correction Code)等のエラー訂正符号を付加し、ユニークID及び符号の一致を条件としてユニークデータを特定する構成としても良い。かかる構成によれば、入力されたユニークIDがノイズなどによりビット化けし、ユニークIDのみの検索では選択するデータに誤り(例えば、半導体記憶装置間でのデータの重複)が生じうるような場合でも、高精度にユニークデータの特定を行うことが可能となる。