IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝メモリ株式会社の特許一覧

<>
  • 特開-メモリシステムおよび制御方法 図1
  • 特開-メモリシステムおよび制御方法 図2
  • 特開-メモリシステムおよび制御方法 図3
  • 特開-メモリシステムおよび制御方法 図4
  • 特開-メモリシステムおよび制御方法 図5
  • 特開-メモリシステムおよび制御方法 図6
  • 特開-メモリシステムおよび制御方法 図7
  • 特開-メモリシステムおよび制御方法 図8
  • 特開-メモリシステムおよび制御方法 図9
  • 特開-メモリシステムおよび制御方法 図10
  • 特開-メモリシステムおよび制御方法 図11
  • 特開-メモリシステムおよび制御方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022051277
(43)【公開日】2022-03-31
(54)【発明の名称】メモリシステムおよび制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20220324BHJP
   G11C 7/10 20060101ALI20220324BHJP
   G11C 7/04 20060101ALI20220324BHJP
   H03K 19/0175 20060101ALI20220324BHJP
   H03K 19/0185 20060101ALN20220324BHJP
【FI】
G06F12/00 564A
G11C7/10 405
G11C7/04
H03K19/0175 220
H03K19/0185
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2020157673
(22)【出願日】2020-09-18
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】今村 倫太郎
(72)【発明者】
【氏名】増渕 勇人
【テーマコード(参考)】
5B160
5J056
【Fターム(参考)】
5B160CC01
5J056AA04
5J056BB00
5J056DD13
5J056DD29
5J056FF08
5J056GG01
5J056GG13
5J056KK01
(57)【要約】
【課題】信号の品質の向上を図ることができるメモリシステムおよび制御方法を提供することである。
【解決手段】実施形態のメモリシステムは、半導体記憶装置と、コントローラとを持つ。前記半導体記憶装置は、出力トランジスタと、前記出力トランジスタの電流の大きさを変更する回路とを有する。前記コントローラは、前記半導体記憶装置から前記出力トランジスタを介して出力される信号を受信し、受信した前記信号のレベルに基づいて前記回路を制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
出力トランジスタと、前記出力トランジスタの電流の大きさを変更する回路とを有する半導体記憶装置と、
前記半導体記憶装置から前記出力トランジスタを介して出力される信号を受信し、受信した前記信号のレベルに基づいて前記回路を制御するコントローラと、
を備えるメモリシステム。
【請求項2】
前記回路は、
前記出力トランジスタのバイアスを設定する回路であり、
前記コントローラは、
前記回路を制御することによって前記バイアスを制御する、
請求項1に記載のメモリシステム。
【請求項3】
前記コントローラは、
ストローブ信号と、前記ストローブ信号に対応する複数のデータ信号とを受信し、前記ストローブ信号と前記複数のデータ信号それぞれとの間の複数の遅延差を検出し、前記複数の遅延差から求められるデータ有効ウィンドウが閾値未満である場合に、前記複数の遅延差のうち遅延差が大きいデータ信号を出力する回路を前記電流が大きくなるように制御する、
請求項1または請求項2に記載のメモリシステム。
【請求項4】
温度を検出する温度センサ、
を備え、
前記コントローラは、
前記温度センサが検出した温度に基づいて、前記回路を制御する、
請求項1から請求項3の何れか一項に記載のメモリシステム。
【請求項5】
前記半導体記憶装置に印加される電圧を検出する検出部、
を備え、
前記コントローラは、
前記検出部が検出した電圧に基づいて、前記回路を制御する、
請求項1から請求項4の何れか一項に記載のメモリシステム。
【請求項6】
電流の大きさを変更可能な出力トランジスタを含む回路を有する半導体記憶装置を備えるメモリシステムの制御方法であって、
前記半導体記憶装置から前記出力トランジスタを介して出力される信号を受信し、
受信した前記信号のレベルに基づいて前記回路に含まれる前記出力トランジスタの電流の大きさを制御する、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、メモリシステムおよび制御方法に関する。
【背景技術】
【0002】
送信する信号のデューティ比を調整可能な半導体集積回路が知られている。送信する信号は優先ところで、半導体集積回路が送信する信号について、立ち上がりや立ち下がりのタイミングを含めた信号の品質の向上が期待されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2019/0109584号明細書
【特許文献2】特許第6322701号公報
【特許文献3】米国特許出願公開第2020/0106650号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、信号の品質の向上を図ることができるメモリシステムおよび制御方法を提供することである。
【課題を解決するための手段】
【0005】
実施形態のメモリシステムは、半導体記憶装置と、コントローラとを持つ。前記半導体記憶装置は、出力トランジスタと、前記出力トランジスタの電流の大きさを変更する回路とを有する。前記コントローラは、前記半導体記憶装置から前記出力トランジスタを介して出力される信号を受信し、受信した前記信号のレベルに基づいて前記回路を制御する。
【図面の簡単な説明】
【0006】
図1】実施形態のメモリシステムの構成を示すブロック図。
図2】実施形態のドライブストレングス切替回路の構成の第1の例を示す図。
図3】実施形態のドライブストレングス切替回路の構成の第2の例を示す図。
図4】実施形態のドライブストレングス切替回路の構成の第3の例を示す図。
図5】実施形態のNAND PHYの構成を示すブロック図。
図6】実施形態の制御回路の構成を示す図。
図7】実施形態のメモリシステムの動作の一例を示すタイミングチャート。
図8】実施形態の受信部が信号受信回路から受信するリードDQSおよびリードDQの一例を示す図。
図9】実施形態のリードDQSおよびリードDQの波形の一例を示す図。
図10】実施形態のメモリシステムの処理フローを示す図。
図11】第1変形例のメモリシステムの構成を示すブロック図。
図12】第2変形例のメモリシステムの構成を示すブロック図。
【発明を実施するための形態】
【0007】
以下、実施形態のメモリシステムおよび制御方法を、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。本明細書で「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば任意の情報)である。
【0008】
本明細書では「読み出し」を「リード」と称する場合があり、「書き込み」を「ライト」と称する場合がある。また本明細書で「書き込む」、「記憶する」、「保存する」は互いに同じ意味で用いられている。このためこれら用語は互いに読み替え可能である。本明細書で「接続」とは、機械的な接続に限定されず、電気的な接続を含む。本明細書で「取得」とは、外部から情報を得る場合に限定されず、自ら算出する場合も含む。
【0009】
メモリシステムは、NAND装置と、NAND装置を制御するメモリコントローラとを備える。メモリコントローラが備える回路であるNAND PHYは、メモリコントローラからNAND装置へ送信される信号のデューティ(Duty)および位相を補正可能に構成される。「位相」は、パルス状の信号のエッジの立ち上がり(または立ち下がり)のタイミングに対応する。
【0010】
メモリシステムにおいてデータを読み出す場合、各ビットに対応する複数の信号が、NAND装置から複数の配線を介してメモリコントローラに並行して出力される。この場合、各ビットに対応するデータを記憶している各半導体素子の、NAND装置における位置によって、各信号が伝播されるメモリコントローラまでの配線など条件が異なる。つまり、NAND装置において各信号を出力する各半導体装置の位置に応じて、各半導体素子に対する負荷条件が異なる。その結果、メモリコントローラがNAND装置から並行して受信する複数の信号のタイミングにばらつきが生じてしまう。
【0011】
そこで、実施形態のメモリシステムは、データを読み出す場合に、NAND装置において各信号を出力する半導体素子の出力電流を調整する。これにより、NAND装置の出力インピーダンスを変更することができ、コントローラが受信する信号のタイミングが変更される。従って、メモリコントローラがNAND装置から並行して受信する複数の信号のタイミングのばらつきを低減することができる。以下、このようなメモリシステムについて説明する。ただし以下に説明する実施形態により本発明が限定されるものではない。
【0012】
<実施形態>
(メモリシステムの全体構成)
図1は、実施形態のメモリシステム1の構成を示すブロック図である。メモリシステム1は、例えば1つのストレージデバイスであり、ホスト装置2と接続される。メモリシステム1は、ホスト装置2の外部記憶装置として機能する。ホスト装置2は、例えば、サーバ装置、パーソナルコンピュータ、またはモバイル型の情報処理装置などにおける、メモリシステム1を制御する装置である。ホスト装置2は、メモリシステム1に対するアクセス要求(リード要求および/またはライト要求)を発行することができる。
【0013】
メモリシステム1は、例えば、メモリコントローラ10と、複数のNAND装置20(図1では1つのみ図示)とを備える。メモリコントローラ10は、「コントローラ」の一例である。各NAND装置20は、「半導体記憶装置」の一例である。
【0014】
(メモリコントローラの構成)
メモリコントローラ10は、例えば、ホストインターフェース回路(ホストI/F)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、CPU(Central Processing Unit)14、ECC(Error Correcting Code)回路15、およびNANDインターフェース回路(NANDI/F)16を備える。メモリコントローラ10が備えるこれらは、バス17で互いに接続される。例えば、メモリコントローラ10は、これらが1つのチップに纏められたSoC(System on a Chip)で構成される。ただし、これら構成の一部は、メモリコントローラ10の外部に設けられてもよい。RAM12、ROM13、CPU14、およびECC回路15のうち1つ以上は、NANDI/F16の内部に設けられてもよい。
【0015】
ホストI/F11は、CPU14による制御の下で、ホスト装置2とメモリシステム1との間の通信インターフェースの制御、およびホスト装置2とRAM12との間のデータ転送の制御を実行する。
【0016】
RAM12は、例えば、SDRAM(Synchronous Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などであるが、これらに限定されない。RAM12は、ホスト装置2とNAND装置20との間のデータ転送のためのバッファとして機能する。RAM12は、CPU14にワークエリアを提供する。RAM12には、メモリシステム1の動作時に、ROM13に記憶されているファームウェア(プログラム)がロードされる。
【0017】
CPU14は、ハードウェアプロセッサの一例である。CPU14は、例えばRAM12にロードされたファームウェアを実行することで、メモリコントローラ10の動作を制御する。例えば、CPU14は、NAND装置20に対するデータの書き込み、読み出し、および消去に関する動作を制御する。
【0018】
ECC回路15は、NAND装置20への書き込み対象のデータに対してエラー訂正のための符号化を行う。ECC回路15は、NAND装置20から読み出されたデータにエラーが含まれる場合、書き込み動作時に付与したエラー訂正符号に基づき、読み出されたデータに対してエラー訂正を実行する。
【0019】
NANDI/F16は、CPU14による制御の下で、RAM12とNAND装置20との間のデータ転送の制御を実行する。本実施形態では、NANDI/F16は、複数のチャネルCh(図1では1つのみ図示)を有する。NANDI/F16は、例えば、チャネルChの数に応じた複数のNAND PHY30を含む。
【0020】
NAND PHY30は、NANDI/F16の送受信回路の一部である物理層である。NAND PHY30は、メモリコントローラ10からNAND装置20に送信されるデジタル信号を電気信号に変換する。NAND PHY30は、変換した電気信号を、メモリコントローラ10とNAND装置20との間の伝送線路L(図1には伝送線路Lの一部のみ図示)を通じてNAND装置20に送信する。NAND PHY30は、NAND装置20から送信された電気信号を、伝送線路Lを通じて受信する。伝送線路Lは、差動伝送線路として設けられ得る。NAND PHY30は、受信した電気信号をデジタル信号に変換する。NAND PHY30の内部構成の詳細は、後述する。NAND PHY30は、「半導体集積回路」の一例である。
【0021】
図1に示すように、NAND PHY30とNAND装置20との間で送受信される信号は、データ信号(DQ)、データストローブ信号(DQS)、チップイネーブル信号(CEB)、コマンドラッチイネーブル信号(CLE)、アドレスラッチイネーブル信号(ALE)、ライトイネーブル信号(WEB)、リードイネーブル信号(REB)、および不図示のライトプロテクト信号(WP)などを含む。これら信号は、個別の伝送線路Lを介して送受信される。データ信号(DQ)は並列に送信される信号として設けられ得る。データストローブ信号(DQS)、ライトイネーブル信号(WEB)、およびリードイネーブル信号(REB)の各々は、差動信号でもよい。
【0022】
データ信号(DQ)は、NAND装置20への書き込み対象のデータ(以下「ライトデータ」と称する)の内容を示す信号、NAND装置20からの読み出し対象のデータ(以下「リードデータ」と称する)の内容を示す信号、各種コマンドを示す信号、データの書き込み先または読み出し先のアドレスを示す信号などを含む。データ信号(DQ)は、例えば8ビットを単位として、互いに独立した8本の伝送線路Lを介して送受信される。本実施形態では、データ信号(DQ)であるライトデータおよびリードデータを、それぞれ「ライトDQ」および「リードDQ」と称する場合がある。
【0023】
データストローブ信号(DQS)は、データ信号(DQ)に対応するストローブ信号である。データストローブ信号(DQS)としては、ライトDQに対応するライトデータストローブ信号(以下「ライトDQS」と称する)と、リードDQに対応するリードデータストローブ信号(以下「リードDQS」と称する)とがある。
【0024】
ライトDQSは、ライトDQとともにNAND PHY30からNAND装置20に出力され、NAND装置20内でライトデータの読み取りに用いられる。ライトDQSは、ライトDQの出力に応じて出力される信号であり、トグル信号(“L”(“Low”)レベルと“H”(“High”)レベルとが交互に繰り返される信号)を含む。
【0025】
リードDQSは、リードDQとともにNAND装置20からNAND PHY30に出力され、NAND PHY30内でリードデータの読み取りに用いられる。リードDQSは、リードDQの出力に応じて出力される信号であり、トグル信号を含む。実施形態では、リードDQSは、NAND PHY30からNAND装置20に出力される源振信号(リードデータストローブ源振信号)に基づいてNAND装置20内で生成され、NAND装置20からNAND PHY30に出力される。これについては後述する。
【0026】
チップイネーブル信号(CEB)は、複数のNAND装置20の中からアクセス対象のNAND装置20の選択を可能にし、NAND装置20を選択する際にアサートされる。チップイネーブル信号(CEB)は、アクティブ“L”の信号であり、例えば“L”レベルでアサートされる。コマンドラッチイネーブル信号(CLE)は、NAND PHY30からNAND装置20に出力されるコマンドを、NAND装置20内のコマンドレジスタにラッチすることを可能にする。アドレスラッチイネーブル信号(ALE)は、NAND PHY30からNAND装置20に出力されるアドレスを、NAND装置20内のアドレスレジスタにラッチすることを可能にする。コマンドラッチイネーブル信号(CLE)およびアドレスラッチイネーブル信号(ALE)は、アクティブ“H”の信号であり、例えば“H”レベルでアサートされる。
【0027】
ライトイネーブル信号(WEB)は、NAND装置20にデータ(例えばコマンドまたはアドレス)を送受信することを可能にする。リードイネーブル信号(REB)は、NAND装置20からデータを読み出すことを可能にする。本実施形態では、リードイネーブル信号(REB)は、リードDQSの元になるトグル信号であるリードデータストローブ源振信号を含むことができる。これについては後述する。リードイネーブル信号(REB)は、リードDQを受信するために出力される信号である。ライトプロテクト信号WPは、書き込みおよび消去を禁止する際にアサートされる信号である。
【0028】
(NAND装置の構成)
NAND装置20は、例えば、図1に示すように、切替制御回路3、メモリセルアレイ21、ロジック制御回路22、入出力回路23、レジスタ24、シーケンサ25、電圧生成回路26、ドライバセット27、ロウデコーダ28、およびセンスアンプ29を備える。
【0029】
メモリセルアレイ21は、ワード線およびビット線に関連付けられた複数の不揮発性メモリセルトランジスタ(図示せず)を含み、データを不揮発に記憶する。
【0030】
ロジック制御回路22は、NAND PHY30からチップイネーブル信号(CEB)、コマンドラッチイネーブル信号(CLE)、アドレスラッチイネーブル信号(ALE)、ライトイネーブル信号(WEB)、リードイネーブル信号(REB)、およびライトプロテクト信号(WP)などを受信する。
【0031】
本実施形態では、NAND PHY30からロジック制御回路22に出力されるリードイネーブル信号(REB)は、リードDQSの元となるトグル信号であるリードデータストローブ源振信号(RESS)(以下「源振信号RESS」と称する)を含む。ロジック制御回路22は、受信した源振信号RESSを入出力回路23に出力する。
【0032】
入出力回路23は、入出力回路23とNAND PHY30との間で、データ信号(DQ)およびデータストローブ信号(DQS)を送受信する。例えば、入出力回路23は、ライトイネーブル信号(WEB)に基づいてデータ信号(DQ)内のコマンドおよびアドレスを確定させ、確定させたコマンドおよびアドレスをレジスタ24に転送する。入出力回路23は、NAND PHY30からライトDQおよびライトDQSを受信し、ライトDQSを用いてライトデータを読み取り、読み取ったライトデータをセンスアンプ29に出力する。
【0033】
入出力回路23は、リードデータをセンスアンプ29から受信する。入出力回路23はロジック制御回路22から受信する源振信号RESSを動作クロックとして用いて、受信したリードデータからリードDQを生成する。さらに、入出力回路23は、源振信号RESSを動作クロックとして用いて、リードDQSを生成する。入出力回路23は、生成したリードDQおよびリードDQSをNAND PHY30に出力する。
【0034】
入出力回路23は、図1に示すように、ドライブストレングス切替回路23aを備える。ドライブストレングス切替回路23aは、NAND装置20からメモリコントローラ10へリードDQを出力する入出力回路23の出力段を構成する。ドライブストレングス切替回路23aは、メモリコントローラ10へリードDQを出力する場合のメモリコントローラ10への出力電流の大きさを切り替える。例えば、メモリコントローラ10とNAND装置20との間でリードDQを伝送する伝送線路Lが互いに独立した8本の伝送線路である場合、ドライブストレングス切替回路23aは、メモリコントローラ10による制御の下、それら8本の伝送線路を介してリードDQをメモリコントローラ10へ出力する場合の出力電流の大きさを切り替える。ここで、出力電流を変更するためのドライブストレングス切替回路23aの具体的な構成について説明する。
【0035】
(ドライブストレングス切替回路の構成)
図2図4は、出力電流を変更するためのドライブストレングス切替回路23aの構成の例を示す図である。図2図4に示すドライブストレングス切替回路23aは、出力トランジスタと、その出力トランジスタの電流の大きさを変更する変更回路231とを備える。変更回路231は、メモリコントローラ10によって制御される。なお、ここでの「制御」は、直接制御することと、間接的に制御することとの両方を含む。すなわち、メモリコントローラ10が、切替回路23aに制御信号を直接出力することによって切替回路23aを制御するものであってもよい。また、メモリコントローラ10が、メモリコントローラ10とは別の回路や制御装置(例えば、切替制御回路3)に切替回路23aを制御する指令を出力し、その指令を受信した回路や制御装置が切替回路23aに制御信号を出力することによって切替回路23aを制御するものであってもよい。
【0036】
なお、実施形態では、NAND装置20が切替制御回路3を備え、メモリコントローラ10による制御の下、切替制御回路3がドライブストレングス切替回路23aの出力電流の大きさを制御する場合のメモリシステム1について説明する。ただし、切替制御回路3による制御について説明を省略する場合がある。例えば、「XXが切替制御回路3を介してドライブストレングス切替回路23aの出力電流の大きさを制御する」と記載した場合であっても、XXが切替制御回路3に指令を出力し、切替制御回路3がドライブストレングス切替回路23aに制御信号を出力することによって、ドライブストレングス切替回路23aの出力電流の大きさが制御されるものである。
【0037】
(第1の構成例)
図2は、ドライブストレングス切替回路23aの構成の第1の例を示す図である。ドライブストレングス切替回路23aは、8ビットのリードDQを8つの入力端子INから入力し、出力電流の大きさを変更された8ビットのリードDQを、8つの出力端子OUT0~OUT7からメモリコントローラ10に出力する。ドライブストレングス切替回路23aは、複数の出力回路23b0、23b1、23b2、23b3、23b4、23b5、23b6および23b7を備える。以下、出力回路23b0、23b1、23b2、23b3、23b4、23b5、23b6および23b7を総称して出力回路23bとも呼ぶ。出力回路23bのそれぞれは、入力端子iおよび出力端子oを備える。これらの入力端子iおよび出力端子oが、ドライブストレングス切替回路23aの8つの入力端子INおよび8つの出力端子OUT0~OUT7となる。出力回路23bのそれぞれは、4つのインバータINV1、INV2、INV3およびINV4を備える。各インバータINV1、INV2、INV3およびINV4は、電源の電位VDDとグランドの電位との間に配されている。
【0038】
インバータINV1、INV2、INV3およびINV4のそれぞれは、例えば、NMOSトランジスタとPMOSトランジスタとを備える。インバータINV1、INV2、INV3およびINV4のそれぞれは、出力トランジスタの一例である。インバータINV1の入力端子は、出力回路23b0の入力端子に接続される。インバータINV1の出力端子は、出力回路23b0の出力端子に接続される。インバータINV2の入力端子は、スイッチング素子SW1を介して出力回路23b0の入力端子に接続される。インバータINV2の出力端子は、スイッチング素子SW2を介して出力回路23b0の出力端子に接続される。インバータINV3の入力端子は、スイッチ素子SW3を介して出力回路23b0の入力端子に接続される。インバータINV3の出力端子は、スイッチング素子SW4を介して出力回路23b0の出力端子に接続される。インバータINV4の入力端子は、スイッチング素子SW5を介して出力回路23b0の入力端子に接続される。インバータINV4の出力端子は、スイッチング素子SW6を介して出力回路23b0の出力端子に接続される。スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6のそれぞれは、出力トランジスタの電流の大きさを変更する回路の一例である。スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6のそれぞれは、メモリコントローラ10によってオン状態またはオフ状態に制御される。メモリコントローラ10は、コントローラの一例である。
【0039】
例えば、メモリコントローラ10がスイッチング素子SW1およびSW2をオン状態に制御する。この場合、インバータINV1に並列にインバータINV2が接続される。また、メモリコントローラ10がスイッチング素子SW3およびSW4をオン状態に制御する。この場合、インバータINV1に並列にインバータINV3が接続される。また、メモリコントローラ10がスイッチング素子SW5およびSW6をオン状態に制御する。この場合、インバータINV1に並列にインバータINV4が接続される。インバータINV1に並列にインバータINV2~INV4の何れか2または3が接続されるように、SW1~6が制御されてもよい。つまり、メモリコントローラ10がスイッチング素子SW1、SW2、SW3、SW4、SW5およびSW6のそれぞれをオン状態またはオフ状態に制御することによって、並列に接続されるインバータの種類および数を変更することができる。すなわち、メモリコントローラ10がスイッチング素子SW1、SW2、SW3、SW4、SW5およびSW6のそれぞれをオン状態またはオフ状態に制御することによって、出力回路23b0から出力される出力電流の大きさを変更することができる。なお、インバータINV1、INV2、INV3およびINV4の接続によって、バイアスが決定される。つまり、スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6は、出力トランジスタのバイアスを設定する回路の一例である。なお、出力回路23b1~23b7についても出力回路23b0と同様に制御される。なお、インバータINV1~INV4のそれぞれは、同じ特性であっても異なる特性であってもよい。ここでの特性とは、インバータINV1~INV4を構成するトランジスタのゲート幅Wとゲート長Lとの比(W/L)を含む。インバータINV1~INV4の並列数を変更することにより、インバータINV1のみが動作する場合に比べて出力回路23b0から出力される出力電流を増加させることができる。よって、インバータINV1~INV4のそれぞれを同じ特性にするか異なる特性にするかは、8ビットのリードDQ間のスキューによって要求される調整間隔に応じて決定すればよい。
【0040】
(第2の構成例)
図3は、ドライブストレングス切替回路23a1の構成の第2の例を示す図である。ドライブストレングス切替回路23a1は、8ビットのリードDQを入力端子から入力し、出力電流の大きさを変更された8ビットのリードDQをメモリコントローラ10に出力する。ドライブストレングス切替回路23a1は、出力回路23bのそれぞれにおいて、出力回路23bの入力とインバータINV1の入力との間にスイッチSW7が設けられ、出力回路23bの出力とインバータINV1の出力との間にスイッチSW8が設けられる点で、図2に示したドライブストレングス切替回路23aと異なる。
【0041】
インバータINV1の入力端子は、スイッチング素子SW7を介して出力回路23b0の入力端子に接続される。インバータINV1の出力端子は、スイッチング素子SW8を介して出力回路23b0の出力端子に接続される。スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8のそれぞれは、出力トランジスタの電流の大きさを変更する回路の一例である。スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8のそれぞれは、メモリコントローラ10によってオン状態またはオフ状態に制御される。メモリコントローラ10は、コントローラの一例である。
【0042】
例えば、メモリコントローラ10がスイッチング素子SW7およびSW8をオン状態に制御する。この場合、出力回路23b0の入力端子と出力端子との間にインバータINV1が接続される。また、メモリコントローラ10がスイッチング素子SW1およびSW2をオン状態に制御する。この場合、出力回路23b0の入力端子と出力端子との間にインバータINV2が接続される。また、メモリコントローラ10がスイッチング素子SW3およびSW4をオン状態に制御する。この場合、出力回路23b0の入力端子と出力端子との間にインバータINV3が接続される。また、メモリコントローラ10がスイッチング素子SW5およびSW6をオン状態に制御する。この場合、出力回路23b0の入力端子と出力端子との間にインバータINV4が接続される。つまり、メモリコントローラ10がスイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8のそれぞれをオン状態またはオフ状態に制御することによって、出力回路23b0の入力端子と出力端子との間に接続されるインバータを変更することができる。
【0043】
具体的には、メモリコントローラ10がスイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8のそれぞれをオン状態またはオフ状態に制御することによって、上述の第1の構成例と同様に並列に接続されるインバータの種類および数を変更することができる。また、インバータINV1~INV4それぞれを異なる特性のインバータとした場合、メモリコントローラ10がスイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8のそれぞれをオン状態またはオフ状態に制御することによって、インバータの特性を変更することができる。すなわち、メモリコントローラ10がスイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8のそれぞれをオン状態またはオフ状態に制御することによって、出力回路23b0から出力される出力電流の大きさを変更することができる。なお、インバータINV1、INV2、INV3およびINV4の接続によって、バイアスが決定される。つまり、スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6、SW7、SW8は、出力トランジスタのバイアスを設定する回路の一例である。なお、出力回路23b1~23b7についても出力回路23b0と同様である。なお、インバータINV1~INV4の何れか2または3が接続されるように、スイッチング素子SW1~8が制御されてもよい。なお、インバータINV1~INV4それぞれが同一の特性を有し、ドライブストレングス切替回路23a1は、スイッチング素子SW1~8が制御されることにより、インバータINV1~INV4の並列数が変更されてもよい。
【0044】
(第3の構成例)
図4は、ドライブストレングス切替回路23a2の構成の第3の例を示す図である。ドライブストレングス切替回路23a2は、出力回路23b0、23b1、23b2、23b3、23b4、23b5、23b6および23b7を備える。出力回路23bのそれぞれは、例えば、電流源I1、バッファBuff1、出力段回路O1を備える。電流源I1、バッファBuff1、出力段回路O1は、電源の電位VDDとグランドの電位との間に配されている。
【0045】
電流源I1は、例えば、PMOSトランジスタM1と、抵抗R1とを備える。PMOSトランジスタM1は、後述するPMOSトランジスタM7と共にカレントミラーを構成する。すなわち、PMOSトランジスタM1は、電流源I1が流す電流に基づいて出力トランジスタと共にカレントミラーを構成するトランジスタの一例である。また、PMOSトランジスタM1は、PMOSトランジスタM2ともカレントミラーを構成する。抵抗R1は、抵抗値を変更可能な抵抗である。
【0046】
バッファBuff1は、PMOSトランジスタM2、M3、M4、NMOSトランジスタM5、M6を備える。PMOSトランジスタM2は、電流源I1が出力する電流をミラーリングして、バッファBuff1のテール電流を設定する。PMOSトランジスタM2のゲートは、電流源I1が出力する電流をミラーリングするために、電流源I1が出力する電流が流れるPMOSトランジスタM1のゲートおよびソースに接続される。PMOSトランジスタM3、M4は、バッファBuff1の入力を構成する。NMOSトランジスタM5、M6は、バッファBuff1の入力を構成するPMOSトランジスタM3、M4の負荷を構成する。バッファBuff1をこのように構成し、PMOSトランジスタM4のゲートをバイアスすることによって、バッファBuff1をシングル入力・シングル出力のバッファとすることができる。バイアスの電位は、電源の電位VDDとグランドの電位との間の電位(例えば、VDD/2)に設定される。
【0047】
出力段回路O1は、PMOSトランジスタM7と、NMOSトランジスタM8とを備える。PMOSトランジスタM7のドレインは、NMOSトランジスタM8のドレインに接続される。PMOSトランジスタM7のゲートは、電流源I1が出力する電流をミラーリングするために、電流源I1が出力する電流が流れるPMOSトランジスタM1のゲートおよびソースに接続される。PMOSトランジスタM7は、電流源I1が出力する電流をミラーリングして、出力段回路O1におけるバイアスを設定する。PMOSトランジスタM7は、出力トランジスタの一例である。NMOSトランジスタM8のゲートには、バッファBuff1から出力される信号が入力される。そして、出力段回路O1は、NMOSトランジスタM8のドレインから、バッファBuff1から入力された信号を反転して出力する。
【0048】
なお、第3の構成例では、PMOSトランジスタM1は、電流源I1の一部でもある。出力トランジスタの電流の大きさを変更する回路は、電流源I1を備える。また、電流源I1が出力する電流は、メモリコントローラ10によって電流の大きさが制御される。メモリコントローラ10は、コントローラの一例である。具体的には、メモリコントローラ10は、抵抗R1の抵抗値を変更させることによって、電流源I1が出力する電流の大きさを制御する。
【0049】
図1に戻り説明を続ける。レジスタ24は、コマンドおよびアドレスを保持する。レジスタ24は、アドレスをロウデコーダ28およびセンスアンプ29に転送する。レジスタ24は、コマンドをシーケンサ25に転送する。シーケンサ25は、コマンドを受信し、受信したコマンドに基づくシーケンスに従ってNAND装置20の全体を制御する。
【0050】
電圧生成回路26は、シーケンサ25からの指示に基づき、データの書き込み、読み出し、および消去などの動作に必要な電圧を生成する。電圧生成回路26は、生成した電圧をドライバセット27に供給する。ドライバセット27は、複数のドライバを含み、レジスタ24から受信するアドレスに基づいて、電圧生成回路26からの種々の電圧をロウデコーダ28およびセンスアンプ29に供給する。ドライバセット27は、例えば、アドレス中のロウアドレスに基づき、ロウデコーダ28に種々の電圧を供給する。
【0051】
ロウデコーダ28は、レジスタ24からアドレス中のロウアドレスを受信し、当該ロウアドレスに基づく行のメモリセルを選択する。そして、選択された行のメモリセルには、ロウデコーダ28を介してドライバセット27からの電圧が転送される。
【0052】
センスアンプ29は、データの読み出し時には、メモリセルトランジスタからビット線に読み出されたリードデータをセンスし、センスしたリードデータを入出力回路23に転送する。センスアンプ29は、データの書き込み時には、ビット線を介して書き込まれるライトデータをメモリセルトランジスタに転送する。センスアンプ29は、レジスタ24からアドレス中のカラムアドレスを受取り、当該カラムアドレスに基づくカラムのデータを出力する。
【0053】
切替制御回路3は、メモリコントローラ10による制御の下、ドライブストレングス切替回路23aの出力電流の大きさを変更する。例えば、切替制御回路3は、メモリコントローラ10から、ドライブストレングス切替回路23aの出力電流を増加させる指令を受信する。切替制御回路3は、受信した指令に応じてドライブストレングス切替回路23aの出力電流を増加させる制御信号を、ドライブストレングス切替回路23aに出力する。
【0054】
(NAND PHYの構成)
図5は、NAND PHY30の構成を示すブロック図である。図5は、NAND PHY30の中で信号の送受信に関係する回路の一部を抜き出して示している。NAND PHY30には、信号生成回路C1、信号受信回路C2、および制御回路C4が接続される。信号生成回路C1、信号受信回路C2、および制御回路C4は、例えばそれぞれNANDI/F16に含まれる回路である。ただし、信号生成回路C1、信号受信回路C2、制御回路C4の各々の一部または全部は、CPU14がファームウェアを実行することによって実現されてもよい。信号生成回路C1、信号受信回路C2、および制御回路C4の各々の一部または全部は、NAND PHY30の一部として設けられてもよい。
【0055】
NAND PHY30は、例えば、PLL回路31、第1タイミング調整回路330、第1入出力回路41、第2タイミング調整回路350、第2入出力回路42、第3タイミング調整回路370、第3入出力回路54、およびシーケンサC3を備える。実施形態では、説明の便宜上、信号の入力機能または出力機能のうち少なくとも一方を備える回路を「入出力回路」と称している。例えば、第2入出力回路42は、信号の出力機能のみを有し、信号の入力機能は有しない。
【0056】
PLL(Phase Looked Loop)回路31は、位相同期回路であり、動作クロックCLKの発振器を含む。PLL回路31は、第1タイミング調整回路330の第1入力端子、第2タイミング調整回路350の第1入力端子、および第3タイミング調整回路370の第1入力端子にそれぞれ接続される。PLL回路31は、生成した動作クロックCLKを、第1タイミング調整回路330、第2タイミング調整回路350、および第3タイミング調整回路370にそれぞれ供給する。
【0057】
第2タイミング調整回路350の第2入力端子には、信号生成回路C1から、ライトDQSの出力パターンを示す信号(以下「ライトDQSデータ(またはライトDQSデータ信号)」と称する)が入力される。
【0058】
第1タイミング調整回路330の第2入力端子には、信号生成回路C1から、リードイネーブル信号(REB)の出力パターンを示す信号(以下「REBデータ(またはREBデータ信号)」と称する)が入力される。
【0059】
第3タイミング調整回路370の第2入力端子には、信号生成回路C1から、ライトDQの出力パターンを示す信号(以下「ライトDQデータ(またはライトDQデータ信号)」と称する)が入力される。
【0060】
第1タイミング調整回路330、第2タイミング調整回路350、および第3タイミング調整回路370のそれぞれは、PLL回路31から入力される動作クロックCLKに基づき、信号生成回路C1から入力された信号のタイミング、遅延量、およびデューティ比を調整した信号を生成し、生成した信号を出力する。
【0061】
具体的には、第1タイミング調整回路330は、信号生成回路C1からREBデータが入力され、REBデータと動作クロックCLKとに基づき、源振信号RESSを含むリードイネーブル信号(REB)を生成する。リードイネーブル信号(REB)は、REBデータに対して、タイミング、遅延量、及びデューティ比が調整された信号である。第1タイミング調整回路330は、生成したリードイネーブル信号(REB)を、第2入出力回路42に出力する。リードイネーブル信号(REB)は、後述するように、第2入出力回路42のドライバ42aに出力される。
【0062】
なお、第2タイミング調整回路350および第3タイミング調整回路370は、第1タイミング調整回路330と同様の構成を備える。そのため、上述の第1タイミング調整回路330による調整の説明において、REBデータをライトDQSデータに置き換え、リードイネーブル信号(REB)をライトDQSに置き換えることにより、第2タイミング調整回路350による信号のタイミング調整を第1タイミング調整回路330によるタイミング調整と同様に考えることができる。また、上述の第1タイミング調整回路330による調整の説明において、REBデータをライトDQデータに置き換え、リードイネーブル信号(REB)をライトDQに置き換えることにより、第3タイミング調整回路370による信号のタイミング調整を第1タイミング調整回路330によるタイミング調整と同様に考えることができる。ライトDQSを遅延させることで、ライトDQに対するライトDQSのスキューを調整可能である。なお、第2タイミング調整回路350の出力は、後述する第1入出力回路41のドライバ41aの入力に接続される。また、第3タイミング調整回路370の出力は、後述する第3入出力回路54のドライバ54aの入力に接続される。なお、第1タイミング調整回路330、第2タイミング調整回路350、および第3タイミング調整回路370は、異なる構成を備えてもよい。また、第3タイミング調整回路370は、入力された信号(ライトDQ)のデューティを調整しなくてもよい。
【0063】
第1入出力回路41は、例えば、第1端子41p、ドライバ41a、およびレシーバ41bを備える。第1端子41pは、例えば、NAND PHY30と外部とを接続するための端子であり、伝送線路Lを介してNAND装置20に接続されている。ドライバ41aおよびレシーバ41bは、第1端子41pを共有している。
【0064】
ドライバ41aは、第1入出力回路41に入力される信号(ライトDQS)を、第1端子41pおよび伝送線路Lを介して、NAND装置20に出力する。例えば、ドライバ41aの制御端子には、信号生成回路C1からライトDQSアウトプットイネーブル信号(以下「制御信号S2」と称する)が入力される。ドライバ41aは、制御信号S2が“L”レベルにある場合に、第2タイミング調整回路350から第1入出力回路41に入力される信号(ライトDQS)をNAND装置20に出力可能となる。一方で、ドライバ41aは、制御信号S2が“H”レベルにある場合に、第1入出力回路41に入力される信号の出力を抑制する。
【0065】
レシーバ41bは、NAND装置20から伝送線路Lおよび第1端子41pを介して第1入出力回路41に入力された信号(リードDQS)を受信する。すなわち、ライトDQSおよびリードDQSは、同じ伝送線路Lおよび同じ端子41pを介して送受信される。レシーバ41bは、受信したリードDQSを、信号受信回路C2に出力する。
【0066】
第2入出力回路42は、例えば、第2端子42pおよびドライバ42aを備える。第2端子42pは、例えばNAND PHY30と外部とを接続するための端子であり、伝送線路Lを介してNAND装置20に接続されている。ドライバ42aは、第2入出力回路42に入力される信号(リードイネーブル信号(REB))を、第2端子42pおよび伝送線路Lを介して、NAND装置20に出力する。
【0067】
第3入出力回路54は、例えば、第3端子54p、ドライバ54a、およびレシーバ54bを備える。第3端子54pは、NAND PHY30と外部とを接続するための端子であり、伝送線路Lを介してNAND装置20に接続される。ドライバ54aおよびレシーバ54bは、第3端子54pを共有している。
【0068】
ドライバ54aは、第3入出力回路54に入力される信号(ライトDQ)を、第3端子54pおよび伝送線路Lを介して、NAND装置20に出力する。例えば、ドライバ54aの制御端子には、信号生成回路C1からライトDQアウトプットイネーブル信号(以下「制御信号S3」と称する)が入力される。ドライバ54aは、制御信号S3が“L”レベルにある場合に、第3タイミング調整回路370から第3入出力回路54に入力される信号をNAND装置20に出力可能となる。一方で、ドライバ54aは、制御信号S3が“H”レベルにある場合に、第3タイミング調整回路370から第3入出力回路54に入力される信号の出力を抑制する。
【0069】
レシーバ54bは、NAND装置20から伝送線路Lおよび第3端子54pを介して第3入出力回路54に入力された信号(リードDQ)を受信する。すなわち、ライトDQおよびリードDQは、同じ伝送線路Lおよび同じ端子54pを介して送受信される。レシーバ54bは、受信したリードDQを、信号受信回路C2に出力する。
【0070】
信号受信回路C2は、第1入出力回路41からリードDQSを受信する。信号受信回路C2は、第3入出力回路54からリードDQを受信する。信号受信回路C2は、リードDQSに基づき、リードDQからリードデータを読み取る。また、信号受信回路C2は、受信したリードDQSとリードDQを制御回路C4に出力する。
【0071】
制御回路C4は、信号受信回路C2が受信したリードDQSと、8つのリードDQとに基づいて、NAND装置20にドライブストレングス切替回路23aの出力電流を変更させる指令を出力する。ここで、図6を用いて、制御回路C4の構成を説明する。図6は、制御回路C4の構成の一例を示す図である。制御回路C4は、図6に示すように、受信部C4a、判定部C4b、生成部C4c、送信部C4d、および制御部C4eを備える。
【0072】
受信部C4aは、信号受信回路C2からリードDQSおよび8つのリードDQを受信する。例えば、受信部C4aは、NAND装置20において源振信号RESSを徐々に遅延させた場合の(すなわちリードDQSを徐々に遅延させた場合の)リードDQSおよびリードDQを信号受信回路C2から受信する。
【0073】
判定部C4bは、受信部C4aが受信したリードDQSに対する8つのリードDQの遅延時間を推定し、後述する時間tDVW(Data Valid Window)が所定の時間(閾値の一例)以上であるか否かを判定する。時間tDVWは、データ有効ウィンドウの一例である。時間tDVWは、記憶回路などで使用されるフリップフロップ回路がデータを正しく受信して出力信号を生成することができるか否かの目安となる時間である。この判定の詳細については、後述する。
【0074】
生成部C4cは、時間tDVWが所定の時間未満であると判定部C4bが判定した場合、8つのリードDQのうち、リードDQSに対して最も遅延時間の長いリードDQの信号を出力している出力回路23bの出力電流を増加させる指令を生成する。生成部C4cは、生成した指令を制御部C4eに出力する。これにより、リードDQSに対して最も遅延時間の長いリードDQに関する時間tDVWを長くすることができる。
【0075】
送信部C4dは、NAND装置20にデータを送信する処理部である。制御部C4eは、生成部C4cが生成した指令を、送信部C4dを介してNAND装置20に出力する。
【0076】
(書き込み動作と読み出し動作)
図7は、メモリシステム1の動作を示すタイミングチャートである。まず、NAND装置20に対するデータの書き込みについて説明する。以下の説明では、時点t1、t2、…、tN(Nは任意の自然数)の順に時間が経過するものとする。
【0077】
信号生成回路C1は、時点t1において、アクセス対象のNAND装置20に関するチップイネーブル信号(CEB)を“H”レベルから“L”レベルに遷移させる。これにより、チップイネーブル信号(CEB)がアサートされ、アクセス対象のNAND装置20が選択された状態になる。
【0078】
次に、信号生成回路C1は、時点t2において、コマンドラッチイネーブル信号(CLE)を“L”レベルから“H”レベルに遷移させるとともに、ライトイネーブル信号(WEB)を“H”レベルから“L”レベルに遷移させる。これにより、コマンドラッチイネーブル信号(CLE)およびライトイネーブル信号(WEB)がアサートされる。そして、信号生成回路C1は、ライトイネーブル信号(WEB)を“L”レベルから“H”レベルに遷移させる。この動作に並行して、信号生成回路C1は、NAND PHY30を介して、データの書き込みを指示するライトコマンドを、ライトDQによりNAND装置20へ送信する。信号生成回路C1は、ライトコマンドの送信後、コマンドラッチイネーブル信号(CLE)を“L”レベルに復帰させる。
【0079】
次に、信号生成回路C1は、時点t3において、アドレスラッチイネーブル信号(ALE)を“L”レベルから“H”レベルに遷移させるとともに、ライトイネーブル信号(WEB)を“H”レベルから“L”レベルに遷移させる。これにより、アドレスラッチイネーブル信号(ALE)およびライトイネーブル信号(WEB)がアサートされる。そして、信号生成回路C1は、ライトイネーブル信号(WEB)を“L”レベルから“H”レベルに遷移させる。この動作に並行して、信号生成回路C1は、NAND PHY30を介して、データの書き込み先アドレスを、ライトDQによりNAND装置20へ送信する。信号生成回路C1は、書き込み先アドレスの送信後、アドレスラッチイネーブル信号(ALE)を“L”レベルに復帰させる。
【0080】
次に、信号生成回路C1は、時点t4において、第1信号路30aに入力するライトDQSデータを“H”レベルから“L”レベルに遷移させる。信号生成回路C1からのライトDQSデータは、第2タイミング調整回路350に入力される。第2タイミング調整回路350は、時点t5から時点t6までの間、入力されるライトDQSデータと動作クロックCLKとに基づき、トグル信号であるライトDQSを生成し、生成したライトDQSを出力する。
【0081】
第2タイミング調整回路350からのライトDQSは、タイミング、遅延量、およびデューティ比が調整されている。第2タイミング調整回路350を通過したライトDQSは、第1入出力回路41に入力される。第1入出力回路41のドライバ41aには、信号の出力を許可する“L”レベルのライトDQSアウトプットイネーブル信号(制御信号S2)が信号生成回路C1から供給されている。これにより、第1入出力回路41に入力されたライトDQSは、第1端子41pからNAND装置20へ出力される。
【0082】
一方で、信号生成回路C1は、ライトデータを第3タイミング調整回路370に入力する。第3タイミング調整回路370は、入力されるライトデータと動作クロックCLKとに基づき、ライトDQを生成する。第3タイミング調整回路370からのライトDQは、第3入出力回路54に入力される。第3入出力回路54のドライバ54aには、信号の出力を許可する“L”レベルのライトDQアウトプットイネーブル信号(制御信号S3)が信号生成回路C1から供給されている。これにより、第3入出力回路54に入力されたライトDQは、第3端子54pからNAND装置20へ出力される。
【0083】
その後、信号生成回路C1は、時点t7において、第1信号路30aに入力するライトDQSデータを“L”レベルから“H”レベルに遷移させる。これにより、データの書き込みに関する一連の動作が終了する。
【0084】
次に、NAND装置20に対するデータの読み出しについて説明する。図7に示す例は、データの書き込み動作で選択されたNAND装置20が引き続きデータの読み出し対象となる場合を示す。図7に示す例は、データの読み出し動作に関するコマンドおよびアドレスの送信に関してもライトイネーブル信号(WEB)が兼用される例である。図7中の矢印は、時点t11,t16において制御信号S2により第1入出力回路41のドライバ41aの状態が切り替えられることを示す。
【0085】
信号生成回路C1は、時点t8において、コマンドラッチイネーブル信号(CLE)を“L”レベルから“H”レベルに遷移させるとともに、ライトイネーブル信号(WEB)を“H”レベルから“L”レベルに遷移させる。これにより、コマンドラッチイネーブル信号(CLE)およびライトイネーブル信号(WEB)がアサートされる。そして、信号生成回路C1は、ライトイネーブル信号(WEB)を“L”レベルから“H”レベルに遷移させる。この動作に並行して、信号生成回路C1は、NAND PHY30を介して、データの読み出しを指示するリードコマンドを、ライトDQによりNAND装置20へ送信する。信号生成回路C1は、リードコマンドの送信後、コマンドラッチイネーブル信号(CLE)を“L”レベルに復帰させる。
【0086】
次に、信号生成回路C1は、時点t9において、アドレスラッチイネーブル信号(ALE)を“L”レベルから“H”レベルに遷移させるとともに、ライトイネーブル信号(WEB)を“H”レベルから“L”レベルに遷移させる。これにより、アドレスラッチイネーブル信号(ALE)およびライトイネーブル信号(WEB)がアサートされる。そして、信号生成回路C1は、ライトイネーブル信号(WEB)を“L”レベルから“H”レベルに遷移させる。この動作に並行して、信号生成回路C1は、NAND PHY30を介して、データの読み出し先アドレスを、ライトDQによりNAND装置20へ送信する。信号生成回路C1は、読み出し先アドレスの送信後、アドレスラッチイネーブル信号(ALE)を“L”レベルに復帰させる。
【0087】
次に、信号生成回路C1は、時点t11において、ライトDQSアウトプットイネーブル信号(制御信号S2)を“L”レベルから“H”レベルに遷移させて、時点t16までの間、“H”レベルを維持する。すなわち、制御信号S2をネゲート状態にすることで、第1入出力回路41から信号が出力されることを抑制する。これにより、第1入出力回路41でリードDQSを受信することが可能になる。
【0088】
次に、信号生成回路C1は、時点t12において、第2信号路30bに入力するREBデータを“H”レベルから“L”レベルに遷移させる。これにより、読み出し動作の準備状態であることがNAND装置20に通知される。信号生成回路C1からのREBデータは、第1タイミング調整回路330に入力される。第1タイミング調整回路330は、時点t13から時点t14までの間、入力されるREBデータと動作クロックCLKとに基づき、トグル信号である源振信号RESSを生成する。
【0089】
生成された源振信号RESSは、第1タイミング調整回路330において、タイミング、遅延量、およびデューティ比が調整されている。第1タイミング調整回路330が出力した源振信号RESSは、第2入出力回路42に入力される。これにより、第2入出力回路42に入力された源振信号RESSは、第2端子42pからNAND装置20へ出力される。
【0090】
この動作に応じて、NAND装置20は、NAND PHY30の第1端子41pに対してリードDQSを出力するとともに、NAND PHY30の第3端子54pに対してリードDQを出力する。図7に示すように、リードDQSは、源振信号RESSに対して少し遅れた信号となる。第1入出力回路41は、第1端子41pに入力されたリードDQSを信号受信回路C2に出力する。第3入出力回路54は、第3端子54pに入力されたリードDQを信号受信回路C2に出力する。信号受信回路C2は、入力されるリードDQとリードDQSとに基づき、リードデータを読み取る。
【0091】
その後、信号生成回路C1は、時点t15において、第2信号路30bに入力するREBデータを“L”レベルから“H”レベルに遷移させる。これに応じて、リードDQSは、“L”レベルから“H”レベルに遷移する。これにより、データの読み出しに関するNAND PHY30からの信号の出力動作が終了する。
【0092】
上述したデータの読み出し動作が行われる場合、信号生成回路C1は、ライトDQSデータを“H”レベルに維持する。時点t16において、信号生成回路C1は、“H”レベルに維持していたライトDQSデータを“L”レベルに遷移する。
【0093】
(リードDQ間の遅延ばらつきを低減する動作)
メモリシステム1の出荷時に複数のリードDQ間の遅延のばらつきに関する検査項目が存在する。この検査項目では、例えば、時間tDVWが所定の時間以上であるか否かが判定される。時間tDVWが所定の時間以上であると判定した場合には合格、時間tDVWが所定の時間未満であると判定した場合には不合格となる。以下に示す複数のリードDQ間の遅延ばらつきを低減する動作は、例えば、この検査項目について不合格になったメモリシステム1に対して行われる。これにより、不合格になったメモリシステム1は、その検査項目が合格となり、メモリシステム1の歩留まりが改善される可能性がある。例えば、既知のデータ(例えば、正しいタイミングであれば“H”レベルが読み出されるデータ)を予めNAND装置20に書き込んでおく。その後、源振信号RESSの遅延時間を変更することによってリードDQSのタイミングをずらし、既知のデータが正しく読み出せるリードDQのタイミングの範囲を特定する。このような動作を実行することによって、複数のリードDQ間の遅延ばらつきが求められる。
【0094】
制御回路C4は、NAND装置20に、源振信号RESSの遅延量を徐々に増加させる調整を行わせる。源振信号RESSの遅延量に対して、比例的に、リードDQSの遅延量が変化する。制御回路C4がNAND装置20に源振信号RESSの遅延量を増加させる度に、信号受信回路C2は、第1入出力回路41からリードDQSを受信し、第3入出力回路54からリードDQを受信する。信号受信回路C2は、リードDQSとリードDQを受信する度に、受信したリードDQSとリードDQを制御回路C4に出力する。図8は、信号受信回路C2が受信するリードDQSとリードDQの例である。源振信号RESSの各遅延量(図8では遅延量1、2、3、・・・と記載)に対応するリードDQSの各タイミング(図8ではt1、t2、t3、・・・と記載)に対して、信号受信回路C2が受信したリードDQの各ビットを読み取った論理値が得られる。
【0095】
図9は、リードDQSおよびリードDQの波形の一例を示す図である。図9では、リードDQSの立ち上がりタイミングに対して最小のスキューとなるリードDQ(DQbest)、その最小のスキュー(DQS-DQbest間Skew)、リードDQSの立ち上がりタイミングに対して最大のスキューとなるリードDQ(DQworst)、その最大のスキュー(DQS-DQworst間Skew)、および、時間tDVWが示されている。制御回路C4は、図8に示すリードDQSとリードDQから、DQbestとなるリードDQ、そのリードDQによる最小のスキューであるDQS-DQbest間Skew、DQworstとなるリードDQ、そのリードDQによる最大のスキューであるDQS-DQworst間Skew、および、時間tDVWを求める。図9に示した波形は、例えばオシロスコープなどを利用して得られる波形である。メモリシステム1が、この波形を解析できる機能を有する場合には、得られた波形に対して例えば画像解析処理などを行うことによって、リードDQSの立ち上がりタイミングに対して最小のスキューとなるリードDQ、その最小のスキュー、リードDQSの立ち上がりタイミングに対して最大のスキューとなるリードDQ、その最大のスキュー、および、時間tDVWを求めてもよい。
【0096】
ここで、図10を用いて、複数のリードDQ間の遅延ばらつきを低減する動作を説明する。図10は、リードDQ間の遅延ばらつきを低減する動作を説明するためのフローチャートである。受信部C4aは、信号受信回路C2からリードDQSおよびリードDQを受信する(S1)。受信部C4aは、受信したリードDQSおよびリードDQを判定部C4bに出力する。
【0097】
判定部C4bは、受信部C4aからリードDQSおよびリードDQを受信する。判定部C4bは、受信したリードDQSに対するリードDQの遅延時間を推定する(S2)。例えば、判定部C4bが受信したリードDQSおよびリードDQが図8に示すような結果であったとする。この場合、判定部C4bは、リードDQSの最も早い時刻である時刻t1から昇順で、各時刻で得られたリードDQの論理値を判定する。判定部C4bは、時刻t1には“H”レベルとなったリードDQがないと判定する。次に、判定部C4bは、時刻t2において、論理値“H”レベルとなったDQ0がリードDQSの立ち上がりタイミングに対して最小のスキューとなるリードDQ(DQbest)であると特定する。また、判定部C4bは、最小のスキュー(DQS-DQbest間Skew)を(t2-t1)と特定する。また、判定部C4bは、リードDQSの最も遅い時刻である時刻t4に論理値“H”レベルとなったDQ7がリードDQSの立ち上がりタイミングに対して最大のスキューとなるリードDQ(DQworst)と特定する。また、判定部C4bは、最大のスキュー(DQS-DQworst間Skew)を(t4-t1)と特定する。さらに、判定部C4bは、DQ0の出力が“L”レベルとなる直前の“H”レベルの時刻t31と時刻t4とから時間tDVWを(t31-t4)と特定する(S3)。
【0098】
判定部C4bは、特定した時間tDVWを、閾値(所定時間の一例)と比較する。例えば、閾値は、出荷時の時間tDVWの検査基準であってもよい。そして、判定部C4bは、比較結果に基づいて、特定した時間tDVWが閾値を超えているか否かを判定する(S4)。
【0099】
特定した時間tDVWが閾値を超えていると判定された場合(S4においてYES)、処理は終了する。また、特定した時間tDVWが閾値を超えていないと判定された場合(S4においてNO)、生成部C4cは、リードDQSに対して最も遅延時間の長いリードDQ(図8,9の例ではDQ7のリードDQ)を出力している出力回路23bの出力電流を増加させる指令を生成する(S5)。これは、対象の出力回路23bが出力するリードDQの遅延時間を短くすることで、時間tDVWを長くする目的である。生成部C4cは、生成した指令を制御部C4eに出力する。制御部C4eは、生成部C4cが生成した指令を、送信部C4dを介してNAND装置20に出力する(S6)。
【0100】
NAND装置20において、切替制御回路3は、制御回路C4から指令を受信する。切替制御回路3は、受信した指令が示す出力回路23bを制御して出力電流を増加させる。そして、制御回路C4は、図10に示すフローチャートのS1の処理を再び行う。なお、図10に示す処理は、S4の処理で閾値を超えていると判断するか、S3の処理で特定した新たな時間tDVWが、前回特定した時間tDVWから改善されなくなるまで繰り返される。
【0101】
(利点)
このような構成によれば、複数のリードDQ間のタイミングのばらつきを低減することができる。その結果、読み出したデータの信頼性を向上させることができる。また、時間tDVWを長くすることができるため、より高速に正確なデータを読み出すことが可能になる。つまり、リード時の信号の品質の向上を図ることができる。
【0102】
以下に実施形態のいくつかの変形例を示す。
【0103】
(第1変形例)
図11は、第1変形例のメモリシステム1aの構成を示すブロック図である。第1変形例のメモリシステム1aは、温度センサ4を備える。例えば、温度センサ4は、NAND装置20の内部に設けられ、例えば、入出力回路23に接続される。温度センサ4は、メモリコントローラ10の内部、メモリシステム1aの内部の何れか、に設けられてもよい。上述の実施形態のメモリシステム1は、メモリシステム1の出荷時に時間tDVWが閾値を超えているか否かを判定し、閾値を超えていない場合に、出力回路23bの出力電流を変更させることによって、リードDQの読み取りタイミングを調整するシステムである。それに対して、第1変形例のメモリシステム1aは、温度センサ4が検出した温度に基づいて出力回路23bの出力電流を変更させるシステムである。
【0104】
例えば、温度変化による時間tDVWへの影響が大きい温度範囲が予め設定される。そして、メモリコントローラ10は、温度センサ4が検出する温度を、例えば、入出力回路23を介して監視する。メモリコントローラ10は、監視した温度が、予め設定した温度範囲の温度であると判定した場合に、制御回路C4が源振信号RESSの遅延量を徐々に増加させる調整を行う。この調整は、図10で説明した処理を行えばよい。なお、温度センサ4が検出した温度がメモリシステム1aの処理のトリガとなる以外は、上述の実施形態のメモリシステム1の処理と同様である。
【0105】
このような構成によれば、温度変化により時間tDVWが変動した場合であっても、複数のリードDQ間のタイミングのばらつきを低減することができる。その結果、読み出したデータの信頼性を向上させることができる。また、時間tDVWを長くすることができるため、より高速に正確なデータを読み出すことが可能になる。つまり、リード時の信号の品質の向上を図ることができる。
【0106】
(第2変形例)
図12は、第2変形例のメモリシステム1bの構成を示すブロック図である。第2変形例のメモリシステム1bは、電圧検出部5を備える。電圧検出部5は、NAND装置20の内部に設けられ、例えば、入出力回路23に接続される。電圧検出部5は、メモリコントローラ10の内部、メモリシステム1bの内部の何れか、に設けられてもよい。例えば、電圧検出部5は、基準電位に対して固定電圧値を生成する素子を用いることで、対象となる電圧値を検出することが可能となる。電圧検出部5は、ある電圧値を設定し、その電圧よりも低下した場合に検出信号を出力する。メモリコントローラ10は、例えば、入出力回路23を介して、電圧検出部5が出力する検出信号を監視する。メモリコントローラ10は、電圧検出部5が検出信号を検出したと判定した場合に、制御回路C4が源振信号RESSの遅延量を徐々に増加させる調整を行う。この調整は、図10で説明した処理を行えばよい。なお、電圧検出部5が検出信号を出力することがメモリシステム1bの処理のトリガとなる以外は、上述の実施形態のメモリシステム1,1aの処理と同様である。
【0107】
(第3変形例)
上述の実施形態では、制御回路C4が出力回路23bの出力電流を制御するものとして説明した。しかしながら、出力回路23bの調整後の出力電流を一度設定した後に変更しない場合には、例えば図2図4のいずれかに示したスイッチング素子SW1~SW8および抵抗R1を、レーザトリミング技術を用いた配線の切断によって、構造的に出力トランジスタの接続を決定するものであってもよい。
【0108】
このような構成によれば、制御回路C4を常時動作させる必要がない。その結果、メモリシステム1の出荷後の消費電力を低減させることが可能になる。
【0109】
以上説明した少なくともひとつの実施形態によれば、メモリシステムは、半導体記憶装置と、コントローラとを持つ。前記半導体記憶装置は、出力トランジスタと、前記出力トランジスタの電流の大きさを変更する回路とを有する。前記コントローラは、前記回路を制御する。このような構成によれば、信号の品質の向上を図ることができる。
【0110】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0111】
1…メモリシステム、2…ホスト装置、10…メモリコントローラ(コントローラ)、11…ホストインターフェース回路、12…RAM、13…ROM、14…CPU、15…ECC回路、16…NANDインターフェース回路、20…NAND装置(半導体記憶装置)、21…メモリセルアレイ、22…ロジック制御回路、23…入出力回路、23a…ドライブストレングス切替回路、23b…出力回路、24…レジスタ、25…シーケンサ、26…電圧生成回路、27…ドライバセット、28…ロウデコーダ、29…センスアンプ、30…NAND PHY、31…PLL回路、41…第1入出力回路、42…第2入出力回路、54…第3入出力回路、330…第1タイミング調整回路、350…第2タイミング調整回路、370…第3タイミング調整回路、C1…信号生成回路、C2…信号受信回路、C3…シーケンサ、C4…制御回路、INV1~INV4…インバータ、M1、M2、M3、M4、M7…PMOSトランジスタ、M5、M6、M8…NMOSトランジスタ、R1…抵抗、SW1~SW8…スイッチング素子。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12