(57)【要約】【課題】複数チャネルのキャリブレーションの高速化を実現できるデータ記憶装置を提供することにある。【解決手段】実施形態によれば、データ記憶装置は、インターフェースと制御モジュールとを具備する。インターフェースは、チャネル毎に、書き換え可能な不揮発性メモリの動作を制御する。制御モジュールは、キャリブレーションの実行時に、前記インターフェースを介して、指定したチャネルに対応する不揮発性メモリに対してキャリブレーション用データを同時に書き込むように制御する。【選択図】図１
2011253250.tif 000002
【特許請求の範囲】
【請求項１】
チャネル毎に書き換え可能な不揮発性メモリの動作を制御するインターフェース手段と、
キャリブレーションの実行時に、前記インターフェース手段を介して、指定したチャネルに対応する不揮発性メモリに対してキャリブレーション用データを同時に書き込むように制御する制御手段と
を具備するデータ記憶装置。
【請求項２】
前記制御手段は、
指定したチャネルに対応する前記インターフェース手段に対して、前記不揮発性メモリに前記キャリブレーション用データを書き込むことを指示する情報をセットするレジスタ手段を含む請求項１に記載のデータ記憶装置。
【請求項３】
前記レジスタ手段は、
チャネルを指定するレジスタと、
前記キャリブレーション用データを指定するレジスタと
を含む請求項２に記載のデータ記憶装置。
【請求項４】
前記キャリブレーション用データを格納するメモリを有し、
前記レジスタ手段は、
チャネルを指定するレジスタと、
前記メモリのアドレスをセットし、前記キャリブレーション用データを指定するレジスタと
を含む請求項２に記載のデータ記憶装置。
【請求項５】
前記レジスタ手段は、
前記不揮発性メモリに前記キャリブレーション用データを書き込むことを、前記インターフェース手段に指示するコマンドをセットするレジスタを含む請求項３又は請求項４のいずれか１項に記載のデータ記憶装置。
【請求項６】
前記制御手段は、
前記不揮発性メモリに書き込まれた前記キャリブレーション用データに基づいて、キャリブレーションを実行するキャリブレーション処理手段を含む請求項１から請求項５のいずれか１項に記載のデータ記憶装置。
【請求項７】
前記制御手段は、
指定した全てのチャネルに対応するキャリブレーション用データの書き込み動作が終了した後に、前記キャリブレーション処理手段によるキャリブレーションを実行させる請求項６に記載のデータ記憶装置。
【請求項８】
前記キャリブレーション処理手段は、
前記不揮発性メモリのデータとストローブ信号との位相関係を補正する補正手段を含む請求項６又は請求項７のいずれか１項に記載のデータ記憶装置。
【請求項９】
前記不揮発性メモリは、フラッシュメモリである請求項１から請求項８のいずれか１項に記載のデータ記憶装置。
【請求項１０】
チャネル毎に書き換え可能な不揮発性メモリのキャリブレーションを実行するメモリ調整方法であって、
キャリブレーションの実行時にチャネルを指定し、
前記指定したチャネルに対応する不揮発性メモリに対してキャリブレーション用データを同時に書き込むメモリ調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性メモリを記憶媒体とするデータ記憶装置に関する。
【背景技術】
【０００２】
従来、データ記憶装置として、書き換え可能な不揮発性メモリであるNANDフラッシュメモリ（以下、単にNANDメモリと表記する場合がある）を記憶媒体とするＳＳＤ（solid state drive）が開発されている。特に、サーバ用またはエンタープライズ向けのデータ記憶装置としては、大容量のＳＳＤが実現されている。
【０００３】
一般的に、ＤＲＡＭなどの高速ＩＣメモリでは、データをラッチするためのストローブ信号のタイミング調整（キャリブレーションと呼ぶ）が必要である。NANDメモリは相対的に低速メモリであるが、大容量のＳＳＤを実現するためには当該キャリブレーションが必要になっている。これは、１つのパッケージ内に多数のNANDメモリが集中的に配置され、かつパッケージ数の増加により、配線の引き廻しや負荷の増大で信号波形が鈍るなどのためである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５２６３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、大容量化のＳＳＤは、NANDメモリのインターフェースのチャネル数が増加している。このため、特に製造工程の効率化を図るためには、複数チャネルに対するキャリブレーションの高速化が要求される。
【０００６】
本発明の目的は、複数チャネルのキャリブレーションの高速化を実現できるデータ記憶装置を提供することにある。
【課題を解決するための手段】
【０００７】
実施形態によれば、データ記憶装置は、インターフェース手段と制御手段とを具備する。インターフェース手段は、チャネル毎に、書き換え可能な不揮発性メモリの動作を制御する。制御手段は、キャリブレーションの実行時に、前記インターフェース手段を介して、指定したチャネルに対応する不揮発性メモリに対してキャリブレーション用データを同時に書き込むように制御する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に関するデータ記憶装置の構成を説明するためのブロック図。
【図２】実施形態に関するシステム制御モジュールの構成を説明するためのブロック図。
【図３】実施形態に関するキャリブレーションの動作を説明するためのフローチャート。
【発明を実施するための形態】
【０００９】
以下図面を参照して、実施形態を説明する。
【００１０】
［データ記憶装置の構成］
図１は、実施形態のデータ記憶装置の構成を示すブロック図である。
【００１１】
実施形態のデータ記憶装置は、NAND型フラッシュメモリを記憶媒体として使用するＳＳＤ（solid state drive）である。図１に示すように、データ記憶装置は、NANDメモリコントローラ（以下、単にコントローラと表記する）１と、複数のNAND型フラッシュメモリ（NANDメモリ）３と、ＤＲＡＭ（dynamic random access memory）８とを有する。
【００１２】
各NANDメモリ３は、チャネル（ＣＨｎ）毎にパッケージ化されており、NAND型フラッシュメモリである。ＤＲＡＭ８は、バッファメモリとして動作し、後述するキャリブレーション用データを格納する。
【００１３】
コントローラ１は、複数チャネル（ＣＨｎ）分のNANDメモリインターフェース（以下、単にインターフェースと表記する）２と、システム制御モジュール６と、ＤＲＡＭインターフェース７と、ホストインターフェース９と、バス１１とを有する。
【００１４】
システム制御モジュール６は、インターフェース２を介して、各NANDメモリ３に対するデータの書き込み動作及び各NANDメモリ３からのデータの読み出し動作を制御する。また、システム制御モジュール６は、後述するように、各NANDメモリ３のキャリブレーションを実行する。
【００１５】
ＤＲＡＭインターフェース７は、ＤＲＡＭ８とバス１１間のデータ転送を制御する。即ち、システム制御モジュール６は、ＤＲＡＭインターフェース７を介してＤＲＡＭ８にデータを書き込み、ＤＲＡＭ８からデータを読み出す。ホストインターフェース９は、ホストデバイス１０とバス１１間のデータ又はコマンドの転送を制御する。ホストデバイス１０は、例えばパーソナルコンピュータである。
【００１６】
インターフェース２は、チャネル（ＣＨｎ）毎に割り当てられた各NANDメモリ３の動作を制御する。インターフェース２は、インターフェース信号線を介して各NANDメモリ３と接続し、メモリ制御に必要なチップイネーブル信号２０、アドレス信号２１、リード／ライトデータ２２、コントロール信号２３のそれぞれを送受信する。インターフェース２は、ＳＲＡＭ（static random access memory）４及びＤＬＬ（delay-locked loop）５を有する。ＳＲＡＭ４はバッファメモリとして動作する。ＤＬＬ５は、キャリブレーション（ストローブ信号のタイミング調整）を実行するために必要な補正処理を実行する。補正処理とは、データとストローブ信号との位相関係を補正する処理である。
【００１７】
図２は、システム制御モジュール６の構成を説明するためのブロック図である。
【００１８】
図２に示すように、システム制御モジュール６は、キャリブレーションの実行時に使用するレジスタ６１〜６５を有する。
【００１９】
レジスタ６１は、複数のチャネル（ＣＨｎ）の中から、アクセス対象のチャネルを指定するための情報（例えばチャネルコードＣＨ１〜ＣＨｎ）をセットする。なお、レジスタ６１は複数のチャネルを指定できる。
【００２０】
レジスタ６２は、インターフェース２に対して発行するコマンド（ここでは、ライトコマンド）をセットする。
【００２１】
レジスタ６３は、レジスタ６２でセットされたコマンドの発行を開始するためのフラグをセットする。
【００２２】
レジスタ６４は、コマンドに応じたアクセス対象のデータを指定するアドレスをセットする。ここでは、レジスタ６４は、ライトコマンドによりNANDメモリ３に書き込むデータ（ライトデータ）を指定するＤＲＡＭ８のアドレスをセットする。ＤＲＡＭ８の指定アドレスには、キャリブレーション用データが格納される。
【００２３】
レジスタ６５は、レジスタ６４でセットされたアドレスで指定されるライトデータの書き込みを開始するためのフラグをセットする。
【００２４】
［データ記憶装置の動作］
次に、図３のフローチャートを参照して、実施形態のデータ記憶装置の動作として、キャリブレーション処理を説明する。
【００２５】
例えば製造工程時に、ホストデバイス１０は、キャリブレーション用ソフトウエアの実行に基づいて、コントローラ１に対してキャリブレーション実行の指示を行なう。このとき、ホストデバイス１０は、キャリブレーション実行の指示に伴って、キャリブレーション用データをコントローラ１に送信する。システム制御モジュール６は、ＤＲＡＭインターフェース７を介して、ＤＲＡＭ８にキャリブレーション用データを格納する。
【００２６】
システム制御モジュール６は、ホストデバイス１０からの指示に基づいて、レジスタ６１にアクセス対象のチャネルを指定するための情報（チャネルコードＣＨ１〜ＣＨｎ）をセットする（ブロック１０１）。システム制御モジュール６は、例えば、全てのチャネル（ＣＨ１〜ＣＨｎ）を指定する。
【００２７】
さらに、システム制御モジュール６は、ホストデバイス１０からの指示に基づいて、キャリブレーション用データを、チャネル毎のNANDメモリ３に書き込むためのライトコマンドをレジスタ６２にセットする（ブロック１０２）。システム制御モジュール６は、レジスタ６２にセットされたライトコマンドの発行を開始するためのフラグをレジスタ６３にセットする。
【００２８】
システム制御モジュール６は、レジスタ６３にセットされたフラグに基づいて、レジスタ６１で指定されたチャネル（ここでは全チャネル）に対して同時にライトコマンドを発行する（ブロック１０３）。続いて、システム制御モジュール６は、ライトコマンドにより書き込むデータ（ライトデータ）を指定するためのＤＲＡＭ８のアドレスを、レジスタ６４にセットする（ブロック１０４）。このＤＲＡＭ８のアドレスは、ホストデバイス１０がＤＲＡＭ８に格納したキャリブレーション用データの指定アドレスである。
【００２９】
さらに、システム制御モジュール６は、レジスタ６５にライトデータの書き込みを開始するためのフラグをセットすることで、指定したチャネル（全チャネル）の各インターフェース２にデータ（キャリブレーション用データ）の書き込み開始を指示する（ブロック１０５）。これにより、指定したチャネル（全チャネル）に対応する各インターフェース２はそれぞれ、同時にチップイネーブル信号２０をアサートし、対応するパッケージの各NANDメモリ３に対して、ＤＲＡＭ８から読み出したキャリブレーション用データを転送し、同時にそのデータを書き込む。
【００３０】
以上のようにして、コントローラ１は、ホストデバイス１０からの指示に基づいて、キャリブレーション処理に必要なキャリブレーション用データを、指定したチャネル（ここでは全チャネル）に対応する各NANDメモリ３に対して同時に書き込むことができる。換言すれば、実施形態は、チャネル毎にキャリブレーション用データを用意して書き込む必要はなく、キャリブレーション対象の全てのチャネルに対して同時にキャリブレーション用データを書き込むことが可能となる。
【００３１】
従って、実施形態によれば、複数チャネル分のNANDメモリ３に対するキャリブレーション用データの書き込みを高速に行なうことができる。なお、実施形態では、全チャネルに対するキャリブレーション用データの書き込み動作について説明したが、コントローラ１は、レジスタ６１によりアクセス対象のチャネルを任意に指定することができる。
【００３２】
以上のようなキャリブレーション用データの書き込みが終了した後に、ホストデバイス１０は、コントローラ１に対してストローブ信号のタイミング調整を指示する。即ち、システム制御モジュール６は、指定したチャネル（全チャネル）の各インターフェース２に対して、各NANDメモリ３に書き込まれたキャリブレーション用データを読み出すリードコマンドを発行する（ブロック１０６）。
【００３３】
各インターフェース２は、各NANDメモリ３からキャリブレーション用データを読み出し、ＤＬＬ５による補正処理を実行する（ブロック１０７）。各インターフェース２のＤＬＬ５は、ストローブ信号のタイミング調整、即ちデータとストローブ信号との位相関係を補正する補正処理を実行する。指定された全てのチャネルに対応するＤＬＬ５による補正処理が終了すると、キャリブレーション処理は終了となる（ブロック１０８）。
【００３４】
以上のようにして実施形態によれば、特に大容量のＳＳＤの製造工程時に、複数チャネル分のNANDメモリに対するキャリブレーションを実行することができる。この場合、実施形態のコントローラ１であれば、複数チャネル分のNANDメモリに対して、キャリブレーション用データを同時に書き込むことができる。従って、複数チャネルのキャリブレーションを高速かつ効率的に行なうことが可能となる。これにより、結果として、大容量のＳＳＤの製造工程の効率化を実現できる。
【００３５】
なお、実施形態は、記憶媒体としてNANDフラッシュメモリを想定したが、これに限ることなく、キャリブレーションの必要なメモリであれば、それ以外の型のメモリを使用するＳＳＤにも適用できる。また、実施形態は、ＳＳＤの製造工程でのキャリブレーション処理に適用する場合について説明したが、これに限ることなく、ＳＳＤの修理工程時などのキャリブレーション処理にも適用できる。
【００３６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【符号の説明】
【００３７】
１…NANDメモリコントローラ（コントローラ）、
２…NANDメモリインターフェース（インターフェース）、
３…NAND型フラッシュメモリ（NANDメモリ）、４…ＳＲＡＭ、
５…ＤＬＬ（delay-locked loop）、６…システム制御モジュール、
７…ＤＲＡＭインターフェース、８…ＤＲＡＭ、９…ホストインターフェース、
１０…ホストデバイス、１１…バス、６１〜６５…レジスタ。
【図１】
2011253250.tif 000003
【図２】
2011253250.tif 000004
【図３】
2011253250.tif 000005
【手続補正書】
【提出日】平成23年7月29日(2011.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
チャネル毎に書き換え可能な不揮発性メモリと、
前記不揮発性メモリの動作を制御するインターフェース手段と、
キャリブレーション用データを格納するメモリと、
キャリブレーションの実行を制御する制御手段とを有し、
前記制御手段は、
前記キャリブレーションの実行時に、指定したチャネルの不揮発性メモリに対して前記キャリブレーション用データを書き込むためのコマンド及び前記メモリのアドレスを前記インターフェース手段に発行し、
前記インターフェース手段を介して、前記メモリから読み出した前記キャリブレーション用データを前記指定したチャネルの不揮発性メモリに対して同時に書き込むように制御し、
指定した全てのチャネルに対応する前記キャリブレーション用データの書き込み動作が終了した後に、前記キャリブレーション用データに基づいてキャリブレーションを実行させるように制御するデータ記憶装置。
【請求項２】
前記制御手段は、
前記チャネルを指定する情報、前記コマンド、前記アドレスを設定するためのレジスタ手段を含む請求項１に記載のデータ記憶装置。
【請求項３】
前記制御手段は、
前記不揮発性メモリから前記キャリブレーション用データを読み出して、前記キャリブレーションを実行するキャリブレーション処理手段を含む請求項１から請求項２のいずれか１項に記載のデータ記憶装置。
【請求項４】
前記キャリブレーション処理手段は、
前記不揮発性メモリのデータとストローブ信号との位相関係を補正する補正手段を含む請求項３に記載のデータ記憶装置。
【請求項５】
前記不揮発性メモリは、フラッシュメモリである請求項１から請求項４のいずれか１項に記載のデータ記憶装置。
【請求項６】
チャネル毎に書き換え可能な不揮発性メモリ及びキャリブレーション用データを格納するメモリを有するデータ記憶装置に適用するデータ記憶制御装置であって、
前記不揮発性メモリの動作を制御するインターフェース手段と、
キャリブレーションの実行を制御する制御手段とを有し、
前記制御手段は、
前記キャリブレーションの実行時に、指定したチャネルの不揮発性メモリに対して前記キャリブレーション用データを書き込むためのコマンド及び前記メモリのアドレスを前記インターフェース手段に発行し、
前記インターフェース手段を介して、前記メモリから読み出した前記キャリブレーション用データを前記指定したチャネルの不揮発性メモリに対して同時に書き込むように制御し、
指定した全てのチャネルに対応する前記キャリブレーション用データの書き込み動作が終了した後に、前記キャリブレーション用データに基づいてキャリブレーションを実行させるように制御するデータ記憶制御装置。
【請求項７】
チャネル毎に書き換え可能な不揮発性メモリのキャリブレーションを実行するメモリ調整方法であって、
キャリブレーションの実行時にチャネルを指定し、
指定したチャネルの不揮発性メモリに対して前記キャリブレーション用データを書き込むためのコマンド及び前記キャリブレーション用データを格納したメモリのアドレスを発行し、
前記メモリから読み出した前記キャリブレーション用データを前記指定したチャネルの不揮発性メモリに対して同時に書き込み、
指定した全てのチャネルに対応するキャリブレーション用データの書き込み動作が終了した後に、前記キャリブレーション用データに基づいてキャリブレーションを実行させるメモリ調整方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本実施形態によれば、データ記憶装置は、チャネル毎に書き換え可能な不揮発性メモリと、インターフェース手段と、キャリブレーション用データを格納するメモリと、キャリブレーションの実行を制御する制御手段とを具備する。前記インターフェース手段は、前記不揮発性メモリの動作を制御する。前記制御手段は、前記キャリブレーションの実行時に、指定したチャネルの不揮発性メモリに対して前記キャリブレーション用データを書き込むためのコマンド及び前記メモリのアドレスを前記インターフェース手段に発行し、前記インターフェース手段を介して、前記メモリから読み出した前記キャリブレーション用データを前記指定したチャネルの不揮発性メモリに対して同時に書き込むように制御し、指定した全てのチャネルに対応する前記キャリブレーション用データの書き込み動作が終了した後に、前記キャリブレーション用データに基づいてキャリブレーションを実行させるように制御する。