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

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

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

<>
  • 特開-メモリシステム 図1
  • 特開-メモリシステム 図2
  • 特開-メモリシステム 図3
  • 特開-メモリシステム 図4
  • 特開-メモリシステム 図5
  • 特開-メモリシステム 図6
  • 特開-メモリシステム 図7
  • 特開-メモリシステム 図8
  • 特開-メモリシステム 図9
  • 特開-メモリシステム 図10
  • 特開-メモリシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131386
(43)【公開日】2024-09-30
(54)【発明の名称】メモリシステム
(51)【国際特許分類】
   G06F 12/00 20060101AFI20240920BHJP
   G06F 13/16 20060101ALI20240920BHJP
   G11C 7/10 20060101ALI20240920BHJP
   G11C 7/22 20060101ALI20240920BHJP
【FI】
G06F12/00 564A
G06F12/00 597U
G06F13/16 520B
G11C7/10 460
G11C7/22
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023041613
(22)【出願日】2023-03-16
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】小泉 慎哉
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160CC01
5B160MB00
(57)【要約】
【課題】不揮発性メモリが正しくデータを取り込むことができるメモリシステムを提供すること。
【解決手段】実施形態に係るメモリシステムは、不揮発性メモリと、不揮発性メモリに電気的に接続されたコントローラと、を具備する。コントローラは、第1信号線を介してライトコマンドとアドレスを不揮発性メモリへ送信し、アドレスを送信してからライトデータを送信するまでの期間の少なくとも一部の期間に、第1信号線を介してダミーデータを不揮発性メモリへ送信し、ダミーデータを送信してから、第2信号線を介してデータストローブ信号を不揮発性メモリへ送信し、データストローブ信号に同期して、第1信号線を介してライトデータを不揮発性メモリへ送信する。
【選択図】図9
【特許請求の範囲】
【請求項1】
不揮発性メモリと、
前記不揮発性メモリに電気的に接続され、
第1信号線を介してライトコマンドとアドレスを前記不揮発性メモリへ送信し、
前記アドレスを送信してからライトデータを送信するまでの期間の少なくとも一部の期間に、前記第1信号線を介してダミーデータを前記不揮発性メモリへ送信し、
前記ダミーデータを送信してから、第2信号線を介してデータストローブ信号を前記不揮発性メモリへ送信し、前記データストローブ信号に同期して、前記第1信号線を介して前記ライトデータを前記不揮発性メモリへ送信する、
ように構成されたコントローラと、を具備する
メモリシステム。
【請求項2】
前記コントローラは、
前記データストローブ信号をハイレベルに維持した状態で、前記第1信号線を介して前記アドレスを前記不揮発性メモリへ送信し、
前記アドレスを送信した後、前記データストローブ信号をローレベルに維持し、
前記データストローブ信号をローレベルに維持した状態で、前記第1信号線を介して前記ダミーデータを前記不揮発性メモリへ送信する、ように構成された、
請求項1記載のメモリシステム。
【請求項3】
前記コントローラは、
前記ダミーデータを送信した後、前記データストローブ信号のトグルを開始し、
前記第1信号線を介して前記ライトデータを、前記データストローブ信号のトグルに同期して前記不揮発性メモリへ送信する、ように構成された、
請求項2記載のメモリシステム。
【請求項4】
前記コントローラは、
アドレスラッチイネーブル信号をアサートした状態で、前記第1信号線を介して前記アドレスを前記不揮発性メモリへ送信し、
前記アドレスを送信した後、前記アドレスラッチイネーブル信号をデアサートし、
前記アドレスラッチイネーブル信号をデアサートした後、前記データストローブ信号をローレベルに維持した状態で、前記第1信号線を介して前記ダミーデータを前記不揮発性メモリへ送信する、ように構成された、
請求項1記載のメモリシステム。
【請求項5】
前記コントローラは、
前記ダミーデータを送信した後、前記データストローブ信号のトグルを開始し、
前記第1信号線を介して前記ライトデータを、前記データストローブ信号のトグルに同期して前記不揮発性メモリへ送信する、ように構成された、
請求項4記載のメモリシステム。
【請求項6】
前記コントローラは、
前記データストローブ信号をハイレベルに維持した状態で、前記第1信号線を介して前記アドレスを前記不揮発性メモリへ送信し、
前記アドレスを送信した後、前記データストローブ信号をローレベルに維持し、
前記データストローブ信号をローレベルに維持した状態で、前記第1信号線を介して前記ダミーデータの前記不揮発性メモリへの送信を開始し、
前記ダミーデータの送信中に、前記データストローブ信号のトグルを開始する、ように構成された、
請求項1記載のメモリシステム。
【請求項7】
前記コントローラは、
前記データストローブ信号をローレベルに維持した状態で、前記第1信号線を介して前記ダミーデータの第1部分を前記不揮発性メモリへ送信し、
前記データストローブ信号のトグルに同期して、前記第1信号線を介して前記ダミーデータの第2部分を前記不揮発性メモリへ送信する、ように構成された、
請求項6記載のメモリシステム。
【請求項8】
前記コントローラは、
前記データストローブ信号をハイレベルに維持した状態で、前記第1信号線を介して前記ダミーデータを前記不揮発性メモリへ送信し、
前記ダミーデータを送信した後、前記データストローブ信号をローレベルに維持し、
前記データストローブ信号をローレベルに維持した後、前記データストローブ信号のトグルを開始し、
前記第1信号線を介して前記ライトデータを、前記データストローブ信号のトグルに同期して前記不揮発性メモリへ送信する、ように構成された、
請求項1記載のメモリシステム。
【請求項9】
前記ダミーデータは、第1ダミーデータと、前記第1ダミーデータに続く第2ダミーデータと、を含み、
前記第1ダミーデータは、全てのビットが第1値のデータであり、
前記第2ダミーデータは、全てのビットが前記第1値とは異なる第2値のデータである、
請求項1乃至請求項8のいずれか一項記載のメモリシステム。
【請求項10】
前記ダミーデータは、第1ダミーデータと、前記第1ダミーデータに続く第2ダミーデータと、を含み、
前記第1ダミーデータは、偶数ビット目が第1値であり奇数ビット目が前記第1値とは異なる第2値であるデータであり、
前記第2ダミーデータは、偶数ビット目が前記第2値であり奇数ビット目が前記第1値であるデータである、
請求項1乃至請求項8のいずれか一項記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【0002】
不揮発性メモリを用いるメモリシステムの一例として、ソリッドステートドライブ(Solid State Drive:以下、SSDと称する)が知られている。SSDは、不揮発性メモリ(例えば、NAND型フラッシュメモリ)とメモリコントローラを備える。メモリコントローラは、I/O信号線を介して、コマンド(及びアドレス)とデータを不揮発性メモリに送信する。メモリコントローラは、I/O信号線とは別の信号線を介して、データストローブ信号を不揮発性メモリに送信する。不揮発性メモリは、データストローブ信号の立ち上がりタイミングを中心とする所定幅の期間内で、データを取り込む。
【0003】
データストローブ信号の波形は、伝送中に歪む場合がある。波形の歪みによりデータストローブ信号の立ち上がりタイミングが所定のタイミングからずれると、不揮発性メモリは、正しいデータを取り込むことができない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2020/174706号明細書
【特許文献2】米国特許出願公開第2019/392886号明細書
【特許文献3】米国特許出願公開第2021/349660号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
一つの実施形態は、不揮発性メモリが正しいデータを取り込むことができるメモリシステムを提供することである。
【課題を解決するための手段】
【0006】
実施形態に係るメモリシステムは、不揮発性メモリと、不揮発性メモリに電気的に接続されたコントローラと、を具備する。コントローラは、第1信号線を介してライトコマンドとアドレスを不揮発性メモリへ送信し、アドレスを送信してからライトデータを送信するまでの期間の少なくとも一部の期間に、第1信号線を介してダミーデータを不揮発性メモリへ送信し、ダミーデータを送信してから、第2信号線を介してデータストローブ信号を不揮発性メモリへ送信し、データストローブ信号に同期して、第1信号線を介してライトデータを不揮発性メモリへ送信する、ように構成される。
【図面の簡単な説明】
【0007】
図1】第1実施形態に係るメモリシステムを含む情報処理システムの一例を説明するための図。
図2】第1実施形態に係るNANDチップの構成の一例を説明するための図。
図3】第1実施形態に係るライト動作時の信号波形の一例を説明するための図。
図4】第1実施形態に係る入力回路の一例を説明するための回路図。
図5】第1実施形態に係る入力回路の一動作例を説明するための波形図。
図6】第1実施形態に係る入力回路の他の例を説明するための回路図。
図7】第1実施形態に係る入力回路の他の動作例を説明するための波形図である。
図8】第1実施形態に係るNANDインターフェース回路が信号を出力することにより電源電圧が低下する一例を説明するための図。
図9】第1実施形態に係るNANDインターフェース回路の動作の一例を説明するための図。
図10】第2実施形態に係るNANDインターフェース回路の動作の一例を説明するための図。
図11】第3実施形態に係るNANDインターフェース回路の動作の一例を説明するための図。
【発明を実施するための形態】
【0008】
以下、図面を参照して、実施形態を説明する。以下の説明は、実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、以下に説明する構成要素の構造、形状、配置、材質等に限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各要素のサイズ、厚み、平面寸法又は形状等を実際の実施態様に対して変更して模式的に表す場合もある。複数の図面において、互いの寸法の関係や比率が異なる要素が含まれることもある。複数の図面において、対応する要素には同じ参照数字を付して重複する説明を省略する場合もある。いくつかの要素に複数の呼称を付す場合があるが、これら呼称の例はあくまで例示であり、これらの要素に他の呼称を付すことを否定するものではない。また、複数の呼称が付されていない要素についても、他の呼称を付すことを否定するものではない。なお、以下の説明において、「接続」は直接接続のみならず、他の要素を介した接続も含む場合もある。
【0009】
以下、図面を参照しながら本実施の形態について詳細に説明する。
【0010】
(第1実施形態)
図1は、第1実施形態に係るメモリシステムを含む情報処理システムの一例を説明するための図である。情報処理システム10は、ホスト12とメモリシステム14を有する。メモリシステム14は、例えばSSDである。以下の説明では、メモリシステム14はSSD14と称される。
【0011】
ホスト12は、SSD14を制御するように構成された情報処理装置である。ホスト12の例は、パーソナルコンピュータ、サーバコンピュータ、携帯端末、車載機器である。
【0012】
SSD14は、ホスト12にケーブルまたはネットワークを介して接続されてもよいし、ホスト12に内蔵されてもよい。SSD14は、メモリコントローラ20、不揮発性メモリ40、及び電源回路50を有する。
【0013】
不揮発性メモリ40の一例は、NAND型フラッシュメモリである。不揮発性メモリ40として、NAND型フラッシュメモリに限らず、NOR型フラッシュメモリや他の種類の不揮発性メモリが用いられてもよい。不揮発性メモリ40は、2次元構造のメモリであってもよいし、3次元構造のメモリであってもよい。以下の説明では、不揮発性メモリ40は、NAND型フラッシュメモリ40と称される。
【0014】
NAND型フラッシュメモリ40は、複数のメモリチップを有する。以下の説明では、メモリチップはNANDチップと称される。例えば、NAND型フラッシュメモリ40は、4個のNANDチップ42-0~42-3を有する。NANDチップ42-0~42-3は、それぞれを区別する必要が無い場合、NANDチップ42と称される。NANDチップ42は、周辺回路44とメモリ回路46を有する。
【0015】
SSD14は、ランダムアクセスメモリ、例えばDRAM(Dynamic Random Access Memory)36をさらに含んでもよい。DRAM36は、ホスト12とNAND型フラッシュメモリ40の間のデータ転送のためのバッファとして機能する。DRAM36の記憶領域の一部は、ライトバッファ、リードバッファ、及びコマンドバッファとして利用されてもよい。ライトバッファは、NAND型フラッシュメモリ40に書き込むデータを一時的に記憶する。リードバッファは、NAND型フラッシュメモリ40から読み出したデータを一時的に記憶する。コマンドバッファは、ホスト12から受信したコマンドを、そのコマンドが実行されるまで一時的に記憶する。
【0016】
メモリコントローラ20は、SoC(System on a Chip)のような回路によって実現されてもよい。メモリコントローラ20の各部の機能は、専用ハードウェア回路、プログラム(ファームウェア)を実行するプロセッサ、またはこれらの組み合わせ、により実現され得る。
【0017】
メモリコントローラ20は、ホストインターフェース(ホスト I/F)回路22、CPU24、DRAMインターフェース(DRAM I/F)回路26、スタティックRAM(SRAM)28、エンコーダ/デコーダ30、NANDインターフェース(NAND I/F)回路32、及びレジスタ38を有する。ホスト I/F回路22、CPU24、DRAM I/F回路26、SRAM28、エンコーダ/デコーダ30、NAND I/F回路32、及びレジスタ38は、バス34を介して相互に接続される。これらの各部の一部は、メモリコントローラ20の外部に配設されてもよい。
【0018】
NAND I/F回路32は、NAND型フラッシュメモリ40に電気的に接続される。NAND I/F回路32は、CPU24の制御の下、NAND型フラッシュメモリ40を制御するように構成されたコントローラである。そのため、NAND I/F回路32は、NANDコントローラとも呼ばれる。メモリコントローラ20とNAND型フラッシュメモリ40の間のインターフェースの一例として、トグルインターフェース(Toggle Interface)が知られている。
【0019】
トグルインターフェースでは、コマンド、アドレス、及びデータは、I/O信号線を用いて転送される。すなわち、I/O信号線は、コマンド転送、アドレス転送、及びデータ転送に共用されている。このため、メモリコントローラ20とNAND型フラッシュメモリ40の間でデータが転送されている間は、コマンド又はアドレスの転送ができない。同様に、コマンド又はアドレスが転送されている間は、データの転送ができない。
【0020】
ホスト I/F回路22は、ホスト12との通信を実行する。ホスト I/F回路22は、例えば、SATA(Serial ATA)、SAS(Serial Attached SCSI)、PCI Express(PCIe)(TM(トレードマーク))、及びEthernet(TM(トレードマーク))に準拠したプロトコルでホスト12との通信を実行する。ホスト I/F回路22は、ライトコマンド、ユーザデータ、及びリードコマンドのような様々なコマンドやデータをホスト12から受信する。
【0021】
DRAM I/F回路26は、CPU24の制御の下、DRAM36を制御するように構成されたインターフェース回路である。DRAM I/F回路26は、DRAMコントローラとも呼ばれる。
【0022】
SRAM28は、例えばCPU24の作業領域として用いられる。
【0023】
エンコーダ/デコーダ30は、NAND型フラッシュメモリ40から読み出されたデータにおける誤り検出と誤り訂正のために、データの符号化と復号を行う。エンコーダ/デコーダ30は、NAND型フラッシュメモリ40(より詳しくは後述するメモリセルアレイ120)に書き込まれるデータ(ライトデータ)を符号化する。エンコーダ/デコーダ30は、NAND型フラッシュメモリ40から読み出されたデータ(リードデータ)を復号する。復号の際、エンコーダ/デコーダ30は、リードデータにおける誤り検出と誤り訂正を実行する。
【0024】
レジスタ38は、例えばダミーデータを記憶する。CPU24は、任意のダミーデータをレジスタ38に書き込むことができる。なお、レジスタ38を省略し、SRAM28、DRAM36、又はCPU24内のメモリ、の記憶領域の一部がダミーデータを記憶してもよい。ダミーデータはNAND型フラッシュメモリ40(より詳しくは後述するメモリセルアレイ120)に書き込まれないデータである。
【0025】
CPU24は、ホスト I/F回路22、DRAM I/F回路26、SRAM28、エンコーダ/デコーダ30、NAND I/F回路32、及びレジスタ38を制御するように構成されたプロセッサである。CPU24は、SSD14の起動に応答して、NAND型フラッシュメモリ40又は図示しないROMから制御プログラム(ファームウェアと称する)をSRAM28にロードし、ファームウェアを実行することによって様々な処理を行う。
【0026】
電源回路50は、SSD14に接続される外部装置(例えばホスト12)から供給された電力を用いて、SSD14の各部に電力を供給する。
【0027】
図2は、第1実施形態に係るNANDチップ42の構成の一例を説明するための図である。周辺回路44は、入出力回路102、ロジック制御回路104、チップ制御回路106、コマンドレジスタ108、アドレスレジスタ110、及びレディ/ビジー回路112を有する。メモリ回路46は、メモリセルアレイ120、カラムデコーダ122、データレジスタ124、センスアンプ126、及びロウデコーダ128を有する。
【0028】
NANDチップ42とNAND I/F回路32とを接続する信号線は、I/O信号を転送するI/O信号線DQ[7:0]と、制御信号を転送する制御信号線を含む。
【0029】
I/O信号線DQ[7:0]は、それぞれが1ビットのI/O信号DQを転送する8本の信号線を含む。I/O信号DQは、コマンド、アドレス、及びデータを含む。すなわち、I/O信号線DQ[7:0]は、8ビット幅のコマンド、8ビット幅のアドレス、及び8ビット幅のデータを転送する。I/O信号線DQ[7:0]によって転送される信号のビット幅は8ビット幅に限定されない。
【0030】
制御信号線は、チップイネーブル信号線CEn、コマンドラッチイネーブル信号線CLE、アドレスラッチイネーブル信号線ALE、ライトイネーブル信号線WEn、一対のリードイネーブル信号線REn/RE、一対のデータストローブ信号線DQS/DQSn、レディ/ビジー信号線RY/BYnを含む。各制御信号線は、1ビットの制御信号を転送する。
【0031】
各信号線の名称の末尾に付された“n”は、その信号線によって転送される信号がローアクティブな信号であることを示す。以下の説明では、信号が有効なレベルであることは、「信号がアサートされている」と称される。信号が無効なレベルであることは、「信号がデアサートされている」と称される。ハイアクティブな信号は、ハイレベルでアサートされ、ローレベルでデアサートされる。ローアクティブな信号は、ハイレベルでデアサートされ、ローレベルでアサートされる。
【0032】
チップイネーブル信号線CEn、コマンドラッチイネーブル信号線CLE、及びアドレスラッチイネーブル信号線ALEは、ロジック制御回路104に接続される。I/O信号線DQ[7:0]、ライトイネーブル信号線WEn、リードイネーブル信号線REn/RE、及びデータストローブ信号線DQS/DQSnは、入出力回路102に接続される。レディ/ビジー信号線RY/BYnは、レディ/ビジー回路112に接続される。
【0033】
チップイネーブル信号線CEnは、チップイネーブル信号CEnを転送する。チップイネーブル信号CEnは、アクセスの対象となるNANDチップ42をイネーブル状態とするための信号である。
【0034】
コマンドラッチイネーブル信号線CLEは、コマンドラッチイネーブル信号CLEを転送する。コマンドラッチイネーブル信号CLEは、I/O信号線DQ[7:0]を用いて転送される信号がコマンドであることを示す。
【0035】
アドレスラッチイネーブル信号線ALEは、アドレスラッチイネーブル信号ALEを転送する。アドレスラッチイネーブル信号ALEは、I/O信号線DQ[7:0]を用いて転送される信号がアドレスであることを示す。
【0036】
ライトイネーブル信号線WEnは、ライトイネーブル信号WEnを転送する。ライトイネーブル信号WEnは、I/O信号線DQ[7:0]を用いて転送されるコマンドまたはアドレスを取り込むタイミングを示すデータストローブ信号である。
【0037】
レディ/ビジー信号線RY/BYnは、レディ/ビジー信号RY/BYnを転送する。レディ/ビジー信号RY/BYnは、NANDチップ42がレディ状態であるか、ビジー状態であるかを示す。
【0038】
一対のリードイネーブル信号線REn/REは、一対のリードイネーブル信号REn/REを転送する。一対のリードイネーブル信号REn/REは、差動信号として構成される。一対のリードイネーブル信号REn/REは、メモリコントローラ20がNANDチップ42にデータの出力タイミングを指示するタイミング信号である。以降、一対のリードイネーブル信号REn/REについて説明するときは、リードイネーブル信号REnのみ言及し、リードイネーブル信号REへの言及を省略する。
【0039】
一対のデータストローブ信号線DQS/DQSnは、一対のデータストローブ信号DQS/DQSnを転送する。一対のデータストローブ信号DQS/DQSnは、差動信号として構成される。一対のデータストローブ信号DQS/DQSnは、データ転送の際に、転送先にデータの取り込みタイミングを指示する。ライト動作の際には、メモリコントローラ20(より詳しくはNAND I/F回路32)が、一対のデータストローブ信号DQS/DQSnを送信する。すなわち、ライト動作の際には、メモリコントローラ20が送信する一対のデータストローブ信号DQS/DQSnに同期して、I/O信号線DQ[7:0]を用いてデータが転送される。リード動作の際には、NANDチップ42(より詳しくは周辺回路44)が一対のデータストローブ信号DQS/DQSnを送信する。すなわち、リード動作の際には、NANDチップ42が送信する一対のデータストローブ信号DQS/DQSnに同期して、I/O信号線DQ[7:0]を用いてデータが転送される。以降、一対のデータストローブ信号DQS/DQSnについて説明するときは、データストローブ信号DQSのみ言及し、データストローブ信号DQSnへの言及を省略する。
【0040】
入出力回路102は、NAND I/F回路32との間でI/O信号を送受信するためのバッファ回路である。入出力回路102は、I/O信号をラッチする。入出力回路102がラッチしたコマンド、アドレス、及びデータは、コマンドレジスタ108、アドレスレジスタ110、及びデータレジスタ124に夫々振り分けられて記憶される。
【0041】
アドレスレジスタ110に記憶されたアドレスは、チップ番号、ロウアドレス、及びカラムアドレスを含む。チップ番号は、NANDチップ42-1、42-2、42-3、42-4を区別するための識別情報である。チップ番号はチップ制御回路106に供給され、ロウアドレスはロウデコーダ128に供給され、カラムアドレスはカラムデコーダ122に供給される。なお、アドレスはチップ番号を含まなくてもよい。この場合、アドレス空間がチップ毎に区別され、アドレスがチップを識別できる情報を含んでもよい。
【0042】
ロジック制御回路104は、制御信号の入力を受け付ける。ロジック制御回路104は、受け付けた制御信号に基づいて、入出力回路102が受け付けたI/O信号の記憶先のレジスタを振り分ける。ロジック制御回路104は、受け付けた制御信号をチップ制御回路106に転送する。
【0043】
チップ制御回路106は、ロジック制御回路104を介して受信する各種制御信号及びコマンドレジスタ108に記憶されたコマンドに基づいて状態遷移する回路である。チップ制御回路106は、各NANDチップ42の動作を制御する。
【0044】
レディ/ビジー回路112は、チップ制御回路106による制御の下でレディ/ビジー信号RY/BYnの状態を、レディ状態とビジー状態の間で遷移させる。
【0045】
NANDチップ42のメモリセルアレイ120は、複数のブロックを有する。各ブロックは、複数のページを有する。各ページは、同一ワード線に接続された複数のメモリセルを有する。ブロックは、NAND型フラッシュメモリ40からデータを消去するデータ消去動作の単位である。ページは、データ書き込み動作とデータ読み出し動作の単位である。
【0046】
カラムデコーダ122とロウデコーダ128は、カラムアドレスとロウアドレスに応じてメモリセルアレイ120のメモリセルを指定する。ライト動作時、データレジスタ124内のデータは、カラムデコーダ122とロウデコーダ128により指定されたメモリセルに書き込まれる。リード動作時、センスアンプは、カラムデコーダ122とロウデコーダ128により指定されたメモリセルからデータを読み出す。読み出されたデータは、データレジスタ124に書き込まれる。
【0047】
次に、メモリコントローラ20(より詳しくはNAND I/F回路32)とNANDチップ42(より詳しくは周辺回路44)の間のトグルインターフェースの概要を説明する。
【0048】
図3は、第1実施形態に係るライト動作時の信号波形の一例を説明するための図である。初期状態では、チップイネーブル信号CEnはデアサートされており、I/O信号線DQ[7:0]はハイインピーダンス(Hi-Z)状態であり、他の信号線の状態は不問(don‘t care)である。図3の斜線は不問の状態を示す。
【0049】
NAND I/F回路32は、チップイネーブル信号CEnとコマンドラッチイネーブル信号CLEをアサートし、アドレスラッチイネーブル信号ALEをデアサートし、リードイネーブル信号REnをデアサートし、ライトイネーブル信号WEnのトグルを開始する。ライトイネーブル信号WEnのレベルは周期的にローレベルとハイレベルになる。ライトイネーブル信号WEnのトグルの周期はtWCである。
【0050】
NAND I/F回路32は、ライトイネーブル信号WEnの立ち上がりに同期して、コマンドAA、BBをI/O信号線DQ[7:0]を用いてNANDチップ42へ順次転送する。入出力回路102は、I/O信号線DQ[7:0]を用いて順次入力されたコマンドAA、BBをライトイネーブル信号WEnの立ち上がりに同期して順次ラッチする。ラッチされたコマンドは、コマンドレジスタ108へ転送される。
【0051】
NAND I/F回路32は、コマンドBBの転送後、コマンドラッチイネーブル信号CLEをデアサートし、アドレスラッチイネーブル信号ALEをアサートする。
【0052】
NAND I/F回路32は、ライトイネーブル信号WEnの立ち上がりに同期して、2サイクルのカラムアドレスC1、C2と3サイクルのロウアドレスR1、R2、R3をI/O信号線DQ[7:0]を用いてNANDチップ42へ順次転送する。入出力回路102は、I/O信号線DQ[7:0]を用いて順次入力されたカラムアドレスC1、C2とロウアドレスR1、R2、R3をライトイネーブル信号WEnの立ち上がりに同期して順次ラッチする。ラッチされたアドレスは、アドレスレジスタ110へ転送される。
【0053】
NAND I/F回路32は、ロウアドレスR3の転送後、ライトイネーブル信号WEnをハイレベルに維持することにより、ライトイネーブル信号WEnのトグルを停止する。
【0054】
NAND I/F回路32は、ロウアドレスR3の転送後、データストローブ信号DQSをハイレベルに維持する。
【0055】
NAND I/F回路32は、データストローブ信号DQSをハイレベルに維持した状態でアドレスラッチイネーブル信号ALEをデアサートする。
【0056】
NAND I/F回路32は、アドレスラッチイネーブル信号ALEをデアサートした後、データストローブ信号DQSをローベルに維持する。
【0057】
NAND I/F回路32は、データストローブ信号DQSをローレベルに維持し始めてからライトプリアンブル期間tWPRE経過後に、データストローブ信号DQSのトグルを開始する。NAND I/F回路32は、データストローブ信号DQSの立ち上がりと立ち下がりの両エッジに同期して、ライトデータd0、d1、…をI/O信号線DQ[7:0]を用いてNANDチップ42へ順次転送する。NANDチップ42の入出力回路102は、I/O信号線DQ[7:0]を用いて順次入力されたライトデータをデータストローブ信号DQSの立ち上がりと立ち下がりの両エッジに同期して順次ラッチする。ラッチされたライトデータは、データレジスタ124へ転送される。
【0058】
ライトイネーブル信号WEnのトグルの停止からデータストローブ信号DQSのトグルの開始までの期間(Address to Data Loading time)はtADLと称される。
【0059】
NAND I/F回路32は、ライトデータの転送完了後、データストローブ信号DQSのトグルを停止する。
【0060】
NAND I/F回路32は、データストローブ信号DQSのトグルを停止してから、一定時間経過後、コマンドラッチイネーブル信号CLEをアサートし、ライトイネーブル信号WEnのトグルを1回だけ実行する。
【0061】
NAND I/F回路32は、ライトイネーブル信号WEnの立ち上がりに同期して、コマンドEEをI/O信号線DQ[7:0]を用いてNANDチップ42へ転送する。コマンドEEは、データレジスタ124からメモリセルアレイ120へのデータ書き込み動作の開始を指示する。
【0062】
入出力回路102は、I/O信号線DQ[7:0]を用いて入力されたコマンドEEをライトイネーブル信号WEnの立ち上がりに同期してラッチする。
【0063】
NAND I/F回路32は、ライトイネーブル信号WEnの立ち下がりから、一定時間経過後に、データストローブ信号DQSをハイレベルに維持する。
【0064】
メモリコントローラ20とNAND型フラッシュメモリ40の間のトグルインターフェースとしては、マッチドDQS(matched DQS)方式のトグルインターフェースと、アンマッチドDQS(unmatched DQS)方式のトグルインターフェースが知られている。
【0065】
マッチドDQS方式のトグルインターフェースでは、入出力回路102に入力されたデータストローブ信号DQSとI/O信号DQは、同じ遅延時間の遅延回路をそれぞれ介してラッチされる。
【0066】
アンマッチドDQS方式のトグルインターフェースでは、入出力回路102に入力されたデータストローブ信号DQSは遅延回路を介されるが、I/O信号DQは遅延回路を介さずにラッチされる。
【0067】
図4は、第1実施形態に係る入出力回路102の一例を説明するための回路図である。図4は、マッチドDQS方式のトグルインターフェースが採用される場合の入出力回路102の一例を示す。入出力回路102は、入力レシーバ150と、8個の入力回路132-0~132-7と、を含む。入力回路132-0~132-7は、それぞれを区別する必要が無い場合、入力回路132と称される。入力回路132は、1本のI/O信号線DQ毎に設けられる。データストローブ信号線DQSは入力レシーバ150に接続される。入力レシーバ150の出力は、8個の入力回路132-0~132-7に共通して接続される。入力回路132は、入力レシーバ140、遅延回路142、152、及びラッチ144を含む。遅延回路142、152のそれぞれの例は、バッファアンプ、及び/又はインバータの直列接続回路である。ラッチ144の例は、D型フリップフロップである。
【0068】
1本のI/O信号線DQが入力レシーバ140に接続される。入力レシーバ140の出力信号が遅延回路142を介してラッチ144の入力端子Dに入力される。入力レシーバ150の出力信号が遅延回路152を介してラッチ144のクロック端子CKに入力される。
【0069】
ラッチ144の出力信号がメモリ回路46のデータレジスタ124に入力される。
【0070】
図5は、第1実施形態に係る入力回路132の一動作例を説明するための波形図である。
【0071】
図5(a)は、入力レシーバ150に入力されるデータストローブ信号DQSの波形を示す。図5(b)は、入力レシーバ140に入力されるI/O信号DQの波形を示す。図5(c)は、ラッチ144のクロック端子CKに入力されるデータストローブ信号DQSの波形を示す。図5(d)は、ラッチ144の入力端子Dに入力されるI/O信号DQの波形を示す。
【0072】
ライトデータを転送する際、NAND I/F回路32は、データストローブ信号DQSをトグルする。NAND I/F回路32は、データストローブ信号DQSの立ち上がりと立ち下がりの両エッジに同期して、ライトデータd0、d1、…をI/O信号線DQ[7:0]に出力する。
【0073】
図5(a)と図5(b)に示すように、データストローブ信号DQSとI/O信号DQとは、入力レシーバ150、140にそれぞれ同時入力される。入力レシーバ150、140からそれぞれ出力されるデータストローブ信号DQSとI/O信号DQは、遅延回路152、142をそれぞれ介してラッチ144に入力される。ここでは、遅延回路152、142の遅延時間は互いに等しい時間tであるものと想定する。そのため、図5(c)と図5(d)に示すように、データストローブ信号DQSとI/O信号DQは、一定の遅延時間t後に、ラッチ144のクロック端子CKと入力端子Dにそれぞれ同時に入力される。
【0074】
8個の入力回路132-0~132-7のそれぞれの遅延回路142による遅延時間は互いに等しくなるように回路が設計されている。しかし、I/O信号DQ[7:0]の各ビットについての遅延時間は設計値からずれる場合がある。この場合、8ビットのI/O信号DQ[7:0]の間にスキューが生じ、ラッチ144が正しいデータをラッチ出来ない可能性がある。
【0075】
このスキューを防ぐために、アンマッチドDQS方式のトグルインターフェースが開発されている。
【0076】
図6は、第1実施形態に係る入出力回路102の他の例を説明するための回路図である。図6は、アンマッチドDQS方式のトグルインターフェースが採用される場合の入出力回路102の一例を示す。入出力回路102は、入力レシーバ150と、8個の入力回路134-0~134-7と、を含む。入力回路134-0~134-7は、それぞれを区別する必要が無い場合、入力回路134と称される。入力回路134は、1本のI/O信号線DQ毎に設けられる。データストローブ信号線DQSは入力レシーバ150に接続される。入力レシーバ150の出力は、8個の入力回路134-0~134-7に共通して接続される。入力回路134は、入力レシーバ140とラッチ144の間に遅延回路142が接続されていない点が、マッチドDQS方式の入力回路132とは異なる。入力レシーバ140の出力信号はそのままラッチ144の入力端子Dに入力される。
【0077】
図7は、第1実施形態に係る入力回路134の一動作例を説明するための波形図である。
【0078】
図7(a)は、入力レシーバ150に入力されるデータストローブ信号DQSの波形を示す。図7(b)は、入力レシーバ140に入力されるI/O信号DQの波形を示す。図7(c)は、ラッチ144のクロック端子CKに入力されるデータストローブ信号DQSの波形を示す。図7(d)は、ラッチ144の入力端子Dに入力されるI/O信号DQの波形を示す。
【0079】
ライトデータを転送する際、NAND I/F回路32は、データストローブ信号DQSをトグルする。NAND I/F回路32は、データストローブ信号線DQSのトグルを開始してから遅延時間t後に、ライトデータd0、d1、…をI/O信号線DQ[7:0]に出力する。NAND I/F回路32は、データストローブ信号DQSの立ち上がりと立ち下がりの両エッジに同期して、ライトデータd0、d1、…をI/O信号線DQ[7:0]に出力する。
【0080】
図7(a)と図7(b)に示すように、データストローブ信号DQSは、I/O信号DQが入力レシーバ140に入力されるよりも、時間tだけ先行して入力レシーバ150に入力される。入力レシーバ150から出力されるデータストローブ信号DQSは、遅延回路152を介してラッチ144に入力される。ここでは、遅延回路152の遅延時間は時間tであるものと想定する。一方で、入力レシーバ140から出力されるI/O信号DQは、遅延回路を介さずにラッチ144に入力される。そのため、図7(c)と図7(d)に示すように、データストローブ信号DQSとI/O信号DQは、ラッチ144のクロック端子CKと入力端子Dにそれぞれ同時に入力される。
【0081】
アンマッチドDQS方式を採用した8個の入力回路134-0~134-7のそれぞれにおいて、データストローブ信号DQSとI/O信号DQがラッチ144に到達するタイミングは、遅延回路152のみで調整される。すなわち、I/O信号DQは、入力回路134内で遅延されない。そのため、8ビットのI/O信号DQ[7:0]の間にスキューが生じづらく、ラッチ144は正しいデータをラッチ出来る。
【0082】
I/O信号DQとデータストローブ信号DQSとのタイミングがずれる他の原因は、例えば、SSD14の温度と電源電圧である。
【0083】
SSD14の温度が変化すると、遅延回路142、152の遅延時間が変化する場合がある。例えば、温度が変化すると、遅延回路142、152の遅延時間は、時間tから変化し得る。
【0084】
アンマッチドDQS方式のトグルインターフェースが採用される場合、NAND I/F回路32は、データストローブ信号DQSのトグルを開始してから遅延時間t後にライトデータd0、d1、…をI/O信号線DQ[7:0]に出力する。しかしながら、遅延回路152の遅延時間が時間tから変化すると、データストローブ信号DQSとI/O信号DQは、入力回路134のラッチ144のクロック端子CKと入力端子Dに同時に入力されない。
【0085】
マッチドDQS方式のトグルインターフェースが採用される場合、I/O信号DQとデータストローブ信号DQSとが、入力レシーバ140、150にそれぞれ同時に入力される。しかしながら、遅延回路142、152の遅延時間が変化すると、データストローブ信号DQSとI/O信号DQは、入力回路132のラッチ144のクロック端子CKと入力端子Dに同時に入力されない。
【0086】
SSD14の温度は、数秒程度の比較的長い期間で変化するので、データストローブ信号DQSとI/O信号DQのラッチ144への入力タイミングは、例えばSSD14の稼働中のトレーニングによって、調整することができる。トレーニングは、例えば数マイクロ秒~数ミリ秒程度を要する。例えば、NAND I/F回路32がデータストローブ信号DQSを出力するタイミングを変更することにより、温度変化によるデータストローブ信号DQSとI/O信号DQのタイミングのずれを補償することができる。
【0087】
SSD14の電源電圧は、例えばNAND I/F回路32がI/O信号DQ又は制御信号を送信すると低下する。
【0088】
図8は、NAND I/F回路32がI/O信号DQや制御信号を送信することにより電源電圧が低下する一例を説明するための図である。図8は、メモリコントローラ20とNAND型フラッシュメモリ40の間のインターフェースとして、アンマッチドDQS方式のトグルインターフェースが採用された場合の例を示す。図8(a)は、入力回路134の入力端子におけるデータストローブ信号DQSの波形の一例を示す。図8(b)は、入力回路134の入力端子におけるI/O信号DQの波形の一例を示す。図8(c)は、電源回路50が出力する電源電圧VCCQの一例を示す。電源電圧VCCQは、NAND I/F回路32がI/O信号DQ及び制御信号を送信するための電源電圧である。
【0089】
データストローブ信号DQSのトグルが開始されると、電源電圧VCCQは低下する。その後、電源電圧VCCQは、データストローブ信号DQSのトグルに同期して変動する。I/O信号線DQ[7:0]を介したデータ転送が開始されると、電源電圧VCCQはさらに低下する。電源電圧VCCQの低下量は、I/O信号線DQ[7:0]を介したデータ転送の開始直後(例えば数ナノ秒程度)が一番大きく、その後、小さくなる。この電源電圧VCCQの低下は、例えば、オーミックドロップ(IRドロップ)に起因する。
【0090】
図8は、アンマッチドDQS方式のトグルインターフェースに関する一例であるが、マッチドDQS方式のトグルインターフェースが採用された場合も、電源電圧VCCQは同様に低下する。
【0091】
電源電圧VCCQが低下すると、NAND I/F回路32の駆動能力が低下し、I/O信号DQや制御信号の信号品質が劣化する。具体的には、I/O信号DQや制御信号のレベルやパルス幅が変化する。その結果、ラッチ144が正確にデータを取り込むことができない可能性が生じる。
【0092】
電源電圧VCCQは、数ナノ秒程度の比較的短い期間で変化する。よって、電源電圧VCCQの変化によるデータストローブ信号DQSとI/O信号DQのタイミングのずれは、トレーニングにより調整することができない。
【0093】
第1実施形態は、電源電圧の低下によるデータストローブ信号DQSとI/O信号DQのタイミングのずれを防止する。図9は、第1実施形態に係るNAND I/F回路32の動作の一例を説明するための図である。図9では、データストローブ信号DQS、I/O信号DQ[7:0]、及び電源電圧VCCQ以外の信号の波形は省略してある。
【0094】
NAND I/F回路32は、ライトデータd0、d1、…をI/O信号線DQ[7:0]を用いてNANDチップ42(より詳しくは入出力回路102)へ送信する前に、ダミーデータr0、r1、r2、r3をI/O信号線DQ[7:0]を用いてNANDチップ42へ送信する。ダミーデータr0、r1、r2、r3は、I/O信号線DQ[7:0]のレベルをハイレベルとローレベルにスイングさせるためのデータである。ダミーデータr0、r1、r2、r3はレジスタ38に予め記憶されている。
【0095】
ダミーデータr0、r1、r2、r3の一例は、各々の全てのビットが0のデータである。すなわち、r0=0x00、r1=0x00、r2=0x00、r3=0x00である。ここで、“0x”は16進数を表す。
【0096】
ダミーデータr0、r1、r2、r3の別の一例は、各々の全てのビットが1のデータである。すなわち、r0=0xFF、r1=0xFF、r2=0xFF、r3=0xFFである。
【0097】
ダミーデータr0、r1、r2、r3のさらに別の一例は、全てのビットが1のデータと、全てのビットが0のデータ、全てのビットが1のデータ、及び全てのビットが0のデータがこの順に出現するデータである。すなわち、r0=0xFF、r1=0x00、r2=0xFF、r3=0x00である。
【0098】
ダミーデータr0、r1、r2、r3のさらに別の一例は、全てのビットが0のデータと、全てのビットが1のデータ、全てのビットが0のデータ、及び全てのビットが1のデータがこの順に出現するデータである。すなわち、r0=0x00、r1=0xFF、r2=0x00、r3=0xFFである。
【0099】
ダミーデータr0、r1、r2、r3のさらに別の一例は、各々の偶数ビット目が1であり、各々の奇数ビット目が0のデータである。すなわち、r0=0x55、r1=0x55、r2=0x55、r3=0x55である。
【0100】
ダミーデータr0、r1、r2、r3のさらに別の一例は、各々の偶数ビット目が0であり、各々の奇数ビット目が1のデータである。すなわち、r0=0xAA、r1=0xAA、r2=0xAA、r3=0xAAである。
【0101】
ダミーデータr0、r1、r2、r3のさらに別の一例は、偶数ビット目が1であり奇数ビット目が0であるデータ、偶数ビット目が0であり奇数ビット目が1であるデータ、偶数ビット目が1であり奇数ビット目が0であるデータ、及び偶数ビット目が0であり奇数ビット目が1であるデータ、がこの順に出現するデータである。すなわち、r0=0x55、r1=0xAA、r2=0x55、r3=0xAAである。
【0102】
ダミーデータr0、r1、r2、r3のさらに別の一例は、偶数ビット目が0であり奇数ビット目が1であるデータ、偶数ビット目が1であり奇数ビット目が0であるデータ、偶数ビット目が0であり奇数ビット目が1であるデータ、及び偶数ビット目が1であり奇数ビット目が0であるデータ、がこの順に出現するデータである。すなわち、r0=0xAA、r1=0x55、r2=0xAA、r3=0x55である。
【0103】
図3を参照して説明したように、NAND I/F回路32は、アドレスを送信した後、アドレスラッチイネーブル信号ALEをデアサートし、次いでデータストローブ信号DQSをローレベルに維持する。NAND I/F回路32は、データストローブ信号DQSをローレベルに維持してから、ライトプリアンブル期間tWPRE経過後に、データストローブ信号DQSのトグルを開始する。NAND I/F回路32は、ライトプリアンブル期間tWPRE中に、ダミーデータr0~r3をI/O信号線DQ[7:0]を用いて送信する。
【0104】
NAND I/F回路32は、ダミーデータr3に連続してライトデータd0をI/O信号線DQ[7:0]を用いて送信する。NAND I/F回路32は、データストローブ信号DQSのトグルに同期してライトデータd0、d1、…を送信する。
【0105】
NAND I/F回路32がダミーデータr0を送信することにより、電源電圧VCCQは低下する。その後、NAND I/F回路32がダミーデータr1、r2、r3を送信し、I/O信号線DQ[7:0]のレベルをスイングさせると、電源電圧VCCQは徐々に上昇する。
【0106】
ダミーデータのサイズは、4バイトに限らず、任意である。ダミーデータのパルス幅とライトデータのパルス幅は等しい必要は無い。ダミーデータの複数のパルス幅をそれぞれ異ならせてもよい。ダミーデータの振幅とライトデータの振幅は等しい必要は無い。ダミーデータの複数の振幅をそれぞれ異ならせてもよい。複数のダミーデータは連続して送信される必要は無い。複数のダミーデータが離散的に送信されてもよい。最後のダミーデータr3と最初のライトデータd0が連続するように送信される必要は無い。最後のダミーデータr3と最初のライトデータd0の間に無信号期間があってもよい。例えば、NAND I/F回路32は、最後のダミーデータr3の送信から最初のライトデータd0の送信までにI/O信号線DQ[7:0]をHi-Z状態にしてもよい。ダミーデータのビット構成、サイズ、パルス幅、振幅、送信タイミングを含む送信態様は、最初のライトデータd0が送信される時までに電源電圧VCCQがダミーデータr0の送信前のレベルに戻れる範囲で、自由に設定される。
【0107】
ダミーデータの送信により、NAND I/F回路32がライトデータd0、d1、…をI/O信号線DQ[7:0]を用いてNANDチップ42へ送信する際は、電源電圧VCCQは安定した状態となる。NAND I/F回路32は、I/O信号線DQ[7:0]に高品質なライトデータを出力することができ、データストローブ信号線DQSに高品質なデータストローブ信号DQSを送信することができる。このため、データストローブ信号DQSとライトデータはラッチ144に同じタイミングで入力され、ラッチ144はライトデータを正しく取り込むことができる。
【0108】
図9に示すNAND I/F回路32の動作は、メモリコントローラ20とNAND型フラッシュメモリ40の間のインターフェースがマッチドDQS方式のトグルインターフェースであっても、アンマッチドDQS方式のトグルインターフェースであっても、共通に適用され得る。
【0109】
第1実施形態によれば、電源電圧の変動があっても、NAND I/F回路32は、高品質のデータストローブ信号とライトデータを送信することができ、ラッチ144は正しいライトデータを取り込むことができる。
【0110】
(第2実施形態)
以下、他の実施形態を説明する。他の実施形態は、NAND I/F回路32の動作の変形に関する。メモリシステムの構成は、第1実施形態と同じである。
【0111】
図10は、第2実施形態に係るNAND I/F回路32の動作の一例を説明するための図である。第2実施形態に係るNAND I/F回路32は、DQSレイテンシ期間に、データストローブ信号DQSをトグルする。
【0112】
入力レシーバ140及び150のそれぞれにはシンボル間干渉が生じることがある。すなわち、同じ値のデータが入力レシーバ140及び150のそれぞれに続けて入力されている状態から、データの値が変化する場合、変化した値に対応する信号の波形が劣化することがある。特に、入力レシーバ150においてはデータストローブ信号DQSの波形が劣化し得る。また、第1実施形態において説明したように、データストローブ信号DQSの最初のトグルにおいて、オーミックドロップによりNAND I/F回路32が振幅を所定の電圧まで上昇(または下降)できない可能性もある。これらにより、ラッチ144は、クロック端子に入力されるデータストローブ信号DQSを正しく取得できない恐れがある。
【0113】
第2実施形態に係るNAND I/F回路32は、ライトデータd0の送信タイミングより前のDQSレイテンシ期間に、データストローブ信号DQSをトグルする。さらに、NAND I/F回路32は、DQSレイテンシ期間より前のライトプリアンブル期間tWPRE中に、ダミーデータr0~r3をI/O信号線DQ[7:0]を用いて送信する。これにより、NAND I/F回路32は、DQSレイテンシ期間における最初のトグルにおいて、データストローブ信号DQSの振幅を所定の電圧まで上昇(または下降)させることができる。ラッチ144は、クロック端子に入力されるデータストローブ信号DQSを正しく取得できる。このため、例えば、DQSレイテンシ期間中に入力されることが期待される数のデータストローブ信号DQSを、ラッチ144が取得できない可能性が低くなる。このデータストローブ信号DQSの期待の数は、例えば、メモリコントローラ20とNAND型フラッシュメモリ40の間のインターフェースの仕様として、予め決められている。
【0114】
NAND I/F回路32は、ライトデータd0、d1、…をI/O信号線DQ[7:0]を用いてNANDチップ42へ送信する前に、ダミーデータr0~r7をI/O信号線DQ[7:0]を用いてNANDチップ42へ送信する。ダミーデータr0~r7は、I/O信号線DQ[7:0]のレベルをハイレベルとローレベルにスイングさせるためのデータである。ダミーデータr0~r7はレジスタ38に予め記憶されている。
【0115】
NAND I/F回路32は、データストローブ信号DQSをローレベルに維持した状態でダミーデータr0~r3を送信し、データストローブ信号DQSのトグルに同期してダミーデータr4~r7を送信する。データストローブ信号DQSのトグルに同期してダミーデータr4~r7が送信される期間が、DQSレイテンシ期間である。
【0116】
NAND I/F回路32は、ダミーデータr7に連続してライトデータd0を送信する。NAND I/F回路32は、データストローブ信号DQSのトグルに同期してライトデータd0、d1、…を送信する。
【0117】
このように、NAND I/F回路32は、DQSレイテンシ期間の開始前にI/O信号線DQ[7:0]を用いてダミーデータを送信する。これにより、DQSレイテンシ期間の開始タイミングにおいて、電源電圧VCCQは安定した状態となる。よって、NAND I/F回路32は、DQSレイテンシ期間の最初のデータストローブ信号DQSの振幅を、所定の電圧まで上昇(または下降)させることができる。さらには、第1実施形態と同様に、NAND I/F回路32がライトデータd0、d1、…をI/O信号線DQ[7:0]を用いてNANDチップ42へ送信する際は、電源電圧VCCQは安定した状態となる。これにより、NAND I/F回路32は、I/O信号線DQ[7:0]に高品質なライトデータを出力することができる。
【0118】
第2実施形態においても、ダミーデータの送信態様は、DQSレイテンシ期間の開始までに電源電圧VCCQがダミーデータr0の送信前のレベルに戻れる範囲で、自由に設定される。
【0119】
さらに、第2実施形態においては、DQSレイテンシ期間のデータストローブ信号DQSのトグルの周期を、ライトデータ出力期間のデータストローブ信号DQSのトグルの周期と等しいとしたが、これに限られない。例えば、DQSレイテンシ期間のデータストローブ信号DQSのトグルの周期をライトデータ出力期間のデータストローブ信号DQSのトグルの周期と異ならせてもよい。すなわち、ダミーデータr4~r7のパルス幅をライトデータd0、d1、…のパルス幅と異ならせてもよい。
【0120】
さらに、DQSレイテンシ期間におけるデータストローブ信号DQSのトグルの周期を一定ではなく、変化させてもよい。例えば、DQSレイテンシ期間における最初のデータストローブ信号DQSのトグルの周期は長くして、徐々に短くして、最後には、ライトデータ出力期間のデータストローブ信号DQSのトグルの周期と等しくしてもよい。データストローブ信号DQSのトグルの周期が長いと、データストローブ信号DQSの振幅が所定の電圧まで上昇(または下降)できる状態になるのに要する時間が短い。これにより、ライトデータの出力期間の最初のトグルにおいて、データストローブ信号DQSの振幅が所定の電圧まで上昇(または下降)することが期待される。
【0121】
データストローブ信号線DQSのトグルの周期の変動に加え、ダミーデータとライトデータの送信周期とを変動させてもよい。例えば、ダミーデータr0~r3の送信周期を3pとし、ダミーデータr4-r7の送信周期を2pとし、ライトデータd0、d1、…の送信周期をpとしてもよい。
【0122】
(第3実施形態)
第1、第2実施形態に係るNAND I/F回路32は、ライトデータd0の送信の直前のライトプリアンブル期間tWPREにダミーデータを送信する。ダミーデータr0の送信タイミングはこれに限らず、期間tWPREの前でもよい。図11は、第3実施形態に係るNAND I/F回路32の動作の一例を説明するための図である。
【0123】
図3を参照して説明したように、NAND I/F回路32は、アドレスを送信した後、ライトイネーブル信号WEnとデータストローブ信号DQSをハイレベルに維持する。NAND I/F回路32は、ライトイネーブル信号WEnとデータストローブ信号DQSをハイレベルに維持したまま、ダミーデータr0~r4をI/O信号線DQ[7:0]に出力する。
【0124】
NAND I/F回路32は、ダミーデータr4の出力後、データストローブ信号DQSをローレベルに維持する。
【0125】
NAND I/F回路32は、データストローブ信号DQSをライトプリアンブル期間tWRPEローレベルに維持した後、データストローブ信号DQSのトグルを開始する。NAND I/F回路32は、データストローブ信号DQSのトグルに同期してライトデータd0、d1、…をI/O信号線DQ[7:0]に出力する。
【0126】
第3実施形態においても、ダミーデータの送信態様は、最初のライトデータd0が送信される時までに電源電圧VCCQがダミーデータr0の送信前のレベルに戻れる範囲で、自由に設定される。
【0127】
第3実施形態に係るNAND I/F回路32は、アドレスの送信直後からダミーデータをI/O信号線DQ[7:0]に出力する。これにより、第1、第2実施形態よりも早期に電源電圧VCCQを安定化することができる。
【0128】
(変形例)
レジスタ38が記憶するダミーデータは、I/O信号線DQ[7:0]をスイングしやすくなる任意のパターンであってもよい。例えば、ダミーデータr0はダミーデータr0~r3(またはr0~r7)のうちの一番値が大きいデータであり、ダミーデータr1、r2、…となるにつれて、値が小さくなってもよい。
【0129】
ダミーデータは、I/O信号線DQ[7:0]の出力による電源電圧VCCQの低下を補償するためにI/O信号線DQ[7:0]をスイングさせるデータであるが、電源電圧VCCQの低下度合いは温度により変動する可能性がある。これを考慮して、ダミーデータを温度により変更してもよい。
【0130】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0131】
10…情報処理システム、12…ホスト、14…メモリシステム、20…メモリコントローラ、22…ホストインターフェース回路、24…CPU、26…DRAMインターフェース回路、28…SRAM、30…エンコーダ/デコーダ、32…NANDインターフェース回路、34…バス、38…レジスタ、40…NAND型フラッシュメモリ、44…周辺回路、46…メモリ回路、50…電源回路、102…入出力回路、132,134…入力回路、140,150…入力レシーバ、142,152…遅延回路、144…ラッチ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11