(57)【要約】      （修正有）【課題】データを高速に送受信出来るインターフェースを持つメモリシステムを提供する。【解決手段】コントローラは、ホストから第１論理アドレスを受信し、論理アドレスに相当する第１物理アドレスＣＡ９によって指定されるカラムアドレスに対し第１物理アドレスと異なる第２物理アドレスＣＡ５を生成し、これをＮＡＮＤ型フラッシュメモリに発行して、ＮＡＮＤ型フラッシュメモリからデータを読み出し、第１物理アドレスと第２物理アドレスの差分に対応するカラムＤ５〜Ｄ８のデータは破棄する。【選択図】図８
2018163440.tif 000002
【特許請求の範囲】
【請求項１】
データを保持可能な半導体メモリと、
ホストから第１論理アドレスを受信し、該第１論理アドレスに対応する第１物理アドレスと異なる第２物理アドレスを前記半導体メモリに発行して、該半導体メモリからデータを読み出すコントローラと
を具備するメモリシステム。
【請求項２】
前記半導体メモリは、ロウ及びカラムに関連付けられた複数のメモリセルを含み、
前記第２物理アドレスは、前記第１物理アドレスに対してカラムアドレスをシフトさせたアドレスに対応する、請求項１記載のメモリシステム。
【請求項３】
前記半導体メモリは、複数のメモリセルを含むメモリセルアレイを備え、前記メモリセルアレイからデータはページ単位で読み出され、
前記コントローラは、前記第１論理アドレスと前記第１物理アドレスとの関係を保持するテーブルを備え、該テーブルに基づいて前記受信した第１論理アドレスを前記第１物理アドレスに変換し、
前記第２物理アドレスは、前記カラムアドレスを前記ページにおける先頭カラム側にシフトさせたアドレスに対応する、請求項２記載のメモリシステム。
【請求項４】
前記半導体メモリは、複数のメモリセルを含むメモリセルアレイを備え、前記コントローラから第１命令と前記第１物理アドレスとを受信すると、該メモリセルアレイからページ単位でデータを読み出し、
前記第１命令の後に第１クロックを前記コントローラから受信する度に、前記第２物理アドレスにおけるカラムアドレスから順番に、前記ページサイズ未満の単位で読み出しデータを前記コントローラへ転送し、
転送すべきデータに対応する前記カラムアドレスが最終アドレスに達した後に更に前記第１クロックを受信した際には、先頭カラムアドレスに対応するデータを前記コントローラへ転送する、請求項１または２記載のメモリシステム。
【請求項５】
前記半導体メモリは、第２クロックと共に、読み出しデータを前記コントローラへ送信し、
前記コントローラは、前記第２クロックと前記読み出しデータを受信する受信回路と、
前記受信回路から前記読み出しデータを受信するバッファ回路と
を備え、前記第１命令に対応する前記第２クロックの最初の複数サイクルに対応する前記読み出しデータは前記バッファ回路に転送されず、前記複数サイクル後の前記第２クロックに対応する前記読み出しデータが前記バッファ回路に転送される、請求項４記載のメモリシステム。
【請求項６】
前記第２クロックの前記最初の複数サイクルは、前記第１物理アドレスと前記第２物理アドレスとの相違に対応する、請求項５のメモリシステム。
【請求項７】
前記半導体メモリは、前記第１クロックに基づいて前記第２クロックを生成する、請求項５または６記載のメモリシステム。
【請求項８】
データを保持可能な半導体メモリと、
前記半導体メモリから前記データを読み出し可能なコントローラと
を具備し、前記コントローラは、ホスト機器から受信した第１論理アドレスに従って前記半導体メモリに第１データを書き込んだ直後に、前記第１論理アドレスに従った読み出し命令を前記半導体メモリに発行した際、前記半導体メモリからは前記第１データと異なる第２データが読み出される、メモリシステム。
【請求項９】
前記第２データは、第３データと、前記第３データに後続する第１データとを含む、請求項８記載のメモリシステム。
【請求項１０】
前記コントローラは、前記第３データを破棄する、請求項９記載のメモリシステム。
【請求項１１】
前記半導体メモリは、ロウ及びカラムに関連付けられた複数のメモリセルを含み、
前記第１論理アドレスに従った書き込み動作は、第１カラムを基準に実行され、
前記第１論理アドレスに従った読み出し動作は、前記第１カラムと異なる第２カラムを基準に実行される、請求項９乃至１０いずれか１項記載のメモリシステム。
【請求項１２】
前記半導体メモリは、複数のメモリセルを含むメモリセルアレイを備え、前記メモリセルアレイからデータはページ単位で読み出され、
前記コントローラは、前記第１論理アドレスと第１物理アドレスとの関係を保持するテーブルを備え、
前記書き込み動作時には、前記受信した第１論理アドレスを前記テーブルに基づいて前記第１物理アドレスに変換し、該第１物理アドレスに対応する領域にデータを書き込むよう、前記半導体メモリに命令し、
前記読み出し動作時には、前記受信した第１論理アドレスを前記テーブルに基づいて前記第１物理アドレスに変換し、更にカラムアドレスが前記ページにおける先頭カラム側にシフトするように、前記第１物理アドレスを第２物理アドレスに変換し、該第２物理アドレスに対応する領域からデータを読み出すよう、前記半導体メモリに命令する、請求項１１記載のメモリシステム。
【請求項１３】
半導体メモリは複数のチップを含み、同一のバスにより前記コントローラに接続される、請求項１乃至１２いずれか１項記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
近年、ＮＡＮＤ型フラッシュメモリを用いたメモリシステムにおいて、データを高速に送受信出来るインターフェースが求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第９，２９３，２２４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動作信頼性を向上出来るメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
本実施形態のメモリシステムは、半導体メモリと、コントローラとを備える。半導体メモリは、データを保持可能である。コントローラは、ホストから第１論理アドレスを受信し、第１論理アドレスに対応する第１物理アドレスと異なる第２物理アドレスを半導体メモリに発行して、半導体メモリからデータを読み出す。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムのブロック図である。
【図２】図２は、第１実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図である。
【図３】図３は、第１実施形態に係るメモリセルアレイの回路図である。
【図４】図４は、第１実施形態に係るセンスアンプモジュール及びデータレジスタのブロック図である。
【図５】図５は、論理アドレス空間と物理ブロックとの関係を示す概念図である。
【図６】図６は、第１実施形態に係るデータの読み出し方法のフローチャートである。
【図７】図７は、第１実施形態に係るデータの読み出し時における各種信号のタイミングチャートである。
【図８】図８は、第１実施形態に係るデータの読み出し方法の概念図である。
【図９】図９は、相補信号のタイミングチャートである。
【図１０】図１０は、読み出し時における各種信号のタイミングチャートである。
【図１１】図１１は、第２実施形態に係るデータの読み出し方法のフローチャートである。
【図１２】図１２は、第２実施形態に係るデータの読み出し方法の概念図である。
【図１３】図１３は、第３実施形態に係るメモリシステムの一部領域のブロック図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
１．第１実施形態  
第１実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置としてＮＡＮＤ型フラッシュメモリを備えたメモリシステムを例に挙げて説明する。
【０００９】
１．１  構成について  
１．１．１  メモリシステムの全体構成について  
まず、本実施形態に係るメモリシステムの大まかな全体構成について、図１を用いて説明する。
【００１０】
図示するようにメモリシステム１は、複数のＮＡＮＤ型フラッシュメモリ１００（本例では１００−０と１００−１）と、これらを制御するコントローラ２００とを備えている。ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００とは、例えばそれらの組み合わせにより一つの半導体装置を構成しても良く、その例としてはＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。なお、メモリシステム１内において同一のコントローラ２００に制御されるＮＡＮＤ型フラッシュメモリ１００の数は２つに限らず、１つでも良いし、または３つ以上であっても良い。また、コントローラ２００並びにＮＡＮＤ型フラッシュメモリ１００−０及び１００−１はそれぞれ、互いに異なる半導体チップに形成される。以下では、ＮＡＮＤ型フラッシュメモリ１００及びコントローラ２００の形成された半導体チップをそれぞれメモリチップ及びコントローラチップと呼ぶことがある。
【００１１】
ＮＡＮＤ型フラッシュメモリ１００は複数のメモリセルを備え、データを不揮発に記憶する。コントローラ２００は、ＮＡＮＤバスによってＮＡＮＤ型フラッシュメモリ１００に接続され、ホストバスによってホスト機器３００に接続される。そしてコントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００を制御し、またホスト機器３００から受信した命令に応答して、ＮＡＮＤ型フラッシュメモリ１００にアクセスする。ホスト機器３００は、例えばデジタルカメラやパーソナルコンピュータ等であり、ホストバスは、例えばＳＤＴＭインターフェースに従ったバスである。
【００１２】
ＮＡＮＤバスは、ＮＡＮＤインターフェースに従った信号の送受信を行う。この信号の具体例は、チップイネーブル信号ＣＥｎ（本例ではＣＥｎ０とＣＥｎ１）、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ／ＲＥｎ、入出力クロック信号ＤＱＳ／ＤＱＳｎ、及び入出力信号ＤＱ＜０：７＞である。信号ＤＱ＜０：７＞なる表記は、信号ＤＱ０〜ＤＱ７の８ビットの信号ＤＱをまとめたものであり、ビットを区別しない場合には単に信号ＤＱと記載する。また、信号ＣＥｎはメモリチップ毎に用意されるが、その他の信号ＡＬＥ、ＣＬＥ、ＷＥｎ、ＲＥｎ／ＲＥ、ＤＱＳ／ＤＱＳｎ、及びＤＱは複数のメモリチップに共通に使用される。
【００１３】
信号ＣＥｎはlowレベルでアサートされ、ＮＡＮＤ型フラッシュメモリ１００を活性化させる信号である。本例であるとコントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００−０を活性化する際には信号ＣＥｎ０をlowレベルとし、ＮＡＮＤ型フラッシュメモリ１００−１を活性化する際には信号ＣＥｎ１をlowレベルとする。信号ＣＬＥ及びＡＬＥは、ＮＡＮＤ型フラッシュメモリ１００への入力信号ＤＱがそれぞれコマンド及びアドレスであることをＮＡＮＤ型フラッシュメモリ１００に通知する信号である。信号ＷＥｎはlowレベルでアサートされ、信号ＡＬＥ、入力信号ＤＱをＮＡＮＤ型フラッシュメモリ１００に取り込ませるための信号である。信号ＲＥｎとＲＥとは相補な信号（差動信号）であり、信号ＲＥｎはlowレベルでアサートされる。そして信号ＲＥｎ及びＲＥは、ＮＡＮＤ型フラッシュメモリ１００から出力信号ＤＱを読み出すための信号である。入出力信号ＤＱは、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００との間で送受信されるデータの実体であり、コマンド、アドレス、書き込みデータ、及び読み出しデータ等である。
【００１４】
信号ＤＱＳとＤＱＳｎとは相補な信号であり、信号ＤＱＳｎはlowレベルでアサートされる。信号ＤＱＳ及びＤＱＳｎは、書き込みデータ及び読み出しデータが同期するクロックとして機能する。例えばデータの読み出し時には、ＮＡＮＤ型フラッシュメモリ１００が信号ＤＱＳ及びＤＱＳｎを生成し、信号ＤＱＳ及びＤＱＳｎに同期して読み出しデータをコントローラ２００へ送信する。そしてコントローラ２００は、信号ＤＱＳ及びＤＱＳｎに同期して読み出しデータを受信する。他方でデータの書き込み時には、コントローラ２００が信号ＤＱＳ及びＤＱＳｎを生成し、信号ＤＱＳ及びＤＱＳｎに同期して書き込みデータをＮＡＮＤ型フラッシュメモリ１００へ送信する。そしてＮＡＮＤ型フラッシュメモリ１００は、信号ＤＱＳ及びＤＱＳｎに同期して書き込みデータを受信する。
【００１５】
１．１．２  コントローラ２００の構成について  
引き続き、図１を用いてコントローラ２００の構成の詳細について説明する。図１に示すようにコントローラ２００は、ホストインターフェース回路２１０、内蔵メモリ（ＲＡＭ）２２０、プロセッサ（ＣＰＵ）２３０、バッファメモリ２４０、ＮＡＮＤインターフェース回路２５０、及びＥＣＣ（Error Checking and Correcting）回路２６０を備えている。
【００１６】
ホストインターフェース回路２１０は、ホストバスを介してホスト機器３００と接続され、ホスト機器３００から受信した命令及びデータを、それぞれプロセッサ２３０及びバッファメモリ２４０に転送する。またプロセッサ２３０の命令に応答して、バッファメモリ２４０内のデータをホスト機器３００へ転送する。
【００１７】
プロセッサ２３０は、コントローラ２００全体の動作を制御する。例えばプロセッサ２３０は、ホスト機器３００から書き込み命令を受信した際には、それに応答して、ＮＡＮＤインターフェース回路２５０に対して書き込み命令を発行する。読み出し及び消去の際も同様である。またプロセッサ２３０は、ウェアレベリング等、ＮＡＮＤ型フラッシュメモリ１００を管理するための様々な処理を実行する。
【００１８】
ＮＡＮＤインターフェース回路２５０は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００と接続され、ＮＡＮＤ型フラッシュメモリ１００との通信を司る。そしてＮＡＮＤインターフェース回路２５０は、プロセッサ２３０から受信した命令に基づき、種々の信号をＮＡＮＤ型フラッシュメモリ１００へ送信し、またＮＡＮＤ型フラッシュメモリ１００から受信する。
【００１９】
バッファメモリ２４０は、書き込みデータや読み出しデータを一時的に保持する。
【００２０】
内蔵メモリ２２０は、例えばＤＲＡＭやＳＲＡＭ等の半導体メモリであり、プロセッサ２３０の作業領域として使用される。そして内蔵メモリ２２０は、ＮＡＮＤ型フラッシュメモリ１００を管理するためのファームウェアや、各種の管理テーブル等を保持する。後述する、論理アドレスと物理アドレスとの関係を保持する変換テーブルもまた、動作時には例えばメモリ２２０に保持される。
【００２１】
ＥＣＣ回路２６０は、ＮＡＮＤ型フラッシュメモリ１００に記憶されるデータに関する誤り検出及び誤り訂正処理を行う。すなわちＥＣＣ回路２６０は、データの書き込み時には誤り訂正符号を生成して、これを書き込みデータに付与し、データの読み出し時にはこれを復号する。
【００２２】
１．１．３  ＮＡＮＤ型フラッシュメモリ１００の構成について  
１．１．３．１  全体構成について  
次に、ＮＡＮＤ型フラッシュメモリ１００の構成について、図２を用いて説明する。図２はＮＡＮＤ型フラッシュメモリ１００のブロック図である。
【００２３】
図示するようにＮＡＮＤ型フラッシュメモリ１００は、入出力回路１１０、ロジック回路１１１、アドレスレジスタ１１２、コマンドレジスタ１１３、シーケンサ１１４、電圧発生回路１１５、メモリセルアレイ１１６、ロウデコーダ１１７、センスアンプモジュール１１８、データレジスタ１１９、及びカラムデコーダ１２０を備えている。
【００２４】
ロジック回路１１１は、コントローラ２００から信号ＣＥｎ、ＣＬＥ、ＡＬＥ、ＷＥｎ、ＲＥｎ／ＲＥ、及びＤＱＳ／ＤＱＳｎを受信する。そしてこれらの信号を必要に応じて入出力回路１１０及びシーケンサ１１４に転送する。
【００２５】
入出力回路１１０は、信号ＤＱＳ／ＤＱＳｎを送信し、また信号ＤＱの送受信を行う。そして入出力回路１１０は、信号ＤＱがアドレスであれば、これをアドレスレジスタ１１２に転送し、信号ＤＱがコマンドであれば、これをコマンドレジスタ１１３に転送する。更に、データの書き込み時において信号ＤＱが書き込みデータであれば、これをデータレジスタ１１９に転送する。他方でデータの読み出し時には、データレジスタ１１９から転送された読み出しデータを、信号ＤＱＳ／ＤＱＳｎと共にコントローラ２００へ送信する。
【００２６】
アドレスレジスタ１１２及びコマンドレジスタ１１３は、それぞれコントローラ２００から与えられたアドレス及びコマンドを保持する。またデータレジスタ１１９は、コントローラ２００から与えられた書き込みデータ、またはメモリセルアレイ１１６からの読み出しデータを保持する。
【００２７】
シーケンサ１１４は、ＮＡＮＤ型フラッシュメモリ１００全体の動作を制御する。より具体的には、シーケンサ１１４はコマンドレジスタ１１３に保持されたコマンドに従い、ロジック回路１１１で各種信号が受信されたタイミングで、必要な回路ブロックに必要な動作を命令する。
【００２８】
電圧発生回路１１５は、シーケンサ１１４の命令に従い、メモリセルアレイ１１６、ロウデコーダ１１７、及びセンスアンプ１１８に必要な電圧を供給する。
【００２９】
メモリセルアレイ１１６は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルを含む複数のブロック（図示せず）を備えている。そしてメモリセルアレイ１１６は、例えばコントローラ２００から与えられたデータを記憶する。
【００３０】
ロウデコーダ１１７は、アドレスレジスタ１１２に保持されたロウアドレスをデコードする。そしてロウデコーダ１１７はデコード結果に基づいて、メモリセルアレイ１１６におけるブロックのいずれかを選択し、更に選択したブロックにおけるロウ方向を選択する。
【００３１】
センスアンプ１１８は、データの読み出し時には、メモリセルアレイ１１６から読み出されたデータをセンスし、必要な演算を行う。そして、この読み出しデータをデータレジスタ１１９に送信する。他方、データの書き込み時には、データレジスタ１１９に保持されるデータをメモリセルアレイ１１６に書き込む。
【００３２】
カラムデコーダ１２０は、アドレスレジスタ１１２に保持されたカラムアドレスをデコードする。そしてカラムデコーダ１２０はデコード結果に基づいて、データレジスタ１１９のカラム位置を選択する。例えばデータの読み出し時には、カラムデコーダ１２０によって選択されたカラム位置から順番に、読み出しデータがカラム単位でコントローラ２００へ送信される。
【００３３】
１．１．３．２  メモリセルアレイの構成について  
次に、上記メモリセルアレイ１１６の構成について、図３を用いて説明する。図３は、メモリセルアレイ１１６に含まれる複数のブロックのいずれかの回路図である。
【００３４】
図示するようにブロックＢＬＫは、複数のＮＡＮＤストリング１２１を含む。ＮＡＮＤストリング１２１の各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）及び選択トランジスタＳＴ１、ＳＴ２を含んでいる。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。そしてメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。
【００３５】
同一ブロック内の選択トランジスタＳＴ１及びＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ及びＳＧＳに共通接続される。同様に、同一ブロック内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。
【００３６】
また、メモリセルアレイ１１０内において同一列にあるＮＡＮＤストリング１２１の選択トランジスタＳＴ１のドレインは、ビット線ＢＬ（ＢＬ０〜ＢＬ（Ｌ−１）、（Ｌ−１）は１以上の自然数）に共通接続される。すなわちビット線ＢＬは、複数のブロックＢＬＫ間でＮＡＮＤストリング１２１を共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。
【００３７】
各メモリセルトランジスタＭＴは、１ビットまたは複数ビットのデータを保持可能である。そして、同一のワード線ＷＬに接続されたメモリセルトランジスタＭＴに対しては、ビット毎に一括してデータが書き込まれる。この一括して書き込まれるデータの「ページ」と呼ぶ。メモリセルトランジスタＭＴが１ビットを保持する場合には、各ワード線ＷＬに接続されたメモリセルトランジスタＭＴの集合がページに相当する。つまり、１本のワード線ＷＬには１ページが割り当てられ、８本のワード線ＷＬを含むブロックＢＬＫは８ページ分の容量を有する。また、メモリセルトランジスタＭＴが例えば２ビットデータを保持し、この２ビットを下位ビットからそれぞれlowerビット及びupperビットと呼ぶとすると、同一のワード線に接続されたメモリセルの保持するlowerビットの集合が１ページ（lowerページ）であり、またupperビットの集合が１ページ（upperページ）である。つまり、１本のワード線ＷＬには２ページが割り当てられ、ブロックＢＬＫは１６ページ分の容量を有する。あるいは言い換えるならば、「ページ」とは、同一ワード線に接続されたメモリセルによって形成されるメモリ空間の少なくとも一部、と定義することも出来る。データの書き込み及び読み出しは、このページ毎に行っても良い。また、データの消去は、ブロックＢＬＫ単位で行われる。
【００３８】
なおメモリセルアレイ１１６は、メモリセルトランジスタが半導体基板の上方に三次元に積層された構成であっても良い。本構成の一例としては、セレクトゲート線ＳＧＳ、ワード線ＷＬ０〜ＷＬ７、及びセレクトゲート線ＳＧＤとしてそれぞれ機能する金属配線層が順次形成され、これらを貫くようにして、ＮＡＮＤストリング１２１の電流経路として機能する半導体ピラーが設けられる。そして、この半導体ピラーの一端に接するようにして、ビット線ＢＬとして機能する金属配線層が形成される。三次元ＮＡＮＤ型フラッシュメモリの構成については、例えば、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月18日に出願された米国特許出願12/406,524号、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME”という2010年3月25日に出願された米国特許出願12/679,991号、及び“SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００３９】
またデータの消去は、ブロックＢＬＫ単位、またはブロックＢＬＫよりも小さい単位で行うことが出来る。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という2011年9月18日に出願された米国特許出願13/235,389号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。更に、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という2012年5月30日に出願された米国特許出願13/483,610号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４０】
１．１．３．３  カラムの概念とセンスアンプモジュール及びデータレジスタの構成について  
次に、カラムの概念と、センスアンプモジュール１１８及びデータレジスタ１１９の構成について、図４を用いて説明する。図４は、センスアンプモジュール１１８及びデータレジスタ１１９のブロック図である。
【００４１】
まずカラムについて説明する。図４に示すように、メモリセルアレイ１１６はＬ本のビット線ＢＬを含む。そして、ビット線ＢＬ０から順に、隣接する例えば８本のビット線ＢＬが１つのカラムという単位となる。例えば図４に示すように、ビット線ＢＬ０〜ＢＬ７はカラムＣ０に属し、ビット線ＢＬ８〜ＢＬ１５はカラムＣ１に属し、ビット線ＢＬ１６〜ＢＬ２３はカラムＣ２に属し、ビット線ＢＬ（Ｌ−８）〜ＢＬ（Ｌ−１）はカラムＣｎに属する。但し、ｎ＝（Ｌ／８）である。つまり、カラムＣｉ（ｉは自然数）には、ビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）が属することとなる。以下では、カラムＣ０〜Ｃｎを区別しない場合には、単にカラムＣと呼ぶことにする。また、これらのカラムＣ０〜Ｃｎには、カラムアドレスＣＡ０〜ＣＡｎが対応するものとして以下説明する。
【００４２】
次にセンスアンプモジュール１１８について説明する。図４に示すようにセンスアンプモジュール１１８は、Ｌ個のセンスアンプＳＡ（ＳＡ０〜ＳＡ（Ｌ−１））を含み、これらはそれぞれビット線ＢＬ０〜ＢＬ（Ｌ−１）に関連付けられている。センスアンプＳＡは、データの読み出し時には、関連付けられたビット線ＢＬに読み出されたデータをセンスする。他方でデータの書き込み時には、書き込みデータに対応する電圧を、関連付けられたビット線ＢＬに印加する。
【００４３】
データレジスタ１１９は、図４に示すようにＬ個のラッチ回路ＬＣ（ＬＣ０〜ＬＣ（Ｌ−１））を含み、これらはそれぞれセンスアンプＳＡ０〜ＳＡ（Ｌ−１）、すなわちビット線ＢＬ０〜ＢＬ（Ｌ−１）に関連付けられている。ラッチ回路ＬＣの各々は少なくとも１ビットのデータを保持可能であり、この場合にはデータレジスタ１１９は１ページ分のデータを保持出来る。各メモリセルトランジスタＭＴが２ビット以上のデータを保持する場合には、各ラッチ回路ＬＣも少なくとも２ビット以上のデータを保持可能とされ、これによりデータレジスタ１１９は２ページ分以上のデータを保持可能とされる。データレジスタ１１９が保持する１ページ分のデータのうち、ラッチ回路ＬＣ０〜ＬＣ７の保持する８ビットをデータＤ０と呼び、ラッチ回路ＬＣ８〜ＬＣ１５の保持する８ビットをデータＤ１と呼び、以下同様にラッチ回路ＬＣ（Ｌ−８）〜ＬＣ（Ｌ−１）の保持する８ビットをデータＤｎと呼ぶことにする。すなわち、データＤ０〜ＤｎがカラムＣ０〜Ｃｎに関連付けられている。
【００４４】
データの読み出し時には、ラッチ回路ＬＣは、関連付けられたセンスアンプＳＡでセンスされたデータを保持する。そしてデータレジスタ１１９は、信号ＲＥｎ／ＲＥがトグルされる度に、カラムアドレスＣＡによって指定されるカラムに対応するラッチ回路ＬＣのデータを入出力回路１１０へ転送する。例えば、カラムアドレスＣＡ０によってカラムＣ０が選択される際には、データＤ０がラッチ回路ＬＣ０〜ＬＣ７から入出力回路１１０へ転送される。
【００４５】
データの書き込み時には、ラッチ回路ＬＣは、関連付けられたビット線ＢＬに書き込むべきデータが入出力回路１１０から転送される。そしてセンスアンプＳＡは、関連付けられたラッチ回路ＬＣに保持されるデータに従って、ビット線ＢＬに電圧を印加する。
【００４６】
カラムデコーダ１２０は、例えばデータの読み出し時において、アドレスレジスタ１１２内のカラムアドレスＣＡをデコードする。そしてカラムデコーダ１２０は、デコード結果に基づいていずれかのカラムＣを選択する。この結果、カラムデコーダ１２０によって選択されたカラムＣに相当するラッチ回路ＬＣから順番に、読み出しデータが入出力回路１１０へ転送される。
【００４７】
１．１．４  論理アドレスと物理アドレスについて  
次に、論理アドレスと物理アドレスの概念について図５を用いて説明する。図５は、論理アドレス空間とブロックＢＬＫとの関係を示す概念図である。
【００４８】
ＮＡＮＤ型フラッシュメモリ１００の各ブロックＢＬＫには、ブロック固有のブロックアドレスが割り当てられている。これは物理アドレスと呼ばれる。カラムアドレス及びページアドレスも同様であり、各カラム及びページには固有のアドレスが割り当てられている。よって、コントローラ２００がＮＡＮＤ型フラッシュメモリ１００にアクセスする際には、この物理アドレスが用いられる。
【００４９】
他方で、ホスト機器３００はＮＡＮＤ型フラッシュメモリ１００の物理アドレスは認識しない。ホスト機器３００は、ＮＡＮＤ型フラッシュメモリ１００のメモリ容量に基づく論理アドレス空間を認識し、この論理アドレス空間に割り当てられた論理アドレスを用いてコントローラ２００にアクセスする。
【００５０】
従ってコントローラ２００は、ホスト機器３００からの論理アドレスと、ＮＡＮＤ型フラッシュメモリ１００における物理アドレスとの関係、つまり論理アドレスと、物理的なブロックＢＬＫとの対応関係を常に把握する。この対応関係を保持しているのが変換テーブルである。変換テーブルは、メモリシステム１の動作時には例えばＲＡＭ２２０に読み出されて例えばＣＰＵ２３０に利用され、電源遮断時にはＮＡＮＤ型フラッシュメモリ１００に保存される。
【００５１】
図５の例であると、例えば論理アドレス空間の領域ＡＵ０の論理アドレスは０ｘ００００００００〜０ｘ００３ＦＦＦＦＦである。この領域ＡＵ０には、ブロックＢＬＫ０〜ＢＬＫ３が対応する。言い換えれば、物理的なブロックＢＬＫ０〜ＢＬＫ３内のメモリセルトランジスタＭＴによって、論理アドレス空間の領域ＡＵ０が形成されている。なお図５の例ではブロックＢＬＫ０〜ＢＬＫ３にはそれぞれ物理アドレスとして０ｘ００００００００、０ｘ００１０００００、０ｘ００１０００００、及び０ｘ００３０００００が割り当てられており、対応する論理アドレスと一致しているが、両者が一致している必要は無い。
【００５２】
また、例えば論理アドレス空間の領域ＡＵ１の論理アドレスは０ｘ００４０００００〜０ｘ００７ＦＦＦＦＦである。この領域ＡＵ１には、ブロックＢＬＫ４〜ＢＬＫ７が対応しており、それぞれには物理アドレス０ｘ００４０００００、０ｘ００５０００００、０ｘ００６０００００、及び０ｘ００７０００００が割り当てられている。
【００５３】
以上のように、論理アドレスと物理アドレスとの対応関係を保持するのが変換テーブルである。論理アドレスと物理アドレスとの対応関係は、常に変化する。すなわち、ＮＡＮＤ型フラッシュメモリでは、一般的にデータの上書きは行われない。従って、図５に示すように例えばブロックＢＬＫ０内のデータを更新する場合には、更新データが例えば別のブロックＢＬＫ８に書き込まれる。すると、論理アドレス０ｘ００００００００に相当する物理アドレスは、ブロックＢＬＫ０ではなくブロックＢＬＫ８に割り当てられたアドレス０ｘ００８０００００である。また、ブロックＢＬＫ５の更新データがブロックＢＬＫ９に書き込まれると、論理アドレス０ｘ００５０００００に対応する物理アドレスはアドレス０ｘ００９０００００に変わる。
【００５４】
このように、ＮＡＮＤ型フラッシュメモリ１００においてデータはブロック間を転々とするため、いずれのブロックＢＬＫがいずれの論理アドレス空間に相当するのかを常に保持する必要がある。この役割を担っているのが変換テーブルである。コントローラ２００がホスト機器３００からの命令に基づいてＮＡＮＤ型フラッシュメモリ１００にアクセスする際には、受信した論理アドレスを、変換テーブルを用いて物理アドレスに変換する。そして得られた物理アドレスを用いてＮＡＮＤ型フラッシュメモリ１００へのアクセス命令を発行する。
【００５５】
１．２  読み出し動作について  
次に、本実施形態に係るデータの読み出し動作について説明する。図６は、本実施形態に係るメモリシステム１におけるデータ読み出し時のホスト機器３００、コントローラ２００、及びＮＡＮＤ型フラッシュメモリ１００の動作を示すフローチャートである。
【００５６】
図示するように、まずホスト機器３００が読み出し命令を発行し、これをコントローラ２００へ送信する（ステップＳ１０）。この際、ホスト機器３００は、必要なデータが格納された領域に対応する論理アドレスをコントローラ２００へ送信する。
【００５７】
するとコントローラ２００の例えばプロセッサ２３０は、内蔵メモリ２２０等に保持される変換テーブルに従って、受信した論理アドレスを物理アドレスに変換する。すなわち、プロセッサ２３０は、図５で説明した変換テーブルを用いて、必要なデータを保持する物理的なブロックＢＬＫの物理アドレスを得る（ステップＳ１１）。ステップＳ１１で得た物理アドレスを、以下、第１物理アドレスと呼ぶ。
【００５８】
引き続き例えばプロセッサ２３０は、第１物理アドレスに基づいて第２物理アドレスを生成する（ステップＳ１２）。第２物理アドレスは、指定するカラムＣを、第１物理アドレスで指定されるカラムより数カラムだけ先頭カラム側にシフトさせ、または数カラムだけデクリメントさせることによって得られるアドレスである。
【００５９】
そしてプロセッサ２３０は、ＮＡＮＤインターフェースで規定された読み出しコマンドを発行する（ステップＳ１３）。このコマンド及び第２物理アドレスは、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００へ送信される。
【００６０】
読み出しコマンドを受信したＮＡＮＤ型フラッシュメモリ１００では、シーケンサ１１４は、受信した第２物理アドレスに対応するブロックから、１ページ分のデータを読み出す（ステップＳ１４）。
【００６１】
メモリセルアレイ１１６からセンスアンプモジュール１１８へのデータの読み出しが完了すると、コントローラ２００のプロセッサ２３０は、信号ＲＥｎ／ＲＥをトグルさせる。するとＮＡＮＤ型フラッシュメモリ１００の入出力回路１１０は、この信号ＲＥｎ／ＲＥに応答して、読み出しデータＤＱと信号ＤＱＳ／ＤＱＳｎとをコントローラ２００へ送信する（ステップＳ１５）。データＤＱは、第２物理アドレスに対応するカラムから順番にカラム単位で転送される。
【００６２】
ＮＡＮＤ型フラッシュメモリ１００からデータを受信したコントローラ２００では、第１物理アドレスと第２物理アドレスとの差分に対応するカラムのデータを破棄する（ステップＳ１６）。すなわち、ＮＡＮＤ型フラッシュメモリ１００から最初に受信する数サイクルのデータを破棄する。この詳細については後述する。そして、コントローラ２００は、第２物理アドレスに相当するカラム以降のデータにつき、エラー訂正等を行い、その後ホスト機器３００へ転送する。
【００６３】
図７は、上記ステップＳ１３〜Ｓ１５におけるＮＡＮＤインターフェース上の信号を示すタイミングチャートである。図７において、相補信号ＲＥｎ／ＲＥについては信号ＲＥｎ及びＲＥをそれぞれ実線及び破線で示し、ＤＱＳ／ＤＱＳｎについては信号ＤＱＳ及びＤＱＳｎをそれぞれ実線及び破線で示してある。
【００６４】
図示するように、まずコントローラ２００がコマンド“００ｈ”をＮＡＮＤ型フラッシュメモリに送信する。コマンド“００ｈ”は、読み出し動作時においてアドレスを入力する前に発行されるコマンドである。この際、コントローラ２００の例えばＮＡＮＤインターフェース２５０は信号ＣＬＥを“Ｈ”レベルとし、信号ＡＬＥを“Ｌ”レベルとし、信号ＷＥｎを“Ｌ”レベルとする。信号ＲＥｎは“Ｈ”レベルとされ、信号ＤＱＳ／ＤＱＳｎの信号線はハイインピーダンスの状態とされる。この結果、コマンド“００ｈ”がコマンドレジスタ１１３に保持される。
【００６５】
引き続きコントローラ２００は、５サイクルにわたってアドレスを送信する。すなわち、始めの２サイクルでカラムアドレスＣＡが送信され、その後の３サイクルでロウアドレス（ブロックアドレス及びページアドレス）ＲＡが送信される。この際、ＮＡＮＤインターフェース２５０は信号ＣＬＥを“Ｌ”レベルとし、信号ＡＬＥを“Ｈ”レベルとし、信号ＷＥｎをトグルさせる。この結果、アドレスＣＡ及びＲＡがアドレスレジスタ１１２に保持される。
【００６６】
次に、コントローラ２００はコマンド“３０ｈ”をＮＡＮＤ型フラッシュメモリに送信する。コマンド“３０ｈ”は、ＮＡＮＤ型フラッシュメモリ１００に対して、メモリセルアレイ１１６からのデータの読み出しを命令するコマンドである。このコマンド“３０ｈ”がコマンドレジスタ１１３に格納されると、シーケンサ１１４の命令に従ってＮＡＮＤ型フラッシュメモリ１００ではデータの読み出し動作が開始され、ＮＡＮＤ型フラッシュメモリ１００はビジー状態（コントローラ２００からの通常の命令を受け付けない状態）となる。すなわち、ＮＡＮＤ型フラッシュメモリ１００では、ロウデコーダ１１７がロウアドレスＲＡをデコードし、ロウアドレスＲＡによって指定されたページからデータがセンスアンプモジュール１１８に読み出され、更にデータレジスタ１１９に転送される。またカラムデコーダ１２０はカラムアドレスＣＡをデコードする。
【００６７】
そしてＮＡＮＤ型フラッシュメモリ１００がレディ状態（コントローラ２００からの通常の命令を受け付け可能な状態）になると、ＮＡＮＤインターフェース２５０は信号ＲＥｎ／ＲＥをトグルさせる。この信号ＲＥｎ／ＲＥがトグルされることにより、読み出しデータがデータレジスタ１１９から入出力回路１１０を介してコントローラ２００に送信される。
【００６８】
図７の例であると、時刻ｔ７で信号ＲＥｎが“Ｈ”レベル（ＲＥが“Ｌ”レベル）とされたことに同期して、ＮＡＮＤ型フラッシュメモリ１００の入出力回路１１０は、時刻ｔ９において信号ＤＱＳを“Ｈ”レベル（ＤＱＳｎが“Ｌ”レベル）とする。更に入出力回路１１０は、カラムデコーダ１２０でデコードされたカラム（本例ではカラムアドレスはＣＡ５であり、対応するカラムがＣ５であったとする）に相当するラッチ回路ＬＣ５から、読み出しデータＤ５を、信号ＤＱＳ／ＤＱＳｎに同期してコントローラ２００へ送信する。このカラムアドレスＣＡ５は、図６で説明した第２物理アドレスに相当する。
【００６９】
その後、コントローラ２００は、必要とするデータ量に応じて信号ＲＥｎ／ＲＥをトグルさせる。トグルされる度に、カラムデコーダ１２０あるいはアドレスレジスタ１１２において、カラムアドレスＣＡがインクリメントされる。その結果、時刻ｔ１１、ｔ１３、ｔ１５、ｔ１７、ｔ１９、ｔ２１において、データＤ６〜Ｄ１１がコントローラ２００へ送信される。
【００７０】
コントローラ２００へ送信された読み出しデータは、図６のステップＳ１６で説明したように、最初の数サイクルに相当するデータが破棄される。この様子を図８に示す。図８は、１ページ分のデータを保持するデータレジスタ１１９のブロック図と、データ送信時における信号ＤＱの様子を示している。また図８では、ホスト機器３００から与えられた論理アドレスに相当する第１物理アドレスによって指定されるカラムがＣ９（カラムアドレス＝ＣＡ９）であり、コントローラ２００で破棄されるデータサイクルが４サイクルであった場合について示している。
【００７１】
図示するように、コントローラ２００では、第２物理アドレスとして、カラムＣ５を指定するカラムアドレスＣＡ５を生成し、ロウアドレスＲＡと共にこれらをＮＡＮＤ型フラッシュメモリ１００へ送信する。ホスト機器３００から求められているデータはカラムＣ９（カラムアドレスＣＡ９）以降のデータであるので、コントローラ２００は、カラムＣ５〜Ｃ９の間のデータＤ５〜Ｄ８をダミーデータとして扱う。すなわち、ＮＡＮＤインターフェース２５０でデータＤ５〜Ｄ８を受信すると、これらについてＥＣＣ処理等を行うことなく破棄する。そしてコントローラ２００は、カラムＣ９以降のデータＤ９、Ｄ１０、Ｄ１１…を有効データとして扱い、これらにつきＥＣＣ処理等を行い、ホスト機器３００に送信する。
【００７２】
１．３  本実施形態に係る効果  
本実施形態によれば、メモリシステムの動作信頼性を向上出来る。本効果につき、以下説明する。
【００７３】
図１で説明したように、メモリコントローラ２００に複数のメモリチップ１００が接続されると、ＮＡＮＤバスの負荷が大きくなる。すると、ＮＡＮＤインターフェース上の基準信号となる信号ＲＥｎやＤＱＳ等の差動信号がプリアンプル期間を経て発振を開始する際、その最初の数サイクルでは十分な振幅が得られない場合がある。
【００７４】
図９は、ある差動信号Ｓ１／Ｓ１ｎの発振直後の波形を示している。図示するように、信号Ｓ１の振幅は、最初のサイクルでは最大振幅の５５％に過ぎず、２サイクル目では最大振幅の６０％となり、時間が経つにつれて最大振幅に近づいていく。信号Ｓ１ｎも同様である。このように振幅を十分に取れない問題は、信号の発振周波数が高いほどに顕著であり、ＤＤＲ（double data rate）方式のＮＡＮＤ型フラッシュメモリにおいて問題となる可能性がある。この様子を図１０に示す。
【００７５】
図中のＲＥｎ／ＲＥ１は、負荷が小さい状態での信号ＲＥｎ／ＲＥの発振波形である。信号ＲＥｎ／ＲＥは、時刻ｔ０〜ｔ１０の期間でアサートされている。しかし、ＮＡＮＤバスに複数のメモリチップが接続されて、ＮＡＮＤバスの負荷が大きくなると、図９で説明したように発振直後の信号ＲＥｎ／ＲＥには十分な振幅が得られず、図１０のＲＥｎ／ＲＥ２に示すように、アサートされる期間が実質的に短くなる。
【００７６】
ＮＡＮＤ型フラッシュメモリでは、ＲＥｎ／ＲＥ２で示された信号を元に、信号ＤＱＳ／ＤＱＳｎが生成される。ＮＡＮＤバスの負荷が小さければ、図１０においてＤＱＳ／ＤＱＳｎ１と示す信号波形が得られる。信号ＤＱＳの立ち上がりは、ほぼ信号ＲＥｎの立ち下がりと同時であり、信号ＤＱＳの立ち下がりは、信号ＲＥｎの立ち上がりからあるマージンを持った期間だけ早く立ち下がる。
【００７７】
しかし、信号ＲＥｎ／ＲＥと同様に、ＮＡＮＤバスの負荷が大きくなると、発振直後の信号ＤＱＳ／ＤＱＳｎには十分な振幅が得られず、図１０のＤＱＳ／ＤＱＳ２に示すように、アサートされる期間が実質的に短くなる。図１０の例では、アサート期間は時刻ｔ２〜ｔ７である。
【００７８】
データＤＱは、図１０のＤＱＳ／ＤＱＳｎ２に示す信号に同期してコントローラ２００に送信される。従って、ＤＱは、時刻ｔ２〜ｔ７に対して更にマージンを持たせた時刻ｔ３〜ｔ６の期間に送信される。コントローラ２００では、更にマージンを持たせた時刻ｔ４〜ｔ５の期間でデータをサンプリングする。
【００７９】
以上のように、高周波数で発振する差動信号において、バスの負荷が大きくなると、データをサンプリングする期間を十分に確保することが困難となる。このことは、データ送信時のクロックとして機能する信号ＲＥｎ／ＲＥ及びＤＱＳ／ＤＱＳｎだけでなく、図１０では図示を省略したが、データＤＱについても同様である。データＤＱの場合にはＲＥｎ／ＲＥ及びＤＱＳ／ＤＱＳｎのようなクロックと異なり、データに依存して“Ｈ”レベルまたは“Ｌ”レベルを取る。しかし、メモリセルアレイ１１６にデータを書き込む際には、“０”データや“１”データが偏在しないよう、コントローラ２００によってデータはランダマイズされる。すると、データＤＱもまたクロックと同様に、高い周波数で発振する信号となり、クロックと同様の問題を有し得る。
【００８０】
この点、本実施形態に係る読み出し方法であると、コントローラ２００は、ホスト機器３００から受信した論理アドレスに相当し、且つ本来アクセスすべきカラムアドレス（図８の例であるとＣＡ９）を、先頭アドレス側にシフトさせたカラムアドレス（図８の例であるとＣＡ５）を生成する。そしてこのシフトされたカラムアドレスから順番にデータをＮＡＮＤ型フラッシュメモリ１００から読み出す。しかし、シフトされたカラムアドレスと本来アクセスすべきカラムアドレスとの間のデータはホスト機器３００に送信することなく破棄する。つまり、図９及び図１０で説明したような誤読み出しが生じ易いクロックで読み出したデータは破棄され、その後、クロックの発振が安定した状態で、必要なデータがコントローラ２００で受信される。
【００８１】
図７及び図８の例では、クロックの発振が安定するまでのサイクル（ダミーサイクル）数が４サイクルである場合を例に説明した。しかし、このダミーサイクル数はメモリチップ及びコントローラチップの特性や、コントローラチップに接続されるメモリチップ数によって適宜選択出来る。また本実施形態であると、初めの４サイクルで読み出されるデータは無駄なデータであり、無駄な読み出し動作と言うことが出来る。しかし、発振の安定しない４サイクルを使用しないことで、安定後のクロックの周波数は十分に高くすることが出来る。従って、読み出し動作において、たとえ無駄な４サイクルが増えたとしても、読み出し動作全体のスピードは向上され、且つ動作の誤読み出しを抑制出来る。
【００８２】
２．第２実施形態  
次に、第２実施形態に係るメモリシステムについて説明する。本実施形態は、上記第１実施形態において、ＮＡＮＤ型フラッシュメモリ１００のデータレジスタ１１９の動作に関するものである。以下では、第１実施形態と異なる点についてのみ説明する。
【００８３】
２．１  読み出し動作について  
本実施形態に係るデータの読み出し時におけるＮＡＮＤ型フラッシュメモリ１００の動作につき、図１１を用いて説明する。図１１は読み出し時における、特にカラム系の動作に着目したフローチャートであり、第１実施形態の図６で説明したステップＳ１４及びＳ１５に相当する。
【００８４】
図示するように、まずコントローラ２００から受信した物理アドレスがアドレスレジスタ１１２にセットされ、このうちのカラムアドレスＣＡがカラムデコーダ１２０に転送される（ステップＳ２０）。そして、シーケンサ１１４は信号ＲＥｎ／ＲＥを受信すると（ステップＳ２１）、データレジスタ１１９は、カラムデコーダ１２０でデコードされたカラムアドレスに相当するラッチ回路ＬＣから１カラム分のデータを入出力回路１１０に転送し、入出力回路１１０はこれを信号ＤＱＳ／ＤＱＳｎに同期してコントローラ２００へ送信する（ステップＳ２２）。
【００８５】
その後、信号ＲＥｎ／ＲＥを受信しなければ（ステップＳ２３、ＮＯ）、読み出し動作は終了する。他方で信号ＲＥｎ／ＲＥを受信した場合には（ステップＳ２３、ＹＥＳ）、シーケンサ１１４は、直前にアクセスしたカラムが最終カラムアドレスに相当するか否かを判断する（ステップＳ２４）。最終カラムアドレスでなければ（ステップＳ２４、ＮＯ）、シーケンサ１１４は、アドレスレジスタ１１２内のカラムアドレスＣＡをインクリメントしてカラムデコーダ１２０に転送するか、あるいはカラムデコーダ１２０に転送されたカラムアドレスをインクリメントする（ステップＳ２５）。するとデータレジスタ１１９は、ステップＳ２２で説明した通り、インクリメントされたカラムアドレスに相当する１カラム分のデータを入出力回路１１０に転送し、入出力回路１１０はこれを信号ＤＱＳ／ＤＱＳｎに同期してコントローラ２００へ送信する。
【００８６】
他方で、直前にアクセスしたカラムが最終カラムアドレスであった場合には（ステップＳ２４、ＹＥＳ）、シーケンサ１１４は、アドレスレジスタ１１２内のカラムアドレスＣＡをページの先頭アドレスに更新してカラムデコーダ１２０に転送するか、あるいはカラムデコーダ１２０に転送されたカラムアドレスを先頭アドレスに更新する（ステップＳ２６）。するとデータレジスタ１１９は、ステップＳ２２で説明した通り、ページの先頭アドレスに相当する１カラム分のデータを入出力回路１１０に転送し、入出力回路１１０はこれを信号ＤＱＳ／ＤＱＳｎに同期してコントローラ２００へ送信する。
【００８７】
図１２は、第１実施形態で説明した図８と同様に、１ページ分のデータを保持するデータレジスタ１１９のブロック図と、データ送信時における信号ＤＱの様子を示している。図１２では、論理アドレスによって１ページの先頭カラム（カラムアドレスＣＡ０）が指定される場合を示している。
【００８８】
図示するように、コントローラ２００では、第２物理アドレスとして、先頭カラムアドレスＣＡ０から４カラム前のカラムＣ（ｎ−３）を指定するカラムアドレスＣＡ（ｎ−３）を生成する。コントローラ２００では、カラムアドレスをデクリメントする際に、先頭アドレスＣＡ０に到達した際には、次に最終カラムアドレスＣＡｎに遷移する。
【００８９】
従ってＮＡＮＤ型フラッシュメモリ１００は、信号ＲＥｎ／ＲＥがトグルされる度にＤ（ｎ−３）、Ｄ（ｎ−２）、…を順次出力する。そして、最終カラムアドレスＣＡｎに対応するデータＤｎを出力すると、カラムアドレスＣＡを先頭カラムアドレスＣＡ０に更新する。その後は、再びカラムアドレスＣＡをインクリメントして、データＤ０、Ｄ１、Ｄ３、…を順次出力する。
【００９０】
この場合、最初の４サイクルのデータＤ（ｎ−３）、Ｄ（ｎ−２）、Ｄ（ｎ−１）、及びＤｎが破棄される。その結果、ページデータは、先頭カラムから順番に有効データとしてコントローラ２００へ転送され、これらにつきＥＣＣ処理等が行われた後、ホスト機器３００に送信される。
【００９１】
２．２  本実施形態に係る効果  
本実施形態に係るＮＡＮＤ型フラッシュメモリ１００によれば、カラムアドレスＣＡは、最終アドレスに達した後、信号ＲＥｎ／ＲＥに同期して先頭アドレスに戻る。これにより、第１実施形態で説明した方法を適用した場合であっても、読み出し開始カラムを自由に設定出来る。
【００９２】
３．第３実施形態  
次に、第３実施形態に係るメモリシステムについて説明する。本実施形態は、コントローラ２００において、不要なデータを破棄する一具体例に関するものである。以下では、第１及び第２実施形態と異なる点についてのみ説明する。
【００９３】
３．１  ＮＡＮＤ型フラッシュメモリ１００及びコントローラ２００の構成について  
図１３は、ＮＡＮＤ型フラッシュメモリ１００及びコントローラ２００における、データ読み出し時の入出力系統のブロック構成を示している。
【００９４】
図示するようにコントローラ２００は、入力系のロジック回路２９０と出力系のロジック回路２８０を備えている。ロジック回路２９０及び２８０は、図１で説明した例えばプロセッサ２３０、ＥＣＣ回路２６０、ＲＡＭ２２０、及びバッファメモリ２４０を含む。またロジック回路２９０は、ＲＥｎ制御部２９１を備えている。ＲＥｎ制御部２９１は、例えばコントローラ２００内に設けられたクロック生成器から与えられるクロックＣＬＫに基づいて、信号ＲＥｎ／ＲＥを生成する。
【００９５】
ＮＡＮＤインターフェース２５０は、ＲＥｎ出力部２７０、ＤＱＳ受信部２７１、及びＤＱ受信部２７２を備えている。そしてＲＥｎ出力部２７０は、ＲＥｎ制御部２９１から信号ＲＥｎ／ＲＥを受信し、これをＲＥｎ／ＲＥ出力端子ＴＣ１からＮＡＮＤ型フラッシュメモリ１００へ送信する。
【００９６】
ＮＡＮＤ型フラッシュメモリ１００のロジック回路１１１は、ＲＥｎ受信部１３０を備えている。ＲＥｎ受信部１３０は、ＮＡＮＤ型フラッシュメモリのＲＥｎ／ＲＥ入力端子ＴＮ１を介して、コントローラ２００からの信号ＲＥｎ／ＲＥを受信する。
【００９７】
入出力回路１１０は、ＤＱＳ出力部１３１及びＤＱ出力部１３２を備えている。ＤＱＳ出力部１３１は、ＲＥｎ受信部１３０から受信した信号ＲＥｎ／ＲＥに基づいて信号ＤＱＳ／ＤＱＳｎを生成し、これをＤＱＳ／ＤＱＳｎ出力端子ＴＮ２からコントローラ２００へ送信する。ＤＱ出力部１３２は、データレジスタ１１９から１カラム分のデータＤＱを受信し、ＲＥｎ受信部１３０から受信した信号ＲＥｎ／ＲＥ及びＤＱＳ出力部１３１から受信した信号ＤＱＳ／ＤＱＳｎに同期して、これをＤＱ出力端子ＴＮ３からコントローラ２００へ送信する。
【００９８】
ＮＡＮＤインターフェース２５０のＤＱＳ受信部２７１は、コントローラ２００のＤＱＳ入力端子ＴＣ２を介して、ＮＡＮＤ型フラッシュメモリ１００から信号ＤＱＳ／ＤＱＳｎを受信し、これをロジック回路２８０へ転送する。またＤＱ受信部２７２は、コントローラ２００のＤＱ入力端子ＴＣ３を介して、ＮＡＮＤ型フラッシュメモリ１００から信号ＤＱを受信し、これをロジック回路２８０へ転送する。
【００９９】
ロジック回路２８０は、ＤＬＬ回路２８１及びＦＩＦＯメモリ２８２を備えている。ＤＬＬ回路２８１は、ＤＯＱ受信部２７１及びＤＱ受信部２７２から受信した信号ＤＱＳとＤＱのエッジのタイミングを揃える。ＦＩＦＯメモリ２８２は、ＤＬＬ回路２８１によってタイミングの揃えられた信号ＤＱＳを一時的に保持する。ＦＩＦＯメモリ２８２に保持されたデータは、その後、エラー訂正等が行われて、ホスト機器３００へ送信される。
【０１００】
コントローラ２００は更に、ＤＱＳ受信部２７１及びＤＱ受信部２７２と、ロジック回路２８０との間に、スイッチＳＷ１及びＳＷ２を備えている。スイッチＳＷ１は信号ＤＱＳ／ＤＱＳｎの転送経路に設けられ、スイッチＳＷ２は信号ＤＱの転送経路に設けられる。そして、スイッチＳＷ１及びＳＷ２をロジック回路２９０の例えばＲＥｎ制御部２９１が制御することにより、信号ＤＱＳ／ＤＱＳｎ及びＤＱがゲーティングされる。この際、ＲＥｎ制御部２７１は、ＤＱＳ／ＤＱＳｎのダミーサイクルの期間だけスイッチＳＷ１及びＳＷ２をオフさせ、ダミーサイクルが経過した後にスイッチＳＷ１及びＳＷ２をオンさせる。これにより、ＦＩＦＯメモリ２８２には有効データが転送され、ダミーデータは転送されない。
【０１０１】
３．２  本実施形態に係る効果  
上記第１及び第２実施形態には、例えば本実施形態で説明した構成が適用出来る。なお、スイッチＳＷ１を廃しても良い。
【０１０２】
４．変形例等  
上記のように、本実施形態に係るメモリシステムは、半導体メモリ(100)と、コントローラ(200)とを備える。半導体メモリ(100)は、データを保持可能である。コントローラ(200)は、ホスト(300)から第１論理アドレスを受信し、第１論理アドレスに対応する第１物理アドレス(CA9 in 図8)と異なる第２物理アドレス(CA5 in 図8)を半導体メモリ(100)に発行して、該半導体メモリからデータを読み出す。
【０１０３】
換言すれば、本実施形態に係るコントローラ(200)は、ホスト機器(300)から受信した第１論理アドレス(CA9 in FIG8)に従って半導体メモリに第１データ(D9-D13 in FIG8)を書き込んだ直後に、第１論理アドレス(CA9 in FIG8)に従った読み出し命令を半導体メモリに発行した際、半導体メモリからは第１データと異なる第２データ(D5-D13 in FIG8)が読み出される。この第２データは、図８で説明したように、第３データ(D5-D8 in FIG8)と、第３データに後続する第１データ(D9-D13 in FIG8)とを含む。これはコントローラが、書き込み動作時には、受信した第１論理アドレスをテーブルに基づいて第１物理アドレスに変換し、該第１物理アドレスに対応する領域にデータを書き込むよう、半導体メモリに命令するのに対して、読み出し動作時には、第１論理アドレスを第１物理アドレスに変換し、更にカラムアドレスが前記ページにおける先頭カラム側にシフトするように、第１物理アドレスを第２物理アドレスに変換するからである(FIG8)。
【０１０４】
本構成により、安定したクロックを用いてデータの転送が可能となり、メモリシステムの動作信頼性を向上出来る。なお、実施形態は上記説明した形態に限られず、種々の変形が可能である。例えば図８の例では、信号ＲＥｎ／ＲＥ及びＤＱＳ／ＤＱＳｎが発振を開始してから４サイクル分をダミーデータとして破棄する場合を例に説明したが、ダミーサイクルは４サイクルに限らず、任意のサイクルに設定出来る。また、このサイクル数を可変としても良い。例えば、Set featureコマンド等を用いることで、メモリシステム自体が劣化してきた際には、出荷直後の設定サイクル数よりもサイクル数を多くしても良い。
【０１０５】
また、ダミーデータを破棄せずにコントローラ２００の例えばバッファメモリ２４０等に保持していても良い。ホスト機器３００からの読み出し命令が繰り返される度に、バッファメモリ２４０にはダミーデータが蓄積される。そして、バッファメモリ２４０に蓄積していたデータが、ホスト機器３００の要求するデータに一致すれば、バッファメモリ２４０からデータを読み出せば良く、メモリセルアレイからのデータの読み出しが不要となる。
【０１０６】
なお、コントローラ２００にデータを転送する必要の無い読み出し動作の場合には、カラムシフトは不要である。例えば、ホスト機器３００やコントローラ２００からの命令を受信することなく、ＮＡＮＤ型フラッシュメモリ１００内部においてデータをあるブロックから別のブロックにコピーするような場合には、当然ながらＮＡＮＤ型フラッシュメモリ１００はカラムシフトする必要は無い。またコントローラ２００が読み出し命令を発行する場合であっても、そのデータがコントローラ２００に転送されないならば、カラムシフトは不要である。
【０１０７】
また、上記実施形態では半導体記憶装置としてＮＡＮＤ型フラッシュメモリを例に挙げて説明した。しかしＮＡＮＤ型フラッシュメモリに限らず、また記憶装置に限らず、バス上の負荷が大きく、データ転送時の信号安定化に時間を要する半導体装置全般に適用出来る。
【０１０８】
なお、各実施形態において、  
（１）読み出し動作では、メモリセルトランジスタＭＴが２ビットのデータを保持し、その閾値を電圧の低いものからＥレベル、Ａレベル、Ｂレベル、及びＣレベルとすると、  
Ａレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば０Ｖ〜０．５５Ｖの間である。これに限定されることなく、０．１Ｖ〜０．２４Ｖ、０．２１Ｖ〜０．３１Ｖ、０．３１Ｖ〜０．４Ｖ、０．４Ｖ〜０．５Ｖ、０．５Ｖ〜０．５５Ｖいずれかの間にしてもよい。  
Ｂレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば１．５Ｖ〜２．３Ｖの間である。これに限定されることなく、１．６５Ｖ〜１．８Ｖ、１．８Ｖ〜１．９５Ｖ、１．９５Ｖ〜２．１Ｖ、２．１Ｖ〜２．３Ｖいずれかの間にしてもよい。  
Ｃレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば３．０Ｖ〜４．０Ｖの間である。これに限定されることなく、３．０Ｖ〜３．２Ｖ、３２Ｖ〜３．４Ｖ、３．４Ｖ〜３．５Ｖ、３．５Ｖ〜３．６Ｖ、３．６Ｖ〜４．０Ｖいずれかの間にしてもよい。  
読み出し動作の時間（ｔＲ）としては、例えば２５μｓ〜３８μｓ、３８μｓ〜７０μｓ、７０μｓ〜８０μｓの間にしてもよい。  
（２）書き込み動作は、プログラム動作とベリファイ動作を含む。書き込み動作では、  
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば１３．７Ｖ〜１４．３Ｖの間である。これに限定されることなく、例えば１３．７Ｖ〜１４．０Ｖ、１４．０Ｖ〜１４．６Ｖいずれかの間としてもよい。  
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。  
プログラム動作をＩＳＰＰ方式（Incremental Step Pulse Program）としたとき、ステップアップの電圧として、例えば０．５Ｖ程度が挙げられる。  
非選択のワード線に印加される電圧としては、例えば６．０Ｖ〜７．３Ｖの間としてもよい。この場合に限定されることなく、例えば７．３Ｖ〜８．４Ｖの間としてもよく、６．０Ｖ以下としてもよい。  
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
【０１０９】
書き込み動作の時間（ｔProg）としては、例えば１７００μｓ〜１８００μｓ、１８００μｓ〜１９００μｓ、１９００μｓ〜２０００μｓの間にしてもよい。  
（３）消去動作では、  
半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば１２Ｖ〜１３．６Ｖの間である。この場合に限定されることなく、例えば１３．６Ｖ〜１４．８Ｖ、１４．８Ｖ〜１９．０Ｖ、１９．０Ｖ〜１９．８Ｖ、１９．８Ｖ〜２１Ｖの間であってもよい。  
消去動作の時間（ｔErase）としては、例えば３０００μｓ〜４０００μｓ、４０００μｓ〜５０００μｓ、４０００μｓ〜９０００μｓの間にしてもよい。  
（４）メモリセルの構造は、下記のような構造であっても良い。すなわち、  
半導体基板（シリコン基板）上に膜厚が４〜１０ｎｍのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が２〜３ｎｍのＳｉＮ、またはＳｉＯＮなどの絶縁膜と膜厚が３〜８ｎｍのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはＲｕなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が３〜１０ｎｍの下層Ｈｉｇｈ−ｋ膜と膜厚が３〜１０ｎｍの上層Ｈｉｇｈ−ｋ膜に挟まれた膜厚が４〜１０ｎｍのシリコン酸化膜を有している。Ｈｉｇｈ−ｋ膜はＨｆＯなどが挙げられる。また、シリコン酸化膜の膜厚はＨｉｇｈ−ｋ膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が３〜１０ｎｍの仕事関数調整用の材料を介して膜厚が３０ｎｍ〜７０ｎｍの制御電極が形成されている。ここで仕事関数調整用の材料はＴａＯなどの金属酸化膜、ＴａＮなどの金属窒化膜である。制御電極にはＷなどを用いることができる。  
また、メモリセル間にはエアギャップを形成することができる。
【０１１０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１１】
１…メモリシステム、
１００…ＮＡＮＤ型フラッシュメモリ、１１０…入出力回路、１１１…ロジック回路、１１２、１１３、１１９…レジスタ、１１４…シーケンサ、１１５…電圧発生回路、１１６…メモリセルアレイ、１１７…ロウデコーダ、１１８…センスアンプモジュール、１２０…カラムデコーダ、１２１…ＮＡＮＤストリング、２００…コントローラ、２１０、２５０…インターフェース回路、２２０、２４０…メモリ、２３０…プロセッサ、２６０…ＥＣＣ回路、３００…ホスト機器
【図１】
2018163440.tif 000003
【図２】
2018163440.tif 000004
【図３】
2018163440.tif 000005
【図４】
2018163440.tif 000006
【図５】
2018163440.tif 000007
【図６】
2018163440.tif 000008
【図７】
2018163440.tif 000009
【図８】
2018163440.tif 000010
【図９】
2018163440.tif 000011
【図１０】
2018163440.tif 000012
【図１１】
2018163440.tif 000013
【図１２】
2018163440.tif 000014
【図１３】
2018163440.tif 000015