(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022144908
(43)【公開日】2022-10-03
(54)【発明の名称】半導体記憶装置、メモリコントローラ、およびメモリシステム
(51)【国際特許分類】
G11C 7/10 20060101AFI20220926BHJP
G06F 13/16 20060101ALI20220926BHJP
G06F 12/00 20060101ALI20220926BHJP
G11C 16/26 20060101ALI20220926BHJP
G06F 13/10 20060101ALI20220926BHJP
【FI】
G11C7/10 420
G06F13/16 510E
G06F12/00 597U
G11C16/26 140
G06F13/10 310E
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021046108
(22)【出願日】2021-03-19
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】小酒井 光彦
(72)【発明者】
【氏名】内野 雅史
(72)【発明者】
【氏名】ファズル カリーム
(72)【発明者】
【氏名】高橋 啓介
【テーマコード(参考)】
5B160
5B225
【Fターム(参考)】
5B160MB06
5B225BA01
5B225CA10
5B225DE20
5B225EA05
5B225EK07
5B225FA02
(57)【要約】
【課題】信頼性の向上を図ることができる半導体記憶装置、メモリコントローラ、およびメモリシステムを提供することである。
【解決手段】実施形態の半導体記憶装置は、メモリセルアレイと、第1回路と、第2回路とを持つ。前記第1回路は、外部のインタフェース方式が第1インタフェース方式である場合に前記外部から受信するが、前記外部のインタフェース方式が前記第1インタフェース方式とは異なる第2インタフェース方式である場合に前記外部から受信しない第1信号の有無を検出する。前記第2回路は、前記第1回路により前記第1信号が検出された場合に、前記外部に対する信号を第1状態とし、前記第2回路により前記第1信号が検出されない場合に、前記第2信号を前記第1状態とは異なる第2状態とする。
【選択図】
図2
【特許請求の範囲】
【請求項1】
データを不揮発に記憶可能なメモリセルアレイと、
前記メモリセルアレイに関する制御を行うための外部からの信号を検出する回路であって、前記外部のインタフェース方式が第1インタフェース方式である場合に前記外部から受信するが、前記外部のインタフェース方式が前記第1インタフェース方式とは異なる第2インタフェース方式である場合に前記外部から受信しない第1信号の有無を検出する第1回路と、
前記第1回路により前記第1信号が検出された場合に、前記外部に対する第2信号を第1状態とし、前記第1回路により前記第1信号が検出されない場合に、前記第2信号を前記第1状態とは異なる第2状態とする第2回路と、
を備えた半導体記憶装置。
【請求項2】
前記外部と接続可能な端子をさらに備え、
前記第1状態と前記第2状態とでは、前記端子に関する電圧レベルまたはインピーダンスの状態が異なる、
請求項1に記載の半導体記憶装置。
【請求項3】
前記端子は、前記半導体記憶装置のレディ状態とビジー状態とを区別可能に示す信号に対応する端子であり、
前記第1状態は、前記レディ状態を示す状態であり、
前記第2状態は、前記ビジー状態を示す状態である、
請求項2に記載の半導体記憶装置。
【請求項4】
前記第1回路は、前記外部のインタフェース方式が前記第1インタフェース方式である場合に、前記外部から前記第1信号である第1入力信号と、第2入力信号とを受信し、前記第1入力信号および第2入力信号は、互いに論理反転の関係を持つ信号である、
請求項1から請求項3のうちいずれか1項に記載の半導体記憶装置。
【請求項5】
前記第1信号は、前記半導体記憶装置からデータを読み出すことを可能にするリードイネーブル信号である、
請求項1から請求項4のうちいずれか1項に記載の半導体記憶装置。
【請求項6】
前記第1回路は、前記半導体記憶装置の電源投入動作の完了後に前記外部から所定コマンドを受信することに関連して受信する前記第1信号の有無を検出する、
請求項1から請求項5のうちいずれか1項に記載の半導体記憶装置。
【請求項7】
前記所定コマンドは、前記半導体記憶装置に対してステータス情報の出力を要求するコマンドである、
請求項6に記載の半導体記憶装置。
【請求項8】
半導体記憶装置に対して第1インタフェース方式を用いて第1信号を出力することに応じて前記半導体記憶装置が第1状態であることを示す第2信号が検出される場合に、使用するインタフェース方式を維持し、前記半導体記憶装置に対して前記第1インタフェース方式を用いて前記第1信号を出力することに応じて前記半導体記憶装置が第2状態であることを示す前記第2信号が検出される場合に、使用する前記インタフェース方式を前記第1インタフェース方式から別のインタフェース方式に変更する設定変更部、
を備えたメモリコントローラ。
【請求項9】
前記半導体記憶装置に対して前記第1インタフェース方式を用いて前記第1信号を出力することに応じて前記半導体記憶装置が前記第2状態であることを示す前記第2信号が検出される場合、前記第2信号とは異なる前記半導体記憶装置から受信する第3信号の有無に基づき、前記半導体記憶装置のインタフェース方式が前記第1インタフェース方式であるか否かを判定する判定部をさらに備えた、
請求項8に記載のメモリコントローラ。
【請求項10】
前記第3信号は、前記半導体記憶装置から受信するデータの読み取りに用いるデータストローブ信号である、
請求項9に記載のメモリコントローラ。
【請求項11】
前記判定部は、前記半導体記憶装置に対して前記第1インタフェース方式を用いて前記第1信号を出力することに応じて前記半導体記憶装置が前記第2状態であることを示す前記第2信号が検出される場合、前記第2信号および第3信号とは異なる前記半導体記憶装置から受信する第4信号の有無に基づき、前記半導体記憶装置のインタフェース方式が第2インタフェース方式であるか第3インタフェース方式であるかを判定し、前記第2インタフェース方式は、前記第1インタフェース方式とは異なる方式であり、前記第3インタフェース方式は、前記第1インタフェース方式および前記第2インタフェース方式とは異なる方式である、
請求項9または請求項10に記載のメモリコントローラ。
【請求項12】
前記第3信号は、前記半導体記憶装置から受信するデータの読み取りに用いる第1データストローブ信号であり、前記第4信号は、前記第1データストローブ信号に対して論理反転の関係を持つ第2データストローブ信号である、
請求項11に記載のメモリコントローラ。
【請求項13】
メモリコントローラと、
半導体記憶装置と、
を備え、
前記半導体記憶装置は、
前記メモリコントローラのインタフェース方式が第1インタフェース方式である場合に前記メモリコントローラから受信するが、前記メモリコントローラのインタフェース方式が前記第1インタフェース方式とは異なる第2インタフェース方式である場合に前記メモリコントローラから受信しない第1信号の有無を検出する第1回路と、
前記第1回路により前記第1信号が検出された場合に、前記メモリコントローラに対する第2信号を第1状態とし、前記第1回路により前記第1信号が検出されない場合に、前記第2信号を前記第1状態とは異なる第2状態とする第2回路と、
を含む、メモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、半導体記憶装置、メモリコントローラ、およびメモリシステムに関する。
【背景技術】
【0002】
所定のインタフェース方式を利用して接続されるメモリコントローラおよび半導体記憶装置が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2020/0090779号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、信頼性の向上を図ることができる半導体記憶装置、メモリコントローラ、およびメモリシステムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の半導体記憶装置は、メモリセルアレイと、第1回路と、第2回路とを持つ。前記メモリセルアレイは、データを不揮発に記憶可能である。前記第1回路は、前記メモリセルアレイに関する制御を行うための外部からの信号を検出する回路であって、前記外部のインタフェース方式が第1インタフェース方式である場合に前記外部から受信するが、前記外部のインタフェース方式が前記第1インタフェース方式とは異なる第2インタフェース方式である場合に前記外部から受信しない第1信号の有無を検出する。前記第2回路は、前記第1回路により前記第1信号が検出された場合に、前記外部に対する第2信号を第1状態とし、前記第1回路により前記第1信号が検出されない場合に、前記第2信号を前記第1状態とは異なる第2状態とする。
【図面の簡単な説明】
【0006】
【
図1】実施形態のメモリシステムの構成を示すブロック図。
【
図2】実施形態のNAND装置の構成を示すブロック図。
【
図3】実施形態のいくつかのインタフェース方式における信号の有無を示す図。
【
図5】実施形態のステータス情報の出力タイミングを示すタイミングチャート。
【
図6】実施形態のNAND装置の動作例を示すタイミングチャート。
【
図7】実施形態のNAND装置の動作例を示すタイミングチャート。
【
図8】実施形態のメモリコントローラの構成を示すブロック図。
【
図9】実施形態のNAND装置の制御の流れを示すフローチャート。
【
図10】実施形態のメモリコントローラの制御の流れを示すフローチャート。
【発明を実施するための形態】
【0007】
以下、実施形態の半導体記憶装置、メモリコントローラ、およびメモリシステムを、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。以下の説明において「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含み得る。「XX」は、任意の要素(例えば任意の情報)である。単に「接続」と記載された場合でも、機械的な接続に限定されず、電気的な接続である場合も含み得る。すなわち「接続」とは、対象物と直接に接続された場合に限定されず、別の要素を間に介在させて接続される場合も含み得る。
【0008】
メモリシステムは、半導体記憶装置と、半導体記憶装置を制御するメモリコントローラとを備える。半導体記憶装置とメモリコントローラとは互いに合致するインタフェース方式を用いて接続される。ただし、半導体記憶装置およびメモリコントローラのインタフェース方式は多岐にわたる。このため、半導体記憶装置のインタフェース方式とメモリコントローラのインタフェース方式とが合致しない場合があり得る。半導体記憶装置のインタフェース方式とメモリコントローラのインタフェース方式とが合致しない状態でメモリシステムの動作が行われると、予期しない結果を生じる場合があり得る。
【0009】
そこで、実施形態の半導体記憶装置は、メモリコントローラのインタフェース方式が所定方式である場合にメモリコントローラから受信する第1信号の有無を検出する。半導体記憶装置は、上記第1信号が検出された場合に、メモリコントローラに対する第2信号を第1状態とする。一方で、半導体記憶装置は、上記第1信号が検出されない場合に、メモリコントローラに対する第2信号を第2状態とする。これにより、信頼性の向上を図ることができる。以下、このような半導体記憶装置、メモリコントローラ、およびメモリシステムについて説明する。ただし以下に説明する実施形態により本発明が限定されるものではない。
【0010】
(実施形態)
<1.メモリシステムの全体構成>
図1は、実施形態のメモリシステム1の構成を示すブロック図である。メモリシステム1は、例えば1つのストレージデバイスであり、ホスト装置2と接続可能である。メモリシステム1は、ホスト装置2の外部記憶装置として機能する。ホスト装置2は、例えば、サーバ装置、パーソナルコンピュータ、またはモバイル型の情報処理装置などにおける、メモリシステム1を制御する装置である。ホスト装置2は、メモリシステム1に対するアクセス要求(リード要求およびライト要求など)を発行することができる。
【0011】
メモリシステム1は、例えば、メモリコントローラ100と、複数のNAND型フラッシュメモリ装置200(
図1では1つのみ図示、以下では「NAND装置200」と称する)とを備える。メモリコントローラ100は、NAND装置200から見て、NAND装置200に対する「外部」の一例である。各NAND装置200は、「半導体記憶装置」の一例である。各NAND装置200は、メモリコントローラ100から見て、メモリコントローラ100に対する「外部」の一例である。
【0012】
<2.メモリコントローラの構成>
メモリコントローラ100は、例えば、ホストインターフェース回路(ホストI/F)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、CPU(Central Processing Unit)104、ECC(Error Correcting Code)回路105、およびNANDインタフェース回路(NANDI/F)106を含む。これら構成は、バス107で互いに接続されている。例えば、メモリコントローラ100は、これら構成が1つのチップに纏められたSoC(System on a Chip)で構成されている。ただし、これら構成の一部は、メモリコントローラ100の外部に設けられてもよい。
【0013】
ホストI/F101は、CPU104による制御の下で、ホスト装置2とメモリシステム1との間の通信インタフェースの制御、およびホスト装置2とRAM102との間のデータ転送の制御などを実行する。
【0014】
RAM102は、例えば、SDRAM(Synchronous Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などであるが、これらに限定されない。RAM102は、ホスト装置2とNAND装置200との間のデータ転送のためのバッファとして機能する。RAM102は、CPU104にワークエリアを提供する。RAM102には、メモリシステム1の動作時に、ROM103に記憶されているファームウェア(プログラム)がロードされる。
【0015】
CPU104は、ハードウェアプロセッサの一例である。CPU104は、例えばRAM102にロードされたファームウェアを実行することで、メモリコントローラ100の動作を制御する。例えば、CPU104は、NAND装置200に対するデータの書き込み、読み出し、および消去に関する動作を制御する。
【0016】
ECC回路105は、NAND装置200への書き込み対象のデータに対してエラー訂正のための符号化を行う。ECC回路105は、NAND装置200から読み出されたデータにエラーが含まれる場合、書き込み動作時に付与したエラー訂正符号に基づき、読み出されたデータに対してエラー訂正を実行する。
【0017】
NANDI/F106は、CPU104による制御の下で、メモリコントローラ100とNAND装置200との間の通信インタフェースの制御、およびRAM102とNAND装置200との間のデータ転送の制御などを実行する。メモリコントローラ100とNAND装置200との間では、種々の信号が送受信される。これら信号については詳しく後述する。
【0018】
<3.NAND装置の構成>
<3.1 信号の種類>
図2は、NAND装置200の構成を示すブロック図である。
図2に示すように、メモリコントローラ100とNAND装置200との間で送受信される信号は、データ信号DQ(DQ0~DQ7)、NAND装置200から送信されるデータストローブ信号DQS/DQSn、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号RE/REn、ライトプロテクト信号WPn、メモリコントローラ100から送信されるデータストローブ信号DQS/DQSn、およびレディ/ビジー信号R/Bnを含む。これら信号は、個別の伝送線路を介して送受信される。また、NAND装置200には、メモリコントローラ100から基準電圧Vrefが供給される。電圧Vrefは、データ信号DQ(DQ0~DQ7)、データストローブ信号DQS/DQSn、およびリードイネーブル信号RE/REnのタイミング規定電圧に用いられる一定値を有する基準電圧(参照信号)である。
【0019】
データ信号DQは、NAND装置200への書き込み対象のデータ(以下「ライトデータWD」と称する)の内容を示す信号、NAND装置200からの読み出し対象のデータ(以下「リードデータRD」と称する)の内容を示す信号、各種コマンドCMDを示す信号、データの書き込み先または読み出し先のアドレスADDを示す信号などを含む。データ信号DQは、例えば8ビットを単位として、互いに独立した8本の伝送線路を介して送受信される。
【0020】
データストローブ信号DQS/DQSnは、データ信号DQのラッチまたはデータ信号DQの出力のために用いられるストローブ信号であり、例えばトグルパターンの信号(以下「トグル信号」と称する)である。データストローブ信号DQS/DQSnは、データストローブ信号DQSと、データストローブ信号DQSnとを含む。データストローブ信号DQSおよびデータストローブ信号DQSnは、相補的な関係を持つ一対の信号である。例えば、データストローブ信号DQSは、正論理のデータストローブ信号である。一方で、データストローブ信号DQSnは、データストローブ信号DQSに対して論理反転の関係を持つ、負論理のデータストローブ信号である。
【0021】
ここで、データストローブ信号DQSおよびデータストローブ信号DQSnの各々としては、ライトデータ受信用ストローブ信号と、リードデータ送信用ストローブ信号と、リードデータ受信用ストローブ信号とがある。ライトデータ受信用ストローブ信号は、ライトデータWDの書き込み動作において、ライトデータWDとともにメモリコントローラ100からNAND装置200に出力され、NAND装置200内でライトデータWDをラッチするタイミングに用いられるストローブ信号である。リードデータ送信用ストローブ信号は、リードデータRDの読み出し動作において、後述するリードイネーブル信号RE/REn(またはリードイネーブル信号RE)と同期してメモリコントローラ100からNAND装置200に出力され、そのエッジを受けてリードデータRDをNAND装置200からメモリコントローラ100に出力するためにNAND装置300内で用いられる。リードデータ受信用ストローブ信号は、リードデータRDの読み出し動作において、NAND装置200内で生成され、リードデータRDとともにNAND装置200からメモリコントローラ100に出力され、メモリコントローラ100内でリードデータRDをラッチするタイミングに用いられるストローブ信号である。以下の説明で「データストローブ信号DQS/DQSn」と表記される場合は、データストローブ信号DQSおよびデータストローブ信号DQSnの両方を意味する。
【0022】
チップイネーブル信号CEnは、複数のNAND装置200の中からアクセス対象のNAND装置200の選択を可能にし、NAND装置200を選択する際にアサートされる信号である。チップイネーブル信号CEnは、例えばLow(“L”)レベルでアサートされる。
【0023】
コマンドラッチイネーブル信号CLEは、メモリコントローラ100からNAND装置200に出力されるコマンドCMDを、NAND装置200内のコマンドレジスタ205にラッチすることを可能にする信号である。アドレスラッチイネーブル信号ALEは、メモリコントローラ100からNAND装置200に出力されるアドレスADDを、NAND装置200内のアドレスレジスタ204にラッチすることを可能にする信号である。コマンドラッチイネーブル信号CLEおよびアドレスラッチイネーブル信号ALEは、例えばHigh(“H”)レベルでアサートされる。
【0024】
ライトイネーブル信号WEnは、NAND装置200にデータ(例えばコマンドCMDまたはアドレスADD)を受け渡すことを可能にする信号である。ライトイネーブル信号WEnは、例えば“L”レベルでアサートされる。
【0025】
リードイネーブル信号RE/REnは、NAND装置200からデータを読み出すことを可能にする信号である。リードイネーブル信号RE/REnは、リードイネーブル信号REと、リードイネーブル信号REnとを含む。リードイネーブル信号REおよびリードイネーブル信号REnは、相補的な関係を持つ一対の信号である。例えば、リードイネーブル信号REは、正論理のリードイネーブル信号である。リードイネーブル信号REは、例えば“H”レベルでアサートされる。一方で、リードイネーブル信号REnは、リードイネーブル信号REに対して論理反転の関係を持つ、負論理のデータストローブ信号である。リードイネーブル信号REnは、例えば“L”レベルでアサートされる。本実施形態では、リードイネーブル信号REnは、「第1入力信号」および「第1信号」のそれぞれ一例である。リードイネーブル信号REは、「第2入力信号」の一例である。以下の説明で「リードイネーブル信号RE/REn」と表記される場合は、リードイネーブル信号REおよびリードイネーブル信号REnの両方を意味する。
【0026】
ライトプロテクト信号WPnは、書き込みおよび消去を禁止する際にアサートされる信号である。ライトプロテクト信号WPnは、例えば“L”レベルでアサートされる。
【0027】
レディ/ビジー信号R/Bnは、NAND装置200がレディ状態であるかビジー状態であるかを区別可能に示す信号である。「レディ状態」とは、NAND装置200がメモリコントローラ100からコマンドCMDを受け付け可能な状態である。「ビジー状態」とは、NAND装置200がメモリコントローラ100からコマンドCMDを受け付け不可能な状態である。レディ/ビジー信号R/Bnは、NAND装置200がレディ状態の際に第1状態に保持される。一方で、レディ/ビジー信号R/Bnは、NAND装置200がビジー状態の際に第2状態に保持される。上記第1状態と上記第2状態とでは、電圧レベルまたはインピーダンスの状態が異なる。例えば、上記第1状態は、ハイインピーダンスの状態である。上記第2状態は、ローインピーダンスの状態である。
【0028】
本実施形態では、後述するようにNAND装置200がオープンドレインの回路を含み、メモリコントローラ100によって電位がプルアップされることで、上記第1状態と上記第2状態とに遷移可能なレディ/ビジー信号R/Bnが生成される。本明細書では、NAND装置200がオープンドレインの回路を含み、メモリコントローラ100によって電位がプルアップされることで検出される信号も、NAND装置200から出力される出力信号と称する。レディ/ビジー信号R/Bnは、NAND装置200内の状態に応じて状態が遷移する信号であり、「出力信号」および「第2信号」の一例である。
【0029】
図2に示すように、NAND装置200は、メモリコントローラ100に接続される複数の端子200tを含む。これら複数の端子200tは、データ信号DQ、データストローブ信号DQS/DQSn、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号RE/REn、ライトプロテクト信号WPn、およびレディ/ビジー信号R/Bnが入力または出力される端子である。これら端子200tに含まれる端子200taは、レディ/ビジー信号R/Bnが出力される出力端子である。
【0030】
<3.2 NAND装置の内部構成>
次に、NAND装置200の内部構成について説明する。
図2に示すように、NAND装置200は、例えば、入出力回路201、ロジック制御回路202、ステータスレジスタ203、アドレスレジスタ204、コマンドレジスタ205、制御回路(シーケンサ)206、レディ/ビジー回路207、電圧発生回路208、メモリセルアレイ209、ロウデコーダ210、センスアンプ211、データレジスタ212、およびカラムデコーダ213を含む。
【0031】
入出力回路201は、メモリコントローラ100とNAND装置200との間でデータ信号DQの入出力を制御する。例えば、入出力回路201は、入力回路と、出力回路とを含む。入力回路は、メモリコントローラ100から、データDAT(例えばライトデータWD)、アドレスADD、およびコマンドCMDを受信する。入力回路は、受信したデータDAT(例えばライトデータWD)をデータレジスタ212に出力し、受信したアドレスADDをアドレスレジスタ204に出力し、受信したコマンドCMDをコマンドレジスタ205に出力する。出力回路は、ステータスレジスタ203から受信したステータス情報STS、およびデータレジスタ212から受信したデータDAT(例えばリードデータRD)を、メモリコントローラ100に出力する。出力回路は、NAND装置200からメモリコントローラ100に、上述したリードデータ受信用ストローブ信号であるデータストローブ信号DQS/DQSnを出力する。また、入出力回路201は、メモリコントローラ100から電圧Vrefが供給される。
【0032】
ロジック制御回路202は、メモリコントローラ100から、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号RE/REn、ライトプロテクト信号WPn、およびデータストローブ信号DQS/DQSnを受信する。これら信号は、いずれも、メモリセルアレイ209に関する制御を行うためにメモリコントローラ100から受信する信号の一例である。ロジック制御回路202が受信するデータストローブ信号DQS/DQSnは、上述したライトデータ受信用ストローブ信号およびリードデータ送信用ストローブ信号を含む。ロジック制御回路202は、例えばNAND素子221を介して、レディ/ビジー回路207に接続されている。ロジック制御回路202は、例えばAND素子222を介して、ステータスレジスタ203に接続されている。ロジック制御回路202は、受信した信号に応じて、入出力回路201および制御回路206を制御する。ロジック制御回路202は、リードイネーブル信号RE/REnを検出する検出回路DCを有する。検出回路DCについては、詳しく後述する。検出回路DCは、「第1回路」の一例である。
【0033】
ステータスレジスタ203は、NAND装置200の状態を示すステータス情報STSを生成し、生成したステータス情報STSを一時的に保持する。ステータスレジスタ203に保持されたステータス情報STSは、入出力回路201により、データ信号DQの一部としてメモリコントローラ100に通知される。これにより、メモリコントローラ100は、NAND装置200においてデータDATの書き込み動作、読み出し動作、および消去動作などが正常に終了したか否かを認識することができる。
【0034】
アドレスレジスタ204は、入出力回路201を介してメモリコントローラ100から受信したアドレスADDを一時的に保持する。アドレスレジスタ204は、保持されたアドレスADDに含まれるロウアドレスRAをロウデコーダ210へ転送し、保持されたアドレスADDに含まれるカラムアドレスCAをカラムデコーダ213に転送する。
【0035】
コマンドレジスタ205は、入出力回路201を介してメモリコントローラ100から受信したコマンドCMDを一時的に保持する。コマンドレジスタ205は、保持したコマンドCMDを制御回路206に転送する。
【0036】
制御回路206は、NAND装置200の全体の動作を制御する。例えば、制御回路206は、コマンドレジスタ205に保持されたコマンドCMDに応じて、ステータスレジスタ203、レディ/ビジー回路207、電圧発生回路208、ロウデコーダ210、センスアンプ211、データレジスタ212、およびカラムデコーダ213などを制御する。これにより、制御回路206は、NAND装置200における書き込み動作、読み出し動作、および消去動作などを実行する。制御回路206は、例えばNAND素子221を介して、レディ/ビジー回路207に接続されている。制御回路206は、例えばAND素子222を介して、ステータスレジスタ203に接続されている。
【0037】
レディ/ビジー回路207は、制御回路206の動作状況およびロジック制御回路202による信号の検出結果に応じてレディ/ビジー信号R/Bnを生成する。レディ/ビジー回路207は、例えばNMOS(N-Channel Metal-Oxide Semiconductor)トランジスタ223のゲート端子に接続されている。NMOSトランジスタ223のソースは、グラウンドに接続されている。すなわち、NAND装置200は、オープンドレインの回路を含む。NMOSトランジスタ223のドレインは、NAND装置200の端子200taに接続されている。NAND装置200の端子200taは、メモリコントローラ100によって電位がプルアップされている。これにより、レディ/ビジー回路207は、生成したレディ/ビジー信号R/Bnを、NMOSトランジスタ223を介して端子200taからメモリコントローラ100に出力する。すなわち、レディ/ビジー回路207は、NAND装置200がレディ状態である場合、NMOSトランジスタ223をOFF状態にすることで、ハイインピーダンスの状態であるレディ/ビジー信号R/Bnを出力する。一方で、レディ/ビジー回路207は、NAND装置200がビジー状態である場合、NMOSトランジスタ223をON状態にすることで、ローインピーダンスの状態であるレディ/ビジー信号R/Bnを出力する。本実施形態では、例えば、NAND素子221、レディ/ビジー回路207、およびNMOSトランジスタ223により、出力回路TCの一例が構成されている。出力回路TCは、「第2回路」の一例である。
【0038】
電圧発生回路208は、制御回路206の制御に応じて、書き込み動作、読み出し動作、および消去動作に必要な電圧を発生させる。電圧発生回路208は、発生させた電圧を、メモリセルアレイ209、ロウデコーダ210、およびセンスアンプ211などに供給する。ロウデコーダ210およびセンスアンプ211は、電圧発生回路208から供給された電圧をメモリセルアレイ209内のメモリセルトランジスタに印加する。
【0039】
メモリセルアレイ209は、ロウおよびカラムに対応付けられた複数の不揮発性のメモリセルトランジスタMCを含む複数のブロックBLK(BLK0、BLK1、…、BLK(L-1))(Lは、1以上の整数)を有する。各ブロックBLKは、ロウデコーダ210により印加される電圧によりデータDATを不揮発に記憶する。メモリセルトランジスタMCは、「メモリ素子」の一例である。
【0040】
ロウデコーダ210は、ロウアドレスRAをデコードする。ロウデコーダ210は、ロウアドレスRAのデコード結果に基づき、メモリセルアレイ209に含まれるメモリセルトランジスタを選択する。そして、ロウデコーダ210は、選択したメモリセルトランジスタに対して必要な電圧を印加する。
【0041】
センスアンプ211は、読み出し動作において、メモリセルアレイ209に含まれるメモリセルトランジスタの状態をセンスし、センスされた状態に基づいてリードデータRDを生成する。センスアンプ211は、生成したリードデータRDをデータレジスタ212に格納する。また、センスアンプ211は、書き込み動作において、ライトデータWDをメモリセルアレイ209に記憶する。
【0042】
データレジスタ212は、複数のラッチ回路を含む。ラッチ回路は、ライトデータWDおよびリードデータRDを一時的に保持する。例えば、データレジスタ212は、書き込み動作において、入出力回路201から受信したライトデータWDを一時的に保持し、センスアンプ211に出力する。データレジスタ212は、読み出し動作において、センスアンプ211から受信したリードデータRDを一時的に保持し、入出力回路201に出力する。
【0043】
カラムデコーダ213は、書き込み動作、読み出し動作、および消去動作において、カラムアドレスCAをデコードする。カラムデコーダ213は、カラムアドレスCAのデコード結果に応じてデータレジスタ212内のラッチ回路を選択する。
【0044】
<4.インタフェース方式>
次に、いくつかのインタフェース方式について説明する。
【0045】
図3は、いくつかのインタフェース方式における信号の有無を示す図である。
図3中では、説明の便宜上、リードイネーブル信号REを「リードイネーブル補完信号(Read Enable Complement)と称し、データストローブ信号DQSnを「データストローブ補完信号(Data Strobe Complement)と称する。ただし上記表記に関わらず、本実施形態において「リードイネーブル信号」とは、リードイネーブル信号REnに限定されず、リードイネーブル信号REも該当し得る。また本実施形態において「データストローブ信号」とは、データストローブ信号DQSに限定されず、データストローブ信号DQSnも該当し得る。
【0046】
本実施形態では、メモリコントローラ100のインタフェース方式およびNAND装置200のインタフェース方式は、例えば、次の3つのインタフェース方式のなかからいずれか1つが適用される。例えば、NAND装置200のインタフェース方式は、少なくともNAND装置200の電源投入時には、NAND装置200ごとに次の3つのインタフェース方式のうちいずれか1つが固定的に設定されている。一方で、メモリコントローラ100のインタフェース方式は、メモリコントローラ100の制御により次の3つのインタフェース方式のなかからいずれか1つが選択的に設定され、メモリコントローラ100の制御により変更可能である。
【0047】
<4.1 第1インタフェース方式>
第1インタフェース方式では、例えば、DDR(Double Data Rate)を用いた第1方式のインタフェース方式であり、トグル信号に含まれる各サイクルの立ち上がりエッジと立ち下がりエッジのそれぞれで、データ信号DQの出力値が更新される。第1インタフェース方式では、メモリコントローラ100とNAND装置200との間で、データ信号DQ、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、チップイネーブル信号CEn、リードイネーブル信号RE/REn、ライトイネーブル信号WEn、ライトプロテクト信号WPn、レディ/ビジー信号R/Bn、およびデータストローブ信号DQS/DQSnが送受信される。
【0048】
<4.2 第2インタフェース方式>
第2インタフェース方式では、例えば、DDR(Double Data Rate)を用いた別の方式(第2方式)のインタフェース方式であり、トグル信号に含まれる各サイクルの立ち上がりエッジと立ち下がりエッジのそれぞれで、データ信号DQの出力値が更新される。第2インタフェース方式では、メモリコントローラ100とNAND装置200との間で、データ信号DQ、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、チップイネーブル信号CEn、リードイネーブル信号REn、ライトイネーブル信号WEn、ライトプロテクト信号WPn、レディ/ビジー信号R/Bn、およびデータストローブ信号DQSが送受信される。ただし、第2インタフェース方式では、リードイネーブル信号REおよびデータストローブ信号DQSnは、送受信されない。
【0049】
<4.3 第3インタフェース方式>
第3インタフェース方式では、例えば、SDR(Single Data Rate)を用いたインタフェース方式であり、リードイネーブル信号REnの各サイクルの立ち上がりエッジ(または立ち下がりエッジ)で、データ信号DQの出力値が更新される。第3インタフェース方式では、メモリコントローラ100とNAND装置200との間で、データ信号DQ、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、チップイネーブル信号CEn、リードイネーブル信号REn、ライトイネーブル信号WEn、ライトプロテクト信号WPn、およびレディ/ビジー信号R/Bnが送受信される。ただし、第3インタフェース方式では、リードイネーブル信号REおよびデータストローブ信号DQS/DQSnは、送受信されない。
【0050】
<5.インタフェース方式の違いに応じたNAND装置の動作>
次に、
図2に戻り、インタフェース方式の違いに応じたNAND装置の動作について説明する。本実施形態のNAND装置200は、メモリコントローラ100のインタフェース方式に合わせてNAND装置200の出力信号の状態を変更する。例えば、NAND装置200は、検出回路DCにより所定の入力信号(例えばリードイネーブル信号RE)が検出された場合に、メモリコントローラ100に対する出力信号(例えばレディ/ビジー信号R/Bn)を第1状態(例えばレディ状態)とし、検出回路DCにより上記所定の入力信号が検出されない場合に、メモリコントローラ100に対する上記出力信号を第1状態とは異なる第2状態(例えばビジー状態)とする。以下、このような内容について説明する。
【0051】
<5.1 レディ/ビジー信号R/Bnに関する動作>
図2に示すように、ロジック制御回路202は、検出回路DCを有する。検出回路DCは、メモリコントローラ100から受信するリードイネーブル信号REの有無を検出する。リードイネーブル信号REは、メモリコントローラ100のインタフェース方式が所定方式(第1インタフェース方式)である場合に、少なくとも所定のタイミングにおいてメモリコントローラ100から受信する信号である。一方で、リードイネーブル信号REは、メモリコントローラ100のインタフェース方式が所定方式以外の方式(第2インタフェース方式または第3インタフェース方式)である場合には、上記少なくとも所定のタイミングにおいてメモリコントローラ100から受信しない信号または受信しても無視される信号である。「無視される」とは、例えば、検出回路DCで検出されないことを意味する。ただし、「無視される」とは、上記例に代えて、検出回路DCで検出されてもその検出結果が検出回路DCから出力されないこと、または、検出回路DCの検出結果がロジック制御回路202によって認識されないことなどを意味してもよい。
【0052】
検出回路DCは、上記少なくとも所定タイミングにおけるリードイネーブル信号REの有無の検出結果を示す信号を、NAND素子221を介してレディ/ビジー回路207に入力する。例えば、検出回路DCは、リードイネーブル信号REが検出された場合、“1”に対応する信号をNAND素子221の第1入力端子に入力する。一方で、検出回路DCは、リードイネーブル信号REが検出されない場合、“0”に対応する信号をNAND素子221の第1入力端子に入力する。
【0053】
本実施形態では、検出回路DCは、メモリコントローラ100から受信するリードイネーブル信号REの有無を検出する。例えば、検出回路DCは、リードイネーブル信号REが検出された場合、“1”に対応する信号をNAND素子221の第1入力端子に入力する。一方で、検出回路DCは、リードイネーブル信号REが検出されない場合、“0”に対応する信号をNAND素子221の第1入力端子に入力する。NAND装置200は、NAND装置200の動作範囲電源電圧内であればこの状態を保持し、検出回路DCを無効状態(Disable状態)にすることもできる。
【0054】
ここで、制御回路206は、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け可能である場合、“1”に対応する信号をNAND素子221の第2入力端子に入力する。一方で、制御回路206は、NAND装置200が処理中であるなどの理由でメモリコントローラ100からのコマンドCMDを制御回路206が受け付け不可能である場合、“0”に対応する信号をNAND素子221の第2入力端子に入力する。このため、NAND素子221は、検出回路DCによりリードイネーブル信号REが検出され、且つ、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け可能である場合のみ、レディ/ビジー回路207に“0”に対応する信号を出力し、その他の場合はレディ/ビジー回路207に“1”に対応する信号を出力する。
【0055】
レディ/ビジー回路207は、検出回路DCによるリードイネーブル信号REの有無の検出結果を、NAND素子221を介して受信する。例えば、レディ/ビジー回路207は、検出回路DCによりリードイネーブル信号REが検出され、且つ、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け可能である場合(例えば、NAND素子221から“0”に対応する信号を受信する場合)に、NMOSトランジスタ223のゲート端子に対して“H”レベルの信号を出力し、NMOSトランジスタ223をOFF状態にする。これにより、出力回路TCは、少なくとも一定時間の間、NAND装置200の端子200taをハイインピーダンスの状態に保持する。これにより、出力回路TCは、NAND装置200のレディ状態を示すレディ/ビジー信号R/Bnを出力する。
【0056】
一方で、レディ/ビジー回路207は、検出回路DCによりリードイネーブル信号REが検出されない場合(例えば、NAND素子221から“1”に対応する信号を受信する場合)に、NMOSトランジスタ223のゲート端子に対して“L”レベルの信号を出力し、NMOSトランジスタ223をON状態にする。これにより、出力回路TCは、少なくとも一定時間の間、NAND装置200の端子200taをローインピーダンスの状態に保持する。これにより、出力回路TCは、NAND装置200のビジー状態を示すレディ/ビジー信号R/Bnを出力する。「一定時間」とは、例えば、NAND装置200に対する接続に関するメモリコントローラ100の処理がタイムアウトにより終了する時間よりも長い時間である。
【0057】
本実施形態では、レディ/ビジー回路207は、検出回路DCによりリードイネーブル信号REが検出された場合でも、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け不可能である場合(例えば、NAND素子221から“1”に対応する信号を受信する場合)に、NMOSトランジスタ223のゲート端子に対して“L”レベルの信号を出力し、NMOSトランジスタ223をON状態にする。これにより、出力回路TCは、少なくとも一定時間の間、NAND装置200の端子200taをローインピーダンスの状態に保持する。すなわち、出力回路TCは、NAND装置200のビジー状態を示すレディ/ビジー信号R/Bnを出力する。
【0058】
<5.2 ステータス情報STSに関する動作>
本実施形態では、検出回路DCは、上記少なくとも所定タイミングにおけるリードイネーブル信号REの有無の検出結果を示す信号を、AND素子222を介してステータスレジスタ203に入力する。例えば、検出回路DCは、リードイネーブル信号REが検出された場合、“1”に対応する信号をAND素子222の第1入力端子に入力する。一方で、検出回路DCは、リードイネーブル信号REが検出されない場合、“0”に対応する信号をAND素子222の第1入力端子に入力する。
【0059】
上述したように本実施形態では、検出回路DCは、メモリコントローラ100から受信するリードイネーブル信号REを検出する。例えば、検出回路DCは、リードイネーブル信号REが検出された場合、“1”に対応する信号をAND素子222の第1入力端子に入力する。
【0060】
ここで、制御回路206は、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け可能である場合、“1”に対応する信号をAND素子222の第2入力端子に入力する。一方で、制御回路206は、NAND装置200が処理中であるなどの理由でメモリコントローラ100からのコマンドCMDを制御回路206が受け付け不可能である場合、“0”に対応する信号をAND素子222の第2入力端子に入力する。このため、AND素子222は、検出回路DCによりリードイネーブル信号REが検出され、且つ、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け可能である場合のみ、ステータスレジスタ203に“1”に対応する信号を出力し、その他の場合はステータスレジスタ203に“0”に対応する信号を出力する。
【0061】
ステータスレジスタ203は、検出回路DCによるリードイネーブル信号REの有無の検出結果を、AND素子222を介して受信する。例えば、ステータスレジスタ203は、検出回路DCによりリードイネーブル信号REが検出され、且つ、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け可能である場合(例えば、AND素子222から“1”に対応する信号を受信する場合)に、NAND装置200がレディ状態であることを示すステータス情報STSを生成し、生成したステータス情報STSを入出力回路201に出力する。この場合、入出力回路201は、NAND装置200がレディ状態であることを示すステータス情報STSをメモリコントローラ100に出力する。すなわち、入出力回路201は、正常な接続状態にあることを示すステータスパスをメモリコントローラ100に出力する。
【0062】
一方で、ステータスレジスタ203は、検出回路DCによりリードイネーブル信号REが検出されない場合(例えば、AND素子222から“0”に対応する信号を受信する場合)は、正常な接続状態ではないことを示すステータス情報STSを生成する。この場合、入出力回路201は、正常な接続状態ではないことを示すステータスフェイルをメモリコントローラ100に出力する。
【0063】
本実施形態では、ステータスレジスタ203は、検出回路DCによりリードイネーブル信号REが検出された場合でも、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け不可能である場合(例えば、AND素子222から“0”に対応する信号を受信する場合)は、ステータスフェイルに対応するステータス情報STSを生成する。そして、入出力回路201は、正常な接続状態ではないことを示すステータスフェイルをメモリコントローラ100に出力する。
【0064】
なおこれに代えて、ステータスレジスタ203は、検出回路DCによりリードイネーブル信号REが検出されない場合(例えば、AND素子222から“0”に対応する信号を受信する場合)は、NAND装置200がビジー状態であることを示すステータス情報STSを生成してもよい。この場合、入出力回路201は、NAND装置200がビジー状態であることを示すステータス情報STSをメモリコントローラ100に出力してもよい。また、ステータスレジスタ203は、検出回路DCによりリードイネーブル信号REが検出された場合でも、メモリコントローラ100からのコマンドCMDを制御回路206が受け付け不可能である場合も対応する信号を受信する場合)は、NAND装置200がビジー状態であることを示すステータス情報STSを生成してもよい。この場合、入出力回路201は、NAND装置200がビジー状態であることを示すステータス情報STSをメモリコントローラ100に出力してもよい。
【0065】
図4は、NAND装置200により出力されるステータス情報STSの一例を示す図である。本実施形態では、入出力回路201は、動作別のステータス情報STSとして、データ信号DQ0~DQ7によりNAND装置200の状態を示す情報を出力する。
図4は、データ信号D0~DQ7に含まれるデータ信号DQ6を用いてNAND装置200がレディ状態であるか否かが示される例である(
図4中の枠線Fを参照)。
【0066】
図5は、ステータス情報STSの出力タイミングを示すタイミングチャートである。例えば、NAND装置200は、メモリコントローラ100から所定コマンド(
図5中に示す例ではコマンド「70h」)を受信し、メモリコントローラ100からリードイネーブル信号RE/REnを受信した場合にステータス情報STSを出力する。NAND装置200は、ステータス情報STSを出力することに応じて、リードデータ受信用ストローブ信号であるデータストローブ信号DQS/DQSnを同時に出力する。
【0067】
<5.3 NAND装置の動作例>
図6および
図7は、NAND装置200の動作例を示すタイミングチャートである。
図6は、メモリコントローラ100のインタフェース方式が第1インタフェース方式に設定されており、NAND装置200の電源投入動作の完了後にメモリコントローラ100から所定コマンドを受信することに関連してNAND装置200がリードイネーブル信号RE/REnを受信する場合を示す。
【0068】
図6に示すように、メモリコントローラ100は、まず、NAND装置200の電源投入動作の完了後に、データ信号DQにより第1所定コマンド(
図6中に示す例ではコマンド「FFh」)をNAND装置200に出力する。第1所定コマンドは、NAND装置200を動作状態に移行させるためのコマンドである。NAND装置200は、当該NAND装置200を動作状態に移行させる際に、レディ/ビジー信号R/Bnをビジー状態にする。
【0069】
続いて、メモリコントローラ100は、データ信号DQにより第2所定コマンド(
図6中に示す例ではコマンド「70h」)をNAND装置200に出力する。第2所定コマンドは、NAND装置200のステータス情報STSをメモリコントローラ100に出力することをNAND装置200に要求するコマンドである。メモリコントローラ100は、第2所定コマンドを出力することに関連して、リードイネーブル信号RE/REnをNAND装置200に出力する。
【0070】
その結果、NAND装置200は、当該NAND装置200の電源投入動作の完了後にメモリコントローラ100から第2所定コマンドを受信することに関連してリードイネーブル信号RE/REnを受信する。この場合、NAND装置200は、レディ/ビジー信号R/Bnを、ビジー状態からレディ状態に切り替える。この場合、NAND装置200は、メモリコントローラ100からのコマンドCMDを受け付け不可である場合を除いて、レディ/ビジー信号R/Bnをレディ状態に維持する。
【0071】
図6は、メモリコントローラ100から受信する第2所定コマンドに対して、NAND装置200が電源投入動作の完了直後でNAND装置200の内部が正常に活性化されておらず、ステータス情報STSがまだ出力できない状態である場合を示す。この場合、メモリコントローラ100は、再度、第2所定コマンドをNAND装置200に出力するとともに、リードイネーブル信号RE/REnをNAND装置200に出力する。NAND装置200は、メモリコントローラ100から第2所定コマンドを受信することに応じて、ステータス情報STSを生成し、データ信号DQによりステータス情報STSをメモリコントローラ100に出力する。NAND装置200の内部が正常に活性化された後である場合、ステータス情報STSは、正常になり、NAND装置200がレディ状態であることを示す情報を含む。
【0072】
図7は、メモリコントローラ100のインタフェース方式が第1インタフェース方式に対応しておらず、NAND装置200の電源投入動作の完了後にメモリコントローラ100から所定コマンドを受信することに関連してNAND装置200がリードイネーブル信号REを受信しない場合を示す。
【0073】
図7に示すように、メモリコントローラ100は、まず、NAND装置200の電源投入動作の完了後に、データ信号DQにより第1所定コマンド(
図7中に示す例ではコマンド「FFh」)をNAND装置200に出力する。続いて、メモリコントローラ100は、データ信号DQにより第2所定コマンド(
図7中に示す例ではコマンド「70h」)をNAND装置200に出力する。メモリコントローラ100は、第2所定コマンドを出力することに関連して、リードイネーブル信号REnを出力するが、リードイネーブル信号REは出力しない。
【0074】
その結果、NAND装置200は、当該NAND装置200の電源投入動作の完了後にメモリコントローラ100から第2所定コマンドを受信することに関連して、リードイネーブル信号REnを受信するが、リードイネーブル信号REは受信しない。この場合、NAND装置200は、レディ/ビジー信号R/Bnを、ビジー状態のまま維持する。
【0075】
図7は、メモリコントローラ100から受信する第2所定コマンドに対して、NAND装置200が電源投入動作の完了直後でNAND装置200の内部が正常に活性化されておらず、ステータス情報STSがまだ出力できない状態である場合を示す。この場合、メモリコントローラ100は、再度、第2所定コマンドをNAND装置200に出力するとともに、リードイネーブル信号REnを出力するが、リードイネーブル信号REを出力しない。NAND装置200は、メモリコントローラ100から第2所定コマンドを受信することに応じて、正常な接続状態ではないことを示すステータスフェイルをメモリコントローラ100に出力する。
【0076】
<6.メモリコントローラの動作>
次に、メモリコントローラ100の動作について説明する。
図8は、メモリコントローラ100の構成を示すブロック図である。メモリコントローラ100は、例えば、信号出力部111、信号受信部112、方式判定部113、設定変更部114、および記憶部115を有する。信号出力部111、信号受信部112、方式判定部113、および設定変更部114は、ハードウェアプロセッサ(例えばCPU104)によりプログラム(例えばファームウェア)が実行されることで実現される。ただし、これら機能部の全部または一部は、メモリコントローラ100内に設けられた回路(circuitry)により実現されてもよい。記憶部115は、例えば上述したRAM102およびROM103により実現される。
【0077】
信号出力部111は、NANDI/F106を制御することで、データ信号DQ、データストローブ信号DQS/DQSn(上述したライトデータ受信用ストローブ信号およびリードデータ送信用ストローブ信号)、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号RE/REn、およびライトプロテクト信号WPnをNAND装置200に出力する。例えば、信号出力部111は、NAND装置200の電源動作完了後に、第1所定コマンド(例えばコマンド「FFh」)を出力し、続いて第2所定コマンド(例えばコマンド「70h」)およびリードイネーブル信号RE/REnを出力する。
【0078】
信号受信部112は、NANDI/F106を制御することで、NAND装置200から出力された、データ信号DQ、データストローブ信号DQS/DQSn、およびレディ/ビジー信号R/Bnを受信する。
【0079】
方式判定部113は、信号受信部112がNAND装置200から検出する信号に基づき、NAND装置200のインタフェース方式を判定する。方式判定部113は、「判定部」の一例である。例えば、方式判定部113は、NAND装置200に対して信号出力部111が第1インタフェース方式を用いてリードイネーブル信号RE/REnを出力することに応じてNAND装置200からレディ状態を示すレディ/ビジー信号R/Bnを検出する場合、信号受信部112により検出されるデータストローブ信号DQSnの有無を検出する。そして、方式判定部113は、データストローブ信号DQSnが検出される場合、NAND装置200のインタフェース方式が第1インタフェース方式であると判定する。リードデータストローブ信号であるデータストローブ信号DQSnは、「第3信号」および「第1データストローブ信号」のそれぞれ一例である。
【0080】
一方で、方式判定部113は、NAND装置200に対して信号出力部111が第1インタフェース方式を用いてリードイネーブル信号RE/REnを出力することに応じてNAND装置200からビジー状態を示すレディ/ビジー信号R/Bnを検出する場合、NAND装置200のインタフェース方式が第1インタフェース方式ではないと判定する。この場合、方式判定部113は、信号受信部112により受信されるデータストローブ信号DQSの有無を検出する。方式判定部113は、データストローブ信号DQSが検出される場合、NAND装置200のインタフェース方式が第2インタフェース方式であると判定する。一方で、方式判定部113は、データストローブ信号DQSが検出されない場合、NAND装置200のインタフェース方式が第3インタフェース方式であると判定する。リードデータストローブ信号であるデータストローブ信号DQSは、「第4信号」および「第2データストローブ信号」のそれぞれ一例である。
【0081】
設定変更部114は、方式判定部113により判定されたNAND装置200のインタフェース方式に対してメモリコントローラ100のインタフェース方式が合致するように、メモリコントローラ100のインタフェース方式の設定を変更する。
【0082】
例えば、設定変更部114は、メモリコントローラ100のインタフェース方式が第1インタフェース方式である場合において、方式判定部113によりNAND装置200のインタフェース方式が第1インタフェース方式であると判定された場合、メモリコントローラ100のインタフェース方式を変更せずに維持する。
【0083】
設定変更部114は、メモリコントローラ100のインタフェース方式が第1インタフェース方式である場合において、方式判定部113によりNAND装置200のインタフェース方式が第2インタフェース方式であると判定された場合、メモリコントローラ100のインタフェース方式を、第1インタフェース方式から第2インタフェース方式に変更する。同様に、設定変更部114は、メモリコントローラ100のインタフェース方式が第1インタフェース方式である場合において、方式判定部113によりNAND装置200のインタフェース方式が第3インタフェース方式であると判定された場合、メモリコントローラ100のインタフェース方式を、第1インタフェース方式から第3インタフェース方式に変更する。
【0084】
各インタフェース方式の設定内容は、インタフェース方式情報115aとして記憶部115に記憶されている。設定変更部114は、インタフェース方式情報115aを参照することで、NAND装置200のインタフェース方式と同じインタフェース方式にメモリコントローラ100のインタフェース方式を変更する。
【0085】
<7.メモリシステムの制御の流れ>
<7.1 NAND装置の制御の流れ>
図9は、NAND装置200の制御の流れを示すフローチャートである。NAND装置200の入出力回路201は、当該NAND装置200の電源投入動作の完了後、まず、メモリコントローラ100から第1所定コマンド(
図9中では「FFコマンド」と表記)を受信する(S101)。第1所定コマンドが受信された場合、NAND装置200の制御回路206は、NAND装置200を動作状態に移行させ、レディ/ビジー信号R/Bnをビジー状態に設定する(S102)。
【0086】
次に、NAND装置200の入出力回路201は、メモリコントローラ100から第2所定コマンド(
図9中では「ステータスチェックコマンド」と表記)を受信する(S103)。この場合、NAND装置200の検出回路DCは、メモリコントローラ100から受信するリードイネーブル信号REを検出したか否かを判定する(S104)。
【0087】
出力回路TCは、検出回路DCによりリードイネーブル信号REが検出された場合(S104:YES)、レディ/ビジー信号R/Bnをレディ状態に設定する(S105)。この場合、ステータスレジスタ203は、NAND装置200がレディ状態であることを示すステータス情報STSを生成する。そして、入出力回路201は、正常な接続状態にあることを示すステータスパスを出力する。すなわち、入出力回路201は、ステータスレジスタ203により生成されたステータス情報STSをメモリコントローラ100に出力する(S106)。
【0088】
一方で、出力回路TCは、検出回路DCによりリードイネーブル信号REが検出されない場合(S104:NO)、レディ/ビジー信号R/Bnをビジー状態に設定する(S107)。この場合、入出力回路201は、正常な接続状態ではないことを示すステータスフェイルを出力する(S108)。
【0089】
<7.2 メモリコントローラの制御の流れ>
図10は、メモリコントローラ100の制御の流れを示すフローチャートである。なお
図10に関する説明では、NAND装置200は、第1インタフェース方式に対応したNAND装置200に限定されず、第2インタフェース方式または第3インタフェース方式に対応するNAND装置200でもよい。この場合、NAND装置200は、検出回路DC、NAND素子221、およびAND素子222を有しなくてもよい。
【0090】
メモリコントローラ100の信号出力部111は、NAND装置200の電源投入動作の完了後、まず、NAND装置200に第1所定コマンド(
図10中では「FFコマンド」と表記)を出力する(S201)。次に、メモリコントローラ100の信号出力部111は、NAND装置200に第2所定コマンド(
図10中では「ステータスチェックコマンド」と表記)を出力し、NAND装置200にリードイネーブル信号RE/REnを出力する(S202)。
【0091】
次に、方式判定部113は、第1インタフェース方式を用いてリードイネーブル信号RE/REnを出力することに応じてNAND装置200から検出するレディ/ビジー信号R/Bnがレディ状態であるかビジー状態であるかを判定する(S203)。
【0092】
方式判定部113は、レディ/ビジー信号R/Bnがレディ状態である場合(S203:レディ状態)、NAND装置200からデータストローブ信号DQSnを受信するか否かを判定する(S204)。方式判定部113は、NAND装置200からデータストローブ信号DQSnを受信する場合(S204:YES)、NAND装置200が第1インタフェース方式であると判定する(S205)。この場合、設定変更部114は、メモリコントローラ100を第1インタフェース方式に設定する(S206)。なお、本実施形態で「第1インタフェース方式に設定する」とは、既に第1インタフェース方式である設定を維持する場合も含み得る。
【0093】
一方で、方式判定部113は、レディ/ビジー信号R/Bnがビジー状態である場合(S203:ビジー状態)、または、NAND装置200からデータストローブ信号DQSnを受信しない場合(S204:NO)、S207に進む。
【0094】
この場合、信号出力部111は、NAND装置200に第2所定コマンド(
図10中では「ステータスチェックコマンド」と表記)を再度出力し、NAND装置200にリードイネーブル信号REnを出力する(S207)。そして、方式判定部113は、第1インタフェース方式を用いてリードイネーブル信号REを出力することに応じてNAND装置200から検出するレディ/ビジー信号R/Bnがレディ状態であるかビジー状態であるかを判定する(S208)。
【0095】
方式判定部113は、レディ/ビジー信号R/Bnがビジー状態である場合(S208:ビジー状態)、NAND装置200のインタフェース方式が判別できないと判定し(S209)、本フローの処理を終了する。一方で、方式判定部113は、レディ/ビジー信号R/Bnがビジー状態である場合(S208:レディ状態)、S210に進む。この場合、方式判定部113は、NAND装置200からデータストローブ信号DQSを受信するか否かを判定する(S210)。
【0096】
方式判定部113は、NAND装置200からデータストローブ信号DQSを受信する場合(S210:YES)、NAND装置200が第2インタフェース方式であると判定する(S211)。この場合、設定変更部114は、メモリコントローラ100を第2インタフェース方式に設定する(S212)。そして、信号出力部111は、再度、第2所定コマンドを出力し、NAND装置200に対する接続動作を実行する。
【0097】
一方で、方式判定部113は、NAND装置200からデータストローブ信号DQSを受信しない場合(S210:NO)、NAND装置200が第3インタフェース方式であると判定する(S213)。この場合、設定変更部114は、メモリコントローラ100を第3インタフェース方式に設定する(S214)。そして、信号出力部111は、再度、第2所定コマンドを出力し、NAND装置200に対する接続動作を実行する。
【0098】
<8.利点>
近年、NAND装置の世代が進むに従い、NAND装置のインタフェースの世代も進み、それに対応してメモリコントローラのインタフェース方式も多岐にわたる。そのため、NAND装置のインタフェース方式とメモリコントローラのインタフェース方式の組み合わせも多岐にわたることになる。この場合、NAND装置のインタフェース方式とメモリコントローラのインタフェース方式とが合致しない場合があり得る。NAND装置のインタフェース方式とメモリコントローラのインタフェース方式とが合致しない状態でメモリシステムの動作が行われると、予期しない結果を生じる場合があり得る。
【0099】
例えば、メモリコントローラが第2インタフェース方式であり、NAND装置が第1インタフェース方式である場合、最初にNAND装置に対してリードイネーブル信号REおよびリードイネーブル信号REnの両方の入力が必要であるにも関わらず、メモリコントローラは、リードイネーブル信号REnのみを出力し、リードイネーブル信号REを出力しない。この場合、NAND装置が予期しない動作を行う可能性が生じる。
【0100】
そこで、本実施形態では、NAND装置200は、検出回路DCと、出力回路TCとを有する。検出回路DCは、外部のインタフェース方式が第1インタフェース方式である場合に外部から受信するが、外部のインタフェース方式が第2インタフェース方式である場合に外部から受信しない第1入力信号(例えばリードイネーブル信号RE)の有無を検出する。出力回路TCは、検出回路DCにより第1入力信号が検出された場合に、外部に対する出力信号(例えばレディ/ビジー信号R/Bn)の出力状態を第1状態とし、検出回路DCにより第1入力信号が検出されない場合に、出力信号の出力状態を第1状態とは異なる第2状態とする。このような構成によれば、メモリコントローラ100は、接続先のNAND装置200が所定方式のインタフェース方式であるか否かを判定することができる。これにより、NAND装置200のインタフェース方式とメモリコントローラ100のインタフェース方式とが合致しない状態でメモリシステム1の動作が行われることを抑制することができる。これにより、信頼性の向上を図ることができる。
【0101】
本実施形態では、NAND装置200は、外部と接続可能であり、出力信号が出力される端子200taを備える。本実施形態では、上記第1状態と上記第2状態とでは、端子200taに関する電圧レベルまたはインピーダンスの状態が異なる。このような構成によれば、メモリコントローラ100は、NAND装置200の所定の端子200taの電圧レベルまたはインピーダンスを検出することで、NAND装置200が所定方式のインタフェース方式であるか否かを判定することができる。これにより、NAND装置200が所定方式のインタフェース方式であるか否かを、より簡単に判定することができる。
【0102】
本実施形態では、上記出力信号は、NAND装置200のレディ状態とビジー状態とを区別可能に示す信号である。上記第1状態は、レディ状態を示す状態である。上記第2状態は、ビジー状態を示す状態である。このような構成によれば、NAND装置200のインタフェース方式とメモリコントローラ100のインタフェース方式とが合致しない場合にNAND装置200からビジー状態を示す信号を出力させることができる。すなわち、NAND装置200とメモリコントローラ100が相互動作を行うことを強制的に抑制することができる。これにより、NAND装置200のインタフェース方式とメモリコントローラ100のインタフェース方式とが合致しない状態でメモリシステム1の動作が行われることをさらに確実に抑制することができる。
【0103】
本実施形態では、検出回路DCは、外部のインタフェース方式が所定方式である場合に外部から受信する第1入力信号(例えばリードイネーブル信号RE)および第2入力信号(リードイネーブル信号REn)を受信する。第1入力信号と第2入力信号は、互いに論理反転の関係を持つ信号である。このような構成によれば、1対の相補信号を用いてNAND装置200が所定方式のインタフェース方式であるか否かを判定することができる。これにより、NAND装置200が所定方式のインタフェース方式であるか否かを、より確実に判定することができる。
【0104】
本実施形態では、第1入力信号は、NAND装置200からデータを読み出すことを可能にするリードイネーブル信号REである。このような構成によれば、特別な信号を新しく設けることなく、リードイネーブル信号REを用いてNAND装置200が所定方式のインタフェース方式であるか否かを判定することができる。
【0105】
本実施形態では、検出回路DCは、NAND装置200の電源投入動作の完了後に外部から所定コマンドを受信することに関連して受信する第1入力信号の有無を検出する。このような構成によれば、NAND装置200のデータ処理に関する動作が開始される前に受信する入力信号を用いて、メモリシステム1の動作を抑制することができる。これにより、信頼性をさらに高めることができる。
【0106】
本実施形態では、メモリコントローラ100は、設定変更部114を有する。設定変更部114は、外部に対して第1インタフェース方式を用いて第1信号(例えばリードイネーブル信号RE)を出力することに応じて外部からレディ状態を示す第2信号(例えばレディ/ビジー信号R/Bn)を検出する場合に、使用するインタフェース方式を維持する。設定変更部114は、外部に対して第1インタフェース方式を用いて第1信号を出力することに応じて外部からビジー状態を示す第2信号を検出する場合に、使用するインタフェース方式を第1インタフェース方式から別のインタフェース方式に変更する。このような構成によれば、NAND装置200が第1インタフェース方式に対応できないNAND装置200である場合に、別のインタフェース方式を用いて接続を試みることができる。
【0107】
本実施形態では、メモリコントローラ100は、方式判定部113を有する。方式判定部113は、外部に対して第1インタフェース方式を用いて第1信号を出力することに応じて外部からレディ状態を示す第2信号を検出する場合、第2信号とは異なる第3信号(例えばデータストローブ信号DQSn)の有無に基づき、外部のインタフェース方式が第1インタフェース方式であるか否かを判定する。このような構成によれば、第2信号に加えて、第2信号とは別の第3信号に基づき、外部のインタフェース方式が第1インタフェース方式であるか否かが判定される。これにより、より確実に、外部のインタフェース方式が第1インタフェース方式であるか否かを判定することができる。これにより、信頼性をさらに高めることができる。
【0108】
本実施形態では、第3信号は、外部から受信するデータの読み取りに用いるデータストローブ信号DQSnである。このような構成によれば、別な信号を新しく設けることなく、データストローブ信号DQSnを用いてNAND装置200が所定方式のインタフェース方式であるか否かを判定することができる。
【0109】
以上、実施形態について説明したが、実施形態の内容は上述した例に限定されない。例えば、検出回路による入力信号の検出結果に応じて出力回路により状態が変更される出力信号は、レディ/ビジー信号R/Bnに限定されず、ステータス情報STSに含まれる信号(例えばデータ信号DQ6)などでもよい。また、上記出力信号は、レディ/ビジー信号R/Bnに限定されず、ライトプロテクト信号WPnなどを用いてもよい。また、検出回路により検出される入力信号は、第2所定コマンド(ステータスチェックコマンド)に関連して受信する信号に限定されず、別のタイミングまたは別のコマンドに関連して受信する信号でもよい。「半導体記憶装置」は、NAND型フラッシュメモリ装置に限定されず、MRAM(Magnetoresistive Random Access Memory)や抵抗変化型、またはその他のタイプの記憶装置でもよい。すなわち、「メモリセルアレイ」は、それぞれ蓄積される電荷によってデータを記憶する複数のメモリセルトランジスタ(メモリ素子)を含むものに限定されず、それぞれ磁気状態または抵抗状態などによりデータを記憶する複数のメモリ素子を含むものでもよい。
【0110】
以上説明した少なくともひとつの実施形態によれば、半導体記憶装置は、第1回路と、第2回路とを持つ。第1回路は、外部のインタフェース方式が所定方式である場合に外部から受信する第1信号の有無を検出する。第2回路は、第1回路により第1信号が検出された場合に、外部に対する第2信号を第1状態とする。第2回路は、第1回路により第1信号が検出されない場合に、第2信号を第1状態とは異なる第2状態とする。このような構成によれば、信頼性の向上を図ることができる。
【0111】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0112】
1…メモリシステム、2…ホスト装置、100…メモリコントローラ、111…信号出力部、112…信号受信部、113…方式判定部(判定部)、114…設定変更部、200…NAND装置(半導体記憶装置)、DC…検出回路(第1回路)、TC…出力回路(第2回路)。