(57)【要約】【課題】高速動作化に対して有利な半導体記憶装置を提供する。【解決手段】実施形態によれば、半導体記憶装置は、ページ単位でデータの読み出し動作及び書き込み動作を行うメモリ１１と、誤り訂正符号を生成するＥＣＣ部２５と、識別情報を生成する識別情報付加部２２−１とを備え、前記メモリを制御するコントローラ２１とを具備する。【選択図】図９
2013232097.tif 000002
【特許請求の範囲】
【請求項１】
ページ単位でデータの読み出し動作及び書き込み動作を行うメモリと、
誤り訂正符号を生成するＥＣＣ部と、識別情報を生成する識別情報付加部とを備え、前記メモリを制御するコントローラとを具備する半導体記憶装置であって、前記コントローラは、
書き込みデータと前記書き込みデータの書き込み要求とを外部のホストから受け、前記ＥＣＣ部により、前記ページ単位よりも小さいフレーム単位で前記書き込みデータを分割した複数のフレームデータの各々に対して前記誤り訂正符号を生成し、前記識別情報付加部により、前記複数のフレームデータの各々に対して前記識別情報を生成し、前記メモリ内のアドレスにおいて、前記複数のフレームデータのうち第１フレームデータと他のフレームデータとの間に前記第１フレームデータに対する誤り訂正符号と識別情報とが記憶されるように、前記複数のフレームデータ、前記誤り訂正符号及び前記識別情報を前記メモリに格納し、
前記第１フレームデータに含まれる読み出しデータの出力要求を前記ホストから受け、前記メモリから、前記他のフレームデータを読み出さずに、前記第１フレームデータと前記第１フレームデータに対する誤り訂正符号及び識別情報とを読み出し、前記読み出しデータを前記ホストに出力する。
【請求項２】
前記コントローラは、
前記データの出力要求の際に、前記ホストからデータ出力数を指定する第１コマンドを受け、
前記第１コマンドに従い、前記コントローラの内部のデータ読み出し変数の設定を行う
請求項１に記載の半導体記憶装置。
【請求項３】
前記コントローラは、
前記データの出力要求の際に、前記ホストからアドレスの読み出しの開始の位置を指定する第２コマンドを受け、
前記第２コマンドに従った読み出しの開始の位置の前記メモリのアドレスから、データを読み出す
請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記コントローラは、前記データを前記ホストに出力した後、前記ホストから、前記読み出したデータのアドレスと少なくとも一部が重複するアドレスについてデータの出力要求を再び受けると、
前記メモリからデータを読み出すことなく、前記重複するアドレスの読み出しデータを前記ホストへ再出力する
請求項１乃至３のいずれか１項に記載の半導体記憶装置。
【請求項５】
前記コントローラは、前記ホストへ再出力する際に、出力前後のデータサイズを維持するように、有効でないデータを付加する
請求項４に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
半導体記憶装置に関するものである。
【背景技術】
【０００２】
近年、例えば、ＮＡＮＤ型フラッシュメモリ等において、メモリを制御するコントローラが搭載される半導体記憶装置等の機器が増加している。
【０００３】
ここで、半導体記憶装置のホストからメモリからのデータ読み出しが要求された場合、読み出し単位であるページ単位でしかデータ読み出しを行うことができない。
【０００４】
そのため、半導体記憶装置のデータ読み出し時間を短縮することができず、高速動作化に対して不利であるという背景がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−９６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
高速動作化に対して有利な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００７】
実施形態によれば、半導体記憶装置は、ページ単位でデータの読み出し動作及び書き込み動作を行うメモリと、誤り訂正符号を生成するＥＣＣ部と、識別情報を生成する識別情報付加部とを備え、前記メモリを制御するコントローラとを具備する半導体記憶装置であって、前記コントローラは、書き込みデータと前記書き込みデータの書き込み要求とを外部のホストから受け、前記ＥＣＣ部により、前記ページ単位よりも小さいフレーム単位で前記書き込みデータを分割した複数のフレームデータの各々に対して前記誤り訂正符号を生成し、前記識別情報付加部により、前記複数のフレームデータの各々に対して前記識別情報を生成し、前記メモリ内のアドレスにおいて、前記複数のフレームデータのうち第１フレームデータと他のフレームデータとの間に前記第１フレームデータに対する誤り訂正符号と識別情報とが記憶されるように、前記複数のフレームデータ、前記誤り訂正符号及び前記識別情報を前記メモリに格納し、前記第１フレームデータに含まれる読み出しデータの出力要求を前記ホストから受け、前記メモリから、前記他のフレームデータを読み出さずに、前記第１フレームデータと前記第１フレームデータに対する誤り訂正符号及び識別情報とを読み出し、前記読み出しデータを前記ホストに出力する。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る半導体記憶装置の全体構成を示すブロック図。
【図２】図１中の１ブロックを示す等価回路図。
【図３】ＮＡＮＤインターフェイス中のページ情報付加部を示すブロック図。
【図４】実施例１に係るページ構成を示す図。
【図５】実施例１に係る半導体記憶装置のデータ書き込み動作を示すフロー図。
【図６】実施例１に係る半導体記憶装置のデータ出力数設定動作を示すフロー図。
【図７】実施例１に係る半導体記憶装置のデータ読み出し動作を示すフロー図。
【図８】実施例１に係るデータ読み出し動作のホストと半導体記憶装置との関係を示すフロー図。
【図９】実施例１に係るデータ読み出し動作を示すタイミングチャート図。
【図１０】実施例２に係るデータ読み出し動作のホストと半導体記憶装置との関係を示すフロー図。
【図１１】実施例２に係るデータ読み出し動作を示すタイミングチャート図。
【図１２】実施例３に係るデータ読み出し動作を示すタイミングチャート図。
【図１３】実施例４に係るデータ読み出し動作を示すタイミングチャート図。
【図１４】参考例に係るデータ読み出し動作を示すタイミングチャート図。
【発明を実施するための形態】
【０００９】
以下、実施形態について図面を参照して説明する。この説明においては、半導体記憶装置として、 ＮＡＮＤ型フラッシュメモリを含むメモリシステムを一例に挙げるが、これに限られることはない。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【００１０】
［実施例１］  
＜１．構成例＞  
１−１．全体構成（メモリシステム）
まず、図１を用い、第１の実施形態に係る半導体記憶装置の全体構成（メモリシステム）について説明する。
【００１１】
図示するように、本例に係る半導体記憶装置は、メモリとしてのＮＡＮＤ型フラッシュメモリ１１と、このメモリ１１を制御するメモリコントローラ２１を備える。
【００１２】
ＮＡＮＤ型フラッシュメモリ（ＮＡＮＤ  Ｆｌａｓｈ）１１は、複数のメモリセルがそれぞれ配置される複数のブロックを備える。詳細については、後述する。
【００１３】
メモリコントローラ２１は、ＮＡＮＤインターフェイス２２、２３、データ読み出し部２４、ＥＣＣ部２５、データ書き込み部２６等を備える。
【００１４】
ＮＡＮＤインターフェイス（ＮＡＮＤ  Ｉ／Ｆ）２２は、コントローラ２１とＮＡＮＤ型フラッシュメモリ１１との間のデータ（Data）、アドレス等の制御を行う、メモリインターフェイスである。
【００１５】
ＮＡＮＤインターフェイス（ＮＡＮＤ  Ｉ／Ｆ for Host side）２３は、コントローラ２１と図示しない半導体記憶装置の外部のホスト（Host）との間のデータ、アドレス、コマンド等の制御を行う。Ｖｃｃ、Ｖｓｓには、電源電圧が与えられる。Ｉ／Ｏ１〜Ｉ／Ｏ８には、読み出しデータ、書き込みデータ、コマンド、およびアドレスが与えられる。／ＣＥ１、／ＣＥ２には、チップイネーブル信号が与えられる。／ＲＥには、リードイネーブル信号が与えられる。ＡＬＥには、アドレスラッチイネーブル信号が与えられる。ＣＬＥには、コマンドラッチイネーブル信号が与えられる。ＲＹ／ＢＹ１、ＲＹ／ＢＹ２には、レディ／ビジィ信号が与えられる。これらの信号を用いたシーケンスに関しては、後述する。
【００１６】
データ読み出し部（Read Unit）２４は、ＮＡＮＤインターフェイス２２を介して、ＮＡＮＤ型フラッシュメモリ１１のデータ読み出し動作等を行う。
【００１７】
ＥＣＣ部２５は、ＮＡＮＤインターフェイス２２を介して、ＮＡＮＤ型フラッシュメモリ１１に書き込みデータを書き込む際に、所定のフレームごとに誤り訂正符号（ＥＣＣ： Error Correcting Code）を付加する。また、ＥＣＣ部２５は、ＮＡＮＤインターフェイス２２を介して、ＮＡＮＤ型フラッシュメモリ１１から読み出したデータ中のエラーを検出し、データを復元する。
【００１８】
データ書き込み部（Write Unit）２６は、ＮＡＮＤインターフェイス２２を介して、ＮＡＮＤ型フラッシュメモリ１１のデータ書き込み動作等を行う。
【００１９】
１−２．ブロック
次に、図２を用い、ＮＡＮＤ型フラッシュメモリ１１中に配置されるブロック（ＢＬＯＣＫ）の構成例について説明する。ここでは、ＢＬＯＣＫ１を一例に挙げる。ここで、このブロック（ＢＬＯＣＫ１）中のメモリセルは、一括してデータ消去されるため、ブロックはデータ消去単位である。
【００２０】
ブロック（ＢＬＯＣＫ１）は、ワード線方向（WL direction）に配置される複数のメモリセルユニットＭＵから構成される。メモリセルユニットＭＵは、ＷＬ方向と交差するビット線方向（BL direction）に配置され、電流経路が直列接続される８個のメモリセルＭＣ０〜ＭＣ７からなるＮＡＮＤストリング（メモリセルストリング）と、ＮＡＮＤストリングの電流経路の一端に接続されるソース側の選択トランジスタＳ１と、ＮＡＮＤストリングの電流経路の他端に接続されるドレイン側の選択トランジスタＳ２とから構成される。
【００２１】
尚、本例では、メモリセルユニットＭＵは、８個のメモリセルＭＣ０〜ＭＣ７から構成されるが、２つ以上のメモリセル、例えば、５６個、３２個等から構成されていればよく、８個に限定されるというものではない。
【００２２】
ソース側の選択トランジスタＳ１の電流経路の他端はソース線ＳＬに接続される。ドレイン側の選択トランジスタＳ２の電流経路の他端は、各メモリセルユニットＭＵに対応してメモリセルユニットＭＵの上方に設けられ、ＢＬ方向に延出するビット線ＢＬｍ−１に接続される。
【００２３】
ワード線ＷＬ０〜ＷＬ７は、ＷＬ方向に延び、ＷＬ方向の複数のメモリセルの制御ゲート電極に共通に接続される。選択ゲート線ＳＧＳは、ＷＬ方向に延び、ＷＬ方向の複数の選択トランジスタＳ１に共通に接続される。選択ゲート線ＳＧＤも、ＷＬ方向に延び、ＷＬ方向の複数の選択トランジスタＳ２に共通に接続される。
【００２４】
また、ワード線ＷＬ０〜ＷＬ７ごとにページ（ＰＡＧＥ）が存在する。例えば、図中の破線で囲って示すように、ワード線ＷＬ７には、ページ７（ＰＡＧＥ７）が存在する。このページ（ＰＡＧＥ）ごとに、データ読み出し動作、データ書き込み動作が行われる。そのため、ページ（ＰＡＧＥ）は、原則的には、データ読み出し単位であり、データ書き込み単位である。
【００２５】
しかしながら、本例では、後述するように、１ページにおいて１フレームごとに１ページ情報を付加することにより、１フレームごとのデータ読み出し等を可能とするものである。
【００２６】
１−３．ページ情報付加部
次に、図３を用い、本例に係るページ情報付加部２２−１について説明する。  
このページ情報付加部２２−１は、例えば、ＮＡＮＤインターフェイス２２等に配置されるものである。
【００２７】
図示するように、ページ情報付加部２２−１は、図示しないホストから受信した書き込みデータ（Write Data）に対して、読み出し単位又は書き込み単位である１ページ単位よりも小さい１フレームごとに１ページ情報（Page情報）を付加する。ここで、フレームとは、ＥＣＣ部２５にて付加される誤り訂正符号（ＥＣＣ）ごとに区切られるデータの単位であり、ＥＣＣフレームとも称するものである。ページ情報については、次の図４等にて説明する。
【００２８】
ページ情報（Page情報）が付加された書き込みデータ（Write Data）は、データ書き込み部２６等により、ＮＡＮＤ型フラッシュメモリ１１に書き込まれる。
【００２９】
１−４．ページ構成
次に、図４を用い、本例に係るページ構成（Page構成）について説明する。ここでは、１ページ１６ＫＢの例を示している。また、図４で示されるページ構成では、図の上から下にかけて下位から上位のページアドレスにページが割り当てられ、１つのページ内では、図の左から右にかけて低位から上位のカラムアドレスにデータが割り当てられている。
【００３０】
図４（ａ）は、後述する参考例に係るページ構成を示す図である。図示するように、参考例に係るページ構成では、ページ情報が、最終の第１６フレーム（16th Frame）にのみしか付加することができない。例えば、ページ情報は、データが書き込み済みであるかを示す情報である。図中のPAGE 0,1は、書き込み済みページであり、第１６フレーム（16th Frame）のPage情報は“１”である。同様に、PAGE 2,3は、未書き込みページであり、第１６フレーム（16th Frame）のPage情報は“０”である。
【００３１】
図４（ｂ）は、実施例１に係るページ構成を示す図である。図示するように、実施例１に係るページ構成では、ページ情報が、１ページの全ての第１〜第１６フレーム（1st − 16th Frame）に、すべて同等のページ情報が付加される点で、上記参考例と相違する。
【００３２】
例えば、図中のPAGE 0,1は、書き込み済みページであり、全ての第１〜第１６フレーム（1st − 16th Frame）のPage情報はすべて同等の“１”である。Page情報は、上記のように、ページ情報付加部２２−１により、書き込み済みフラグ情報として、第１〜第１６フレーム（1st − 16th Frame）のフレームデータ以外の冗長領域に付加される。
【００３３】
なお、例えば、Partial Write（部分書き込み）等により、ページの一部を書き込むことが可能な場合は、その一部のみページ情報に１が付加される。
【００３４】
PAGE 2,3は、未書き込みページであり、全ての第１〜第１６フレーム（1st − 16th Frame）のPage情報はすべて同等の“０”である。
【００３５】
このように、本例のページ構成では、１フレームごとに１ページ情報が付加される構成である。換言すると、１つのページ内において、例えば、第１フレーム（1st Frame）と他の第２〜第１６フレーム（2nd − 16th Frame）との間に、第１フレームデータの誤り訂正符号とPage情報とが記憶される。そのため、必要なフレーム単位でデータDataOutを行うことができる。また、必要なフレームのみDataOutした場合でも、ページ情報の取得が可能である。
【００３６】
例えば、ホスト側が１ページの１６ＫＢのデータ中のうちの前半８ＫＢのみが必要な場合、メモリコントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１からのDataOutの際、前半８ＫＢのみをDataOutする。これは、本例のように、前半８ＫＢのみが必要な場合、各フレームにPage情報が付加されているため、どのフレームをDataOutしてもPage情報が得られるため、そのページが書き込み済みかどうかを判定することができるからである。
【００３７】
その結果、本例では、１ページの全部のデータサイズ（本例では、１６ＫＢ）を、ＮＡＮＤ型フラッシュメモリ１１からDataOutする場合に比べ、データ読み出し時間（ｔＲ）を短縮できる点で、有利である。詳細については、以下で後述する。
【００３８】
＜２．動作について＞  
２−１．データ書き込み動作（Write）
図５に沿って、本例のデータ書き込みについて説明する。  
（ステップＳ１１）  
図示するように、まず、メモリコントローラ２１は、外部のホスト（HOST）からWriteコマンドを受信する。
【００３９】
（ステップＳ１２）  
続いて、メモリコントローラ２１は、上記Writeコマンドに従い、ホストから受信した書き込みデータ中の１フレーム（ＥＣＣフレーム）ごとに１ページ情報を付加し、ＮＡＮＤ型フラッシュメモリ１１にデータを書き込む。その際、ページ情報はすべてのフレームに対して同じ情報を付加する。
【００４０】
例えば、上記図４（ｂ）中に示したように、書き込み済みページPAGE 0,1では、全ての第１〜第１６フレーム（1st − 16th Frame）に、Page情報としてすべて同等の“１”情報が付加される。
【００４１】
続いて、メモリコントローラ２１は、１フレームごとに１ページ情報が付加された状態で、書き込みデータを所定のアドレスのＮＡＮＤ型フラッシュメモリ１１に書き込む。この間、“ビジィ（Busy）”状態のレディ／ビジィ信号（R/B）をホストに通知される。
【００４２】
（ステップＳ１３）  
続いて、メモリコントローラ２１は、上記データ書き込みが終了すると、“レディ（Ready）”状態のレディ／ビジィ信号（R/B）をホストに通知する。
【００４３】
２−２．Data Out数設定
図６に沿って、本例のData Out数設定について説明する。本例では、ホストから１６ＫＢ未満の前半８ＫＢのData Outを指定される場合を一例に挙げる。  
（ステップＳ２１）  
図示するように、まず、メモリコントローラ２１は、外部のホスト（HOST）から１６ＫＢ未満のデータサイズのDataOut指定のコマンドを受信する。本例では、Data Out数（Dataoutサイズ）を指定するコマンドを受信する。
【００４４】
（ステップＳ２２）  
続いて、メモリコントローラ２１は、ホストから受信した上記コマンドの指定に従い、DataOut数を、例えば、コントローラ２１中のＭＰＵのメモリ等に内部の変数として保存する。
【００４５】
（ステップＳ２３）  
続いて、メモリコントローラ２１は、同様に、上記内部の変数が保存され、Data Out数の設定が終了すると、“レディ（Ready）”状態のレディ／ビジィ信号（R/B）をホストに通知する。
【００４６】
２−３．指定DataOut数のデータ読み出し動作（Read）
図７に沿って、本例のデータ読み出し動作について説明する。本例では、上記ホストからのデータ出力の指定（Data Out指定）に従い、データ読み出しが行われる。  
（ステップＳ３１）  
図示するように、まず、メモリコントローラ２１は、外部のホスト（HOST）からReadコマンドを受信する。
【００４７】
（ステップＳ３２）  
続いて、メモリコントローラ２１は、指定DataOut数による変更された変数と受信したコマンドによる指定カラムアドレス（スタートアドレス）に従い、データをメモリ１１から読み出す。なお、この際、必ず指定されたDataOut数分だけ、DataOutは行われる。
【００４８】
例えば、本例では、まず、一旦、ページ単位にてメモリ１１からデータが読み出される。続いて、指定DataOut数による変更された変数と受信したコマンドによる指定カラムアドレス（スタートアドレス）に従い、ページ情報の状態に対応した前半８ＫＢの第１〜第８フレームの読み出しデータ（Data）について、メモリ１１からコントローラ２１に出力（DataOut）される。詳細については、後述する。
【００４９】
（ステップＳ３４）  
続いて、メモリコントローラ２１は、同様に、上記前半８ＫＢの第１〜第８フレームの読み出しデータについて、ホストへデータ出力（DataOut）が終了すると、“レディ（Ready）”状態のレディ／ビジィ信号（R/B）をホストに通知する。
【００５０】
２−４−１．前半８ＫＢのみReadする場合
次に、図８に沿って、上記前半８ＫＢのみReadする場合のホスト、コントローラ２１、ＮＡＮＤ型フラッシュメモリ１１の関係について説明する。
【００５１】
図示するように、まず、ホスト（Host）は、メモリコントローラ２１に対し、８ＫＢをDataOutするように要求する。この際、ホスト（Host）は、メモリコントローラ２１に対し、Dataoutサイズのみを指定する。
【００５２】
続いて、メモリコントローラ２１は、上記の要求に従い、コントローラ２１内部の変数の設定を行う。メモリコントローラ２１は、上記内部の変数の変換処理が終了すると、終了したことをホストに通知する。
【００５３】
続いて、ホストは、コントローラ２１に対して、前半８ＫＢ分のデータを出力するようにカラムアドレス＝０を指定して要求する（Read要求）。
【００５４】
続いて、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１に対して、前半８ＫＢDataOutする内部のReadコマンドを発行する。
【００５５】
続いて、まず、ＮＡＮＤ型フラッシュメモリ１１から１ページ分のデータが、メモリセルアレイ中のビット線に電気的に接続されるＮＡＮＤ型フラッシュメモリ１１内のセンスアンプ等（図示せず）に読み出される。続いて、読み出された１ページ分のデータのうち、設定したDataOut数及びスタートアドレスに従い、必要なデータ（フレーム）のみがＮＡＮＤ型フラッシュメモリ１１からコントローラ２１へDataOutされる。
【００５６】
例えば、本例では、ＮＡＮＤ型フラッシュメモリ１１から読み出された１ページ分のデータのうち、設定したDataOut数（８ＫＢ分）及びスタートアドレス（本例では、カラムアドレス＝０）に従い、前半８ＫＢ分の第１〜第８フレームをＮＡＮＤ型フラッシュメモリ１１からコントローラ２１にDataOutする。それに対して、後半８ＫＢ分の第９〜第１６フレームは、ＮＡＮＤ型フラッシュメモリ１１からコントローラ２１にDataOutされない。
【００５７】
さらに、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１からコントローラ２１にDataOutされたデータのページ情報から書き込み済みかの判断についてフレームごとに行う。また、ＥＣＣ訂正結果に伴う処理についてもフレームごとに行う。
【００５８】
続いて、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１から読み出された上記前半８ＫＢ分の第１〜第８フレームの読み出しデータについて、外部のホストに出力を行う。
【００５９】
例えば、本例では、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１からコントローラ２１に出力された前半８ＫＢ分の第１〜第８フレームの上記読み出しデータについて、ホストにデータ出力を行う。
【００６０】
２−４−２．データ読み出しシーケンス
次に、図９に沿って、上記前半８ＫＢのみReadする場合のシーケンスについて説明する。図９の“HOST(I/O)”は、ホストとＮＡＮＤインターフェイス２３との間でＩ／０１〜Ｉ／０８を介して転送されるコマンド、アドレス及びデータを示す。“H_RB”は、ＲＹ／ＢＹ１、ＲＹ／ＢＹ２を介してＮＡＮＤインターフェイス２３からホストに出力されるレディ/ビジィ信号の状態を示す。“FW”は、データ読み出し部２４、ＥＣＣ部２５、データ書き込み部２６等のメモリコントローラ２１の内部動作を示す。“NAND”は、ＮＡＮＤインタフェース２２とＮＡＮＤ型フラッシュメモリ１１との間で転送されるコマンド、アドレス及びデータを示す。“F_RB”は、ＮＡＮＤ型フラッシュメモリ１１からＮＡＮＤインタフェース２２出力されるレディ/ビジィ信号の状態を示す。ここでは、上記前半８ＫＢを出力する場合を一例に挙げる。
【００６１】
まず、時刻ｔ０の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、ホストは、DataOut数を指定する特殊コマンドをコントローラ２１に送信する。本例では、当該コマンドは、８ＫＢを出力するように指定されたものである。上記コマンドは、上記Ｉ／０１〜Ｉ／０８からＮＡＮＤインターフェイス２３を介して、コントローラ２１に取り込まれる。
【００６２】
続いて、時刻ｔ１〜ｔ２の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、コントローラ２１は、取り込んだコマンドに従い、コントローラ２１内部のデータ読み出し変数の設定を行う。本例では、８ＫＢ分のデータを読み出すように、変数の設定が行われる。なお、この際、コントローラ２１は、取り込んだコマンドに従い、DataOutサイズの変更のみを行う。
【００６３】
続いて、時刻ｔ３の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、ホストは、コマンド００ｈ、アドレスａｄｒ、コマンド３０ｈを、コントローラ２１に送信する。この際、本例では、前半８ＫＢを出力するため、カラムアドレスについては、０Ｋスタートとされる（column addres = 0K）。
【００６４】
続いて、時刻ｔ４〜ｔ５の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、コントローラ２１により、以下のファームウェア処理が行われる（ＦＷ）。第１に、受信した上記アドレスａｄｒが、ＮＡＮＤ型フラッシュメモリ１１に存在する有効なアドレスか否かについて判定される。第２に、受信した上記コマンドのカラムアドレス及び設定された変数により、ＮＡＮＤ型フラッシュメモリ１１について、どのアドレスから、どこまでデータを読み出すかについて決定される。例えば、本例では、上記コマンドにより、ＮＡＮＤ型フラッシュメモリ１１から読み出すアドレスは０Ｋスタート（column addres = 0K）であり、設定された変数により、前半８Ｋまでのデータについて読み出すことが決定される。
【００６５】
続いて、時刻ｔ５〜ｔ６の際、メモリ１１のレディ／ビジィ信号（F_RB）が“Ready”状態で、上記アドレスａｄｒが有効である場合、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１へ、上記と同様のコマンド００ｈ、アドレスａｄｒ、コマンド３０ｈを出力する。
【００６６】
続いて、時刻ｔ６〜ｔ７の際、メモリ１１は、“Busy”状態のレディ／ビジィ信号（F_RB）をコントローラ２１に返信する。なお、このときに、ＮＡＮＤ型フラッシュメモリ１１から１ページ分のデータが、メモリセルアレイ中のビット線に電気的に接続されるＮＡＮＤ型フラッシュメモリ１１内のセンスアンプ等（図示せず）に読み出される。
【００６７】
続いて、時刻ｔ７〜ｔ８の際、メモリ１１のレディ／ビジィ信号（F_RB）が“Ready”状態で、ＮＡＮＤ型フラッシュメモリ１１から読み出された１ページ分データが、上記センスアンプに電気的に接続されるデータバッファ等（図示せず）に転送される際に、スタートアドレス及び設定した変数に従った、前半８ＫＢ分の第１〜第８フレームの読み出しデータ（ｆ１〜ｆ８）のみが、ＮＡＮＤ型フラッシュメモリ１１からコントローラ２１へDataOutされる。
【００６８】
続いて、時刻ｔ８〜ｔ９の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、コントローラ２１により、以下のファームウェア処理が行われる（ＦＷ）。第１に、読み出した前半８ＫＢ分の第１〜第８フレームのDataOutされたデータ（ｆ１〜ｆ８）について、ページ情報から書き込み済みかの判断をフレームごとに行う。第２に、DataOutされたデータ（ｆ１〜ｆ８）について、フレームごとにＥＣＣチェックを行い、誤り訂正処理を行う。
【００６９】
続いて、時刻ｔ９〜ｔ１０の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、上記ＥＣＣチェックが行われた前半８ＫＢ分の第１〜第８フレームの読み出しデータ（ｆ１〜ｆ８）のみについて、コントローラ２１からホストに出力される。
【００７０】
＜３．作用効果＞  
実施例１に係る半導体記憶装置によれば、少なくとも下記（１）、（２）の効果が得られる。
【００７１】
（１）データ読み出し時間（ｔＲ）を短縮でき、高速動作化に対して有利である。  
上記のように、本例に係る半導体記憶装置は、１フレームごとに１ページ情報（DataOut識別情報）を付加するページ情報付加部（識別情報付加部）２２−１を備える。
【００７２】
そのため、本例に係るページ構成は、上記図４（ｂ）に示したように、書き込み済みページPAGE 0,1では、全ての第１〜第１６フレーム（1st − 16th Frame）に、Page情報としてすべて同等の“１”情報が付加される構成となる。
【００７３】
さらに、データ読み出し動作の際に、メモリコントローラ２１は、ホストから取り込んだDataOut数を設定する特殊コマンドに従い、コントローラ２１内部のデータ読み出し変数の設定を行う。
【００７４】
続いて、ホストからのカラムアドレス＝０のＲｅａｄコマンドに従い、ＮＡＮＤ型フラッシュメモリ１１から１ページ分のデータが読み出される。続いて、読み出された１ページ分データが、スタートアドレス及び設定した変数に従った、前半８ＫＢ分の第１〜第８フレームの読み出しデータ（ｆ１〜ｆ８）のみが、ＮＡＮＤ型フラッシュメモリ１１からコントローラ２１へ出力される。
【００７５】
例えば、図９等に示したように、ページ情報が各フレームに存在するため、ホストが指定するフレームのみをDataOutすればよい。それにより、１ページの全部のデータサイズ（１６ＫＢ）をホストに出力する場合に比べ、データ読み出し時間（ｔＲ）を短縮でき、高速動作化に対して有利である。ここで、このデータ読み出し時間（ｔＲ）は、ＮＡＮＤ型フラッシュメモリ１１からのDataOut時間がほとんどを占めているため、本例のように読み出しデータサイズを半分程度とできることは、高速動作化に対して効果が大きいものと言える。
【００７６】
これに対して、後述する参考例では、図４（ａ）に示したように、ページ情報が１ページに１つしか存在しないページ構成である。このようなページ構成では、図１４に後述するように、ページ情報が存在するフレームとホストが指定するフレームとのいずれのデータも読み出さなければならない。そのためデータ読み出し時間（ｔＲ）を短縮することがこれ以上できず、高速動作化に対して不利である。
【００７７】
（２）低消費電力化に対して有利である。  
上記（１）に示したように、データ出力数（DataOut数）を必要なサイズに指定することで、半導体記憶装置側（例えば、時刻ｔ７−ｔ８）およびホスト側（例えば、時刻ｔ９−ｔ１０）のいずれの側でもデータ出力数（DataOut数）を低減することが可能となる。  
そのため、消費電力を下げることができ、低消費電力化に対して有利である。
【００７８】
［実施例２（最終１ＫＢのみReadする場合）］  
次に、実施例２に係る半導体記憶装置について説明する。この実施例２は、１ページの１６ＫＢデータ（１５ＫＢ＋１ＫＢ）のうち、最終１ＫＢのみReadする場合の一例に関するものである。この説明において、上記実施例１と重複する部分の詳細な説明を省略する。
【００７９】
構成については、上記実施例１と実質的に同様である。
【００８０】
データ読み出しシーケンス  
上記最終１ＫＢのみReadする場合の読み出しシーケンスは、図１０のように示される。
【００８１】
まず、時刻ｔ０の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、同様に、ホストは、DataOut数を指定する特殊コマンドをコントローラ２１に送信する。本例では、当該コマンドは、最終１ＫＢを出力するように指定されたものである。
【００８２】
続いて、時刻ｔ１〜ｔ２の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、取り込んだコマンドに従い、コントローラ２１が、本例では、最終１ＫＢの第１６フレームに係る読み出しデータのみを読み出すように、変数の設定が行う。
【００８３】
続いて、時刻ｔ３の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、ホストは、コマンド００ｈ、アドレスａｄｒ、コマンド３０ｈを、コントローラ２１に送信する。この際、本例でのカラムアドレスのスタートについては、最終の１５Ｋスタートとされる（column addres = 15K）。
【００８４】
続いて、時刻ｔ４〜ｔ５の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、コントローラ２１により、同様に以下のファームウェア処理が行われる（ＦＷ）。第１に、受信した上記アドレスａｄｒが、ＮＡＮＤ型フラッシュメモリ１１に存在する有効なアドレスか否かについて判定される。第２に、受信した上記コマンドのカラムアドレス及び設定された変数により、ＮＡＮＤ型フラッシュメモリ１１について、どのアドレスから、どこまでデータを読み出すかついて決定される。本例では、上記コマンドのカラムアドレスにより、ＮＡＮＤ型フラッシュメモリ１１から読み出すアドレスは１５Ｋスタート（column addres = 15K）であり、設定された変数により、１６Ｋまでのデータについて読み出すことが決定される。
【００８５】
続いて、時刻ｔ５〜ｔ６の際、メモリ１１のレディ／ビジィ信号（F_RB）が“Ready”状態で、上記アドレスａｄｒが有効である場合、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１へ、上記と同様のコマンド００ｈ、アドレスａｄｒ、コマンド３０ｈを出力する。
【００８６】
続いて、時刻ｔ６〜ｔ７の際、メモリ１１は、“Busy”状態のレディ／ビジィ信号（F_RB）をコントローラ２１に返信する。
【００８７】
続いて、時刻ｔ７〜ｔ８の際、メモリ１１のレディ／ビジィ信号（F_RB）が“Ready”状態で、まず、ＮＡＮＤ型フラッシュメモリ１１から１ページ分のデータが読み出される。続いて、読み出された１ページ分データが、スタートアドレス及び設定された変数に従った、最終１ＫＢ分の第１６フレームの読み出しデータ（ｆ１６）のみが、ＮＡＮＤ型フラッシュメモリ１１からコントローラ２１へ出力される。
【００８８】
続いて、時刻ｔ８〜ｔ９の際、コントローラ２１により、以下のファームウェア処理が同様に行われる（ＦＷ）。第１に、最終１ＫＢ分の第１６フレームのDataOutされたデータ（ｆ１６）について、ページ情報から書き込み済みかの判断をフレームごとに行う。第２に、フレームごとにＥＣＣチェックを行い、誤り訂正処理を行う。
【００８９】
続いて、時刻ｔ９〜ｔ１０の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、上記ＥＣＣチェックが行われた最終１ＫＢ分の第１６フレームのデータ（ｆ１６）のみについて、コントローラ２１からホストに出力される。
【００９０】
＜作用効果＞  
上記のように、実施例２に係る半導体記憶装置によれば、少なくとも上記（１）、（２）と同様の効果が得られる。さらに、実施例２のように、必要に応じて、１ページの１６ＫＢデータのうち、最終１ＫＢのデータ（ｆ１６）のみをDataOutすることも可能である。
【００９１】
［実施例３（途中４ＫＢのみReadする場合）］  
次に、実施例３に係る半導体記憶装置について説明する。この実施例３は、１ページの１６ＫＢデータ（８ＫＢ＋４ＫＢ＋４ＫＢ）うちの途中４ＫＢのみReadする場合に関するものである。この説明において、上記実施例１と重複する部分の詳細な説明を省略する。
【００９２】
構成については、上記実施例１と実質的に同様である。
【００９３】
データ読み出しシーケンス
上記途中４ＫＢのみReadする場合の読み出しシーケンスは、図１１のように示される。
【００９４】
まず、時刻ｔ０の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、同様に、ホストは、DataOut数を指定する特殊コマンドをコントローラ２１に送信する。本例では、当該コマンドは途中の４ＫＢを出力するように指定する。
【００９５】
続いて、時刻ｔ１〜ｔ２の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、取り込んだコマンドに従い、本例では、途中の４ＫＢの第９−第１２フレームにまでの読み出しデータのみを読み出すように、変数の設定が行われる。
【００９６】
続いて、時刻ｔ３の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、ホストは、コマンド００ｈ、アドレスａｄｒ、コマンド３０ｈを、コントローラ２１に送信する。この際、本例でのカラムアドレスのスタートについては、９Ｋスタートとされる（column addres = 9K）。
【００９７】
続いて、時刻ｔ４〜ｔ５の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、コントローラ２１により、同様に以下のファームウェア処理が行われる（ＦＷ）。本例では、上記コマンドにより、ＮＡＮＤ型フラッシュメモリ１１から読み出すアドレスは９Ｋスタート（column addres = 9K）であり、設定された変数により、１３Ｋまでのデータについて読み出すことが決定される。
【００９８】
続いて、時刻ｔ５〜ｔ６の際、メモリ１１のレディ／ビジィ信号（F_RB）が“Ready”状態で、上記アドレスａｄｒが有効である場合、コントローラ２１は、ＮＡＮＤ型フラッシュメモリ１１へ、上記と同様のコマンド００ｈ、アドレスａｄｒ、コマンド３０ｈを出力する。
【００９９】
続いて、時刻ｔ６〜ｔ７の際、メモリ１１は、“Busy”状態のレディ／ビジィ信号（F_RB）をコントローラ２１に返信する。
【０１００】
続いて、時刻ｔ７〜ｔ８の際、メモリ１１のレディ／ビジィ信号（F_RB）が“Ready”状態で、まず、ＮＡＮＤ型フラッシュメモリ１１から１ページ分のデータが読み出される。続いて、スタートアドレス及び設定した変数に従った、４ＫＢ分の第９−第１２フレームの読み出しデータ（ｆ９−ｆ１２）のみが、ＮＡＮＤ型フラッシュメモリ１１内のセンスアンプ等（図示せず）に読み出される。
【０１０１】
続いて、時刻ｔ８〜ｔ９の際、読み出した４ＫＢ分の第９−第１２フレームの読み出しデータ（ｆ９−ｆ１２）について、ＥＣＣチェック等の同様のファームウェア処理を行う（ＦＷ）。
【０１０２】
続いて、時刻ｔ９〜ｔ１０の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、上記ＥＣＣチェックが行われた４ＫＢ分の第９−第１２フレームの読み出しデータ（ｆ９−ｆ１２）のみについて、コントローラ２１からホストに出力される。
【０１０３】
その他の構成、動作等に関しては、上記実施例１と実質的に同様である。
【０１０４】
＜作用効果＞  
上記のように、実施例２に係る半導体記憶装置によれば、少なくとも上記（１）、（２）と同様の効果が得られる。さらに、実施例３のように、必要に応じて、１ページの１６ＫＢデータ（８ＫＢ＋４ＫＢ＋４ＫＢ）うちの途中４ＫＢの第９−第１２フレームの読み出しデータ（ｆ９−ｆ１２）について、読み出しデータを出力することも可能である。
【０１０５】
［実施例４（16KBデータ未満のRead後、HOST側でカラムアドレスチェンジを行う場合）］  
次に、実施例４に係る半導体記憶装置について説明する。この実施例４は、１６ＫＢデータ未満のRead後、ホスト側でカラムアドレスチェンジを行う場合に関するものである。この説明において、上記実施例１と重複する部分の詳細な説明を省略する。
【０１０６】
構成については、上記実施例１と実質的に同様である。
【０１０７】
ホスト、コントローラ２１、ＮＡＮＤ型フラッシュメモリ１１の関係
次に、図１２に沿って、上記１６ＫＢデータ未満のRead後、ホスト側でカラムアドレスチェンジを行う場合のホスト、コントローラ２１、ＮＡＮＤ型フラッシュメモリ１１の関係について説明する。ここでは、上記実施例１のように、前半８ＫＢのみ読み出しデータを出力した後、カラムアドレスを変更する場合を一例に挙げる。
【０１０８】
図示するように、上記実施例１と同様にして、前半８ＫＢのみについて、読み出しデータを出力する。
【０１０９】
続いて、ホスト（Host）は、コントローラ２１に対し、前回読み出したカラムアドレスの少なくとも一部が重複するカラムアドレスの変更要求（Column Address Change要求）を行う。本例では、前回読み出した第１〜第８フレームのうち、重複する第２〜第８フレームについて、カラムアドレスの変更要求を行う。
【０１１０】
続いて、カラムアドレスの変更要求を受けると、指定された第２〜第８フレームについて、ＮＡＮＤ型フラッシュメモリ１１からデータを読み出すことなく、即座に、外部HOSTが出力を行う。これは、一度出力された読み出されたデータ（本例では、前半８ＫＢの第１〜第８フレームの読み出しデータ）については、例えば、ＮＡＮＤ型フラッシュメモリ１１内部のデータキャッシュ回路等に記録されているからである。
【０１１１】
そのため、前回読み出されたデータであって、アドレスの少なくとも一部が重複するアドレス変更要求に係る読み出しデータについては、ＮＡＮＤ型フラッシュメモリ１１からデータを読み出すことなく、即座に、読み出しデータを出力することができる。
【０１１２】
データ読み出しシーケンス
上記前半８ＫＢのみ読み出しデータを出力した後、カラムアドレスを変更する場合の読み出しシーケンスは、図１３のように示される。
【０１１３】
まず、図示するように、時刻ｔ０〜ｔ１０の際、上記実施例１と同様にして、指定された前半８ＫＢの読み出しデータを出力する。
【０１１４】
続いて、時刻ｔ１１の際、ホストのレディ／ビジィ信号（H_RB）が“Ready”状態で、ホストは、カラム変更要求に係るコマンド０５ｈ、アドレスａｄｒ、コマンドＥ０を、コントローラ２１に送信する。この際、本例では、カラムアドレスのスタートについては、１Ｋスタートとされる（column addres = 1K）。
【０１１５】
続いて、時刻ｔ１２〜ｔ１３の際、ホストのレディ／ビジィ信号（H_RB）が“Busy”状態で、コントローラ２１により、以下のファームウェア処理が行われる（ＦＷ）。受信した上記コマンド及び設定された変数により、ＮＡＮＤ型フラッシュメモリ１１からデータを読み出すことなく、即座に、指定された第２〜第８フレームの読み出しデータ（ｆ２〜ｆ８）について、コントローラ２１からホストへ出力する。本例では、上記コマンドにより、ＮＡＮＤ型フラッシュメモリ１１から読み出すアドレスは１Ｋスタート（column addres = 1K）であり、設定された変数により、１３Ｋまでのデータについて読み出す。これは、一度出力された第１〜第８フレームの読み出しデータ（ｆ１〜ｆ８）については、例えば、コントローラ２１内部のデータキャッシュ回路等に記録されているからである。  
なお、この際、アドレス変更に係る再出力データでは、前回のデータサイズを維持するために、有効でないデータが付加される。例えば、本例では、図示するように、アドレス変更に係る再出力のDataOutの最終フレームには、前回のデータサイズと共通化させるために、有効でないデータ（ｆ９でないデータ）が付加される。
【０１１６】
その他の構成、動作等に関しては、上記実施例１と実質的に同様である。
【０１１７】
＜作用効果＞  
上記のように、実施例２に係る半導体記憶装置によれば、少なくとも上記（１）、（２）と同様の効果が得られる。
【０１１８】
さらに、実施例４よれば、前半８ＫＢのみについて読み出しデータを出力した後、アドレスの少なくとも一部が重複するカラムアドレスの変更要求に係る第２〜第８フレームについて、ＮＡＮＤ型フラッシュメモリ１１からデータを読み出すことなく、即座に、読み出しデータを出力することができる。
【０１１９】
例えば、カラムアドレスの変更要求を受けたコントローラ２１は、指定された第２〜第８フレームについて、ＮＡＮＤ型フラッシュメモリ１１からデータを読み出すことなく、即座に、読み出しデータを出力する。これは、一度出力された読み出されたデータ（本例では、前半８ＫＢの第１〜第８フレームの読み出しデータ）については、例えば、コントローラ２１内部のデータキャッシュ回路等に記録されているからである。
【０１２０】
そのため、前回読み出されたデータであって、アドレス変更要求に係る読み出しデータについては、ＮＡＮＤ型フラッシュメモリ１１からデータを読み出すことなく、即座に、読み出しデータを出力することができる。
【０１２１】
なお、このカラムアドレスチェンジに係る読み出しデータの再出力は、１回に限られず、同様に複数回実施することが可能である。これは、上記のように、１度出力された読み出されたデータ（本例では、前半８ＫＢの第１〜第８フレームの読み出しデータ）については、例えば、ＮＡＮＤ型フラッシュメモリ１１内部のデータキャッシュ回路等に記録されているからである。
【０１２２】
［参考例］  
次に、上記実施例１〜４と比較するために、参考例に係る半導体記憶装置について説明する。
【０１２３】
参考例では、図４（ａ）に示したように、ページ情報が１ページに１つしか存在しないページ構成である点で、上記実施形態１〜４と相違する。そのため、上記実施例１〜４に示したように、ページ情報をフレームごとに付加できず、DataOutの出力の要否をフレームごとに対応できない。
【０１２４】
また、このページ構成では、ページ情報が存在するフレームとホストが指定するフレームとのいずれのデータも読み出さなければならない。そのためデータ読み出し時間（ｔＲ）を短縮することがこれ以上できず、高速動作化に対して不利である。
【０１２５】
データ読み出しシーケンス
参考例に係る読み出しシーケンスは、図１４のように示される。
【０１２６】
まず、図示するように、上記実施例１〜４に係るDataOut数を指定する特殊コマンドが、ホストからコントローラ２１に送信されない。
【０１２７】
そのため、時刻ｔ７〜ｔ９の際、コントローラ２１は、ホストが指定するフレームのデータにかかわらず、第１〜第１６フレームに係る１ページ分の全てのデータ（ｆ１〜ｆ１６）について、ＮＡＮＤ型フラッシュメモリ１１から読み出す。
【０１２８】
続いて、所定のファーム処理の後、時刻ｔ１０〜ｔ１１の際、コントローラ２１は、ホストが指定するフレームのデータにかかわらず、第１〜第１６フレームに係る１ページ分の全てのデータ（ｆ１〜ｆ１６）について、ホストへ出力する。
【０１２９】
このように、参考例では、ホストが指定するフレームのページ情報が存在するフレームに関係なく、読み出し単位の全てのデータサイズを読み出さなければならない。そのためデータ読み出し時間（ｔＲ）を短縮することがこれ以上できず、高速動作化に対して不利である。
【０１３０】
なお、図１４に示したように、このデータ読み出し時間（ｔＲ）は、読み出しデータの出力（DataOut）の時間のほとんどを占めているため、参考例では、高速動作化に対して不利であることが明らかである。
【０１３１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１３２】
例えば、実施例１〜４、及び参考例については、ＮＡＮＤ型フラッシュメモリ１１のインタフェース２２を維持し、ＮＡＮＤ型フラッシュメモリ１１にＥＣＣ機能を搭載した物理アドレスアクセス方式の半導体記憶装置（例えば、ＳｍａｒｔＮＡＮＤ（登録商標）等）についても適用され得る。
【符号の説明】
【０１３３】
１１…ＮＡＮＤ型フラッシュメモリ、２１…メモリコントローラ、２２、２３…ＮＡＮＤインターフェイス、２５…ＥＣＣ部、２２−１…ページ情報付加部（識別情報付加部）。
【図１】
2013232097.tif 000003
【図２】
2013232097.tif 000004
【図３】
2013232097.tif 000005
【図４】
2013232097.tif 000006
【図５】
2013232097.tif 000007
【図６】
2013232097.tif 000008
【図７】
2013232097.tif 000009
【図８】
2013232097.tif 000010
【図９】
2013232097.tif 000011
【図１０】
2013232097.tif 000012
【図１１】
2013232097.tif 000013
【図１２】
2013232097.tif 000014
【図１３】
2013232097.tif 000015
【図１４】
2013232097.tif 000016