(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023090020
(43)【公開日】2023-06-29
(54)【発明の名称】メモリシステム
(51)【国際特許分類】
G06F 11/10 20060101AFI20230622BHJP
G11C 29/02 20060101ALI20230622BHJP
G06F 12/06 20060101ALI20230622BHJP
G06F 12/04 20060101ALI20230622BHJP
【FI】
G06F11/10 662
G11C29/02 140
G06F12/06 540C
G06F12/04 510E
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021204736
(22)【出願日】2021-12-17
(71)【出願人】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】佐藤 貴彦
【テーマコード(参考)】
5B160
5L206
【Fターム(参考)】
5B160HA05
5L206AA01
5L206BB02
5L206FF05
5L206HH05
(57)【要約】
【課題】半導体記憶装置に対して適切にアクセスすることの可能なメモリシステムを提供する。
【解決手段】メモリシステムはメモリコントローラ10と半導体記憶装置20とを備える。メモリコントローラ10は、コマンド及びアドレスと、第1検査データと、を半導体記憶装置20に送信し、エラーが検出されなかったことを示す第1応答情報を半導体記憶装置20から受信した場合に、読み出し又は書き込みされるデータを半導体記憶装置20との間で送信又は受信する。半導体記憶装置20は、コマンド及びアドレスと、第1検査データと、を受信した場合に、第1検査データを用いてコマンド及びアドレスのエラー検出を行い、エラーが検出されなかった場合に第1応答情報を送信し、コマンド及びアドレスにエラーが検出されなかった場合に、読み出し又は書き込みされるデータをメモリコントローラ10との間で送信又は受信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メモリコントローラと、
半導体記憶装置と、を備え、
前記メモリコントローラは、
コマンド及びアドレスと、前記コマンド及び前記アドレスのエラー検出用の第1検査データと、を前記半導体記憶装置に送信することと、
前記コマンド及び前記アドレスにエラーが検出されなかったことを示す第1応答情報を前記半導体記憶装置から受信した場合に、前記コマンドに基づいて前記アドレスに対して読み出し又は書き込みされるデータを前記半導体記憶装置との間で送信又は受信することと、
を行うように構成されており、
前記半導体記憶装置は、
前記コマンド及び前記アドレスと、前記第1検査データと、を前記メモリコントローラから受信した場合に、前記第1検査データを用いて前記コマンド及び前記アドレスのエラー検出を行い、前記コマンド及び前記アドレスにエラーが検出されなかった場合に前記第1応答情報を前記メモリコントローラに送信することと、
前記コマンド及び前記アドレスにエラーが検出されなかった場合に、前記コマンドに基づいて前記アドレスに対して読み出し又は書き込みされるデータを前記メモリコントローラとの間で送信又は受信することと、
を行うように構成されている、
メモリシステム。
【請求項2】
前記半導体記憶装置は、
前記コマンド及び前記アドレスの何れかにエラーが検出された場合に、前記コマンド及び前記アドレスの何れかにエラーが検出されたことを示す第2応答情報を前記メモリコントローラに送信するように構成されており、
前記メモリコントローラは、
前記第2応答情報を前記半導体記憶装置から受信した場合に、前記コマンド及び前記アドレスを前記半導体記憶装置に再送信するように構成されている、
請求項1に記載のメモリシステム。
【請求項3】
前記メモリコントローラ及び前記半導体記憶装置のうち一方は、
前記読み出し又は書き込みされるデータと、前記データのエラー検出用の第2検査データと、を前記メモリコントローラ及び前記半導体記憶装置のうち他方に送信するように構成されており、
前記メモリコントローラ及び前記半導体記憶装置のうち他方は、
前記データと、前記第2検査データと、を受信した場合に、前記第2検査データを用いて前記データのエラー検出を行い、前記データにエラーが検出されなかった場合に、前記データにエラーが検出されなかったことを示す第3応答情報を前記メモリコントローラ及び前記半導体記憶装置のうち一方に送信するように構成されている、
請求項1又は2に記載のメモリシステム。
【請求項4】
前記メモリコントローラ及び前記半導体記憶装置のうち他方は、
前記データにエラーが検出された場合に、前記データにエラーが検出されたことを示す第4応答情報を前記メモリコントローラ及び前記半導体記憶装置のうち一方に送信することと、
前記メモリコントローラ及び前記半導体記憶装置のうち一方から前記データが再送信されるのを所定時間が経過するまで待機することと、
を行うように構成されている、
請求項3に記載のメモリシステム。
【請求項5】
前記メモリコントローラ及び前記半導体記憶装置のうち一方は、
前記第4応答情報を受信した場合に、前記データと、前記データに対応する前記第2検査データと、を前記メモリコントローラ及び前記半導体記憶装置のうち他方に再送信するように構成されている、
請求項4に記載のメモリシステム。
【請求項6】
前記メモリコントローラ及び前記半導体記憶装置のうち他方は、
前記所定時間が経過するまで前記メモリコントローラ及び前記半導体記憶装置のうち一方から前記データが再送信されなかった場合に、前記データの再送信を待機するのを解除するように構成されている、
請求項4又は5に記載のメモリシステム。
【請求項7】
前記半導体記憶装置は、インタリーブ方式でアクセスされる複数のバンクを備える、請求項1~6の何れかに記載のメモリシステム。
【請求項8】
前記半導体記憶装置は、リフレッシュを実行するためのリフレッシュ要求信号を内部で生成するように構成されている場合であって、前記リフレッシュ要求信号が生成されてから前記リフレッシュが実行されるまでの間に前記メモリコントローラから受信した前記コマンド、前記アドレス及び前記データのうち何れかにエラーが検出された場合に、前記コマンド、前記アドレス及び前記データのうち何れかが前記メモリコントローラから再送信されることによって前記エラーが検出されなくなるまで前記リフレッシュの実行を停止するように構成されている、請求項1~7の何れかに記載のメモリシステム。
【請求項9】
前記半導体記憶装置は、リフレッシュを実行するためのリフレッシュ要求信号を内部で生成するように構成されている場合であって、前記リフレッシュ要求信号が生成されてから前記リフレッシュが実行されるまでの間に前記メモリコントローラから受信した前記コマンド、前記アドレス及び前記データのうち何れかにエラーが検出された場合に、前記リフレッシュが実行されることを示す第5応答情報を前記メモリコントローラに送信し、前記リフレッシュを実行するように構成されている、請求項1~7の何れかに記載のメモリシステム。
【請求項10】
前記半導体記憶装置は、疑似スタティックランダムアクセスメモリである、請求項1~9の何れかに記載のメモリシステム。
【請求項11】
前記メモリコントローラは、
前記半導体記憶装置に対する書き込み又は読み出し要求をホスト装置から受信すると、前記メモリコントローラと前記半導体記憶装置との間で送受信されるアドレスデータ信号の転送方式を変換するための変換信号を生成する要求制御部と、
前記変換信号に基づいて前記アドレスデータ信号の転送方式を変換する第1シーケンス制御部と、を備え、
前記第1シーケンス制御部は、
前記変換信号に基づいて前記アドレスデータ信号をシリアライズ又はデシリアライズする第1シリアライザ・デシリアライザ(SerDes)と、
前記コマンド及び前記アドレスを用いて前記第1検査データを生成する第1エラー制御部と、を備え、
前記第1SerDesは、
前記要求制御部が書き込み要求を受信した場合であって、前記要求制御部から前記変換信号が入力された場合に、書き込みコマンド及びアドレスを生成して前記第1エラー制御部に出力することと、
生成した書き込みコマンド及びアドレスに対応する前記第1検査データが前記第1エラー制御部から入力されると、生成した書き込みコマンド及びアドレスと前記第1検査データとを前記アドレスデータ信号として前記半導体記憶装置に送信することと、
生成した書き込みコマンド及びアドレスにエラーが検出されなかったことを示す第1応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合に、前記ホスト装置から受信した書き込みデータを前記第1エラー制御部に出力することと、
を行うように構成されている、請求項1~10の何れかに記載のメモリシステム。
【請求項12】
前記第1エラー制御部は、前記書き込みデータを用いて、前記書き込みデータのエラー検出用の第2検査データを生成するように構成されており、
前記SerDesは、前記第2検査データが前記第1エラー制御部から入力されると、前記第2検査データ及び前記書き込みデータを前記アドレスデータ信号として前記半導体記憶装置に送信するように構成されている、請求項11に記載のメモリシステム。
【請求項13】
前記第1エラー制御部は、前記書き込みコマンド及びアドレスの何れかにエラーが検出されたことを示す第2応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合に、前記書き込みコマンド及びアドレスと前記第1検査データとを再送信するための信号を生成するように構成されており、
前記第1SerDesは、前記第2応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合であって、前記書き込みコマンド及びアドレスと前記第1検査データとを再送信するための信号が前記第1エラー制御部から入力された場合に、前記書き込みコマンド及びアドレスと前記第1検査データとを前記アドレスデータ信号として前記半導体記憶装置に再送信するように構成されている、請求項11又は12に記載のメモリシステム。
【請求項14】
前記半導体記憶装置は、前記メモリコントローラとの間で送受信される前記アドレスデータ信号の転送方式を変換する第2シーケンス制御部を備え、
前記第2シーケンス制御部は、
前記アドレスデータ信号をシリアライズ又はデシリアライズする第2シリアライザ・デシリアライザ(SerDes)と、
前記メモリコントローラから受信した前記第1検査データを用いて前記コマンド及び前記アドレスのエラー検出を行う第2エラー制御部と、を備え、
前記第2SerDesは、
前記コマンド及び前記アドレスと前記第1検査データとを前記アドレスデータ信号として前記メモリコントローラから受信した場合に、前記コマンド及び前記アドレスと前記第1検査データとをシリアル転送方式に変換して前記第2エラー制御部に出力することと、
前記第1応答情報が前記第2エラー制御部から入力された場合に、前記第1応答情報をパラレル転送方式に変換して、前記第1応答情報を前記アドレスデータ信号としてメモリコントローラに出力し、前記コマンドの内容を示す信号を、前記コマンドに基づいて内部コマンドを生成するコマンド制御部に出力し、前記アドレスを示す信号を、前記アドレスに対応するワード線及びビット線を活性化するように制御するアドレス制御部に出力することと、
前記第2応答情報が前記第2エラー制御部から入力された場合に、前記第2応答情報をパラレル転送方式に変換して、前記第2応答情報を前記アドレスデータ信号として前記メモリコントローラに送信することと、
を行うように構成されている、請求項11~13の何れかに記載のメモリシステム。
【請求項15】
前記第2エラー制御部は、前記書き込みデータのエラー検出用の第2検査データを用いて前記書き込みデータのエラー検出を行うように構成されており、
前記第2SerDesは、
前記書き込みデータ及び前記書き込みデータのエラー検出用の第2検査データをアドレスデータ信号として前記メモリコントローラから受信した場合に、前記書き込みデータ及び前記第2検査データを前記第2エラー制御部に出力することと、
前記書き込みデータにエラーが検出されたことを示す第4応答情報が前記第2エラー制御部から入力された場合に、前記第4応答情報を前記アドレスデータ信号として前記メモリコントローラに送信することと、
を行うように構成されている、請求項14に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリコントローラと、半導体記憶装置と、を備えるメモリシステムに関する。
【背景技術】
【0002】
従来、DRAM(Dynamic Random Access Memory)等の半導体記憶装置と、当該半導体記憶装置に対して読み出し又は書き込み等の制御を行うメモリコントローラと、を備えるメモリシステムが知られている(例えば、特許文献1)。
【0003】
かかるメモリシステムにおいて、半導体記憶装置は、コマンド及びアドレスを含むコマンドパケットをメモリコントローラから受信すると、コマンドの内容(例えば、読み出しコマンド、書き込みコマンド)に基づいて、アドレスに対応する記憶領域(例えば、メモリセル)のデータの読み出し又は書き込みを行うように構成されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のメモリシステムでは、メモリコントローラから半導体記憶装置へのコマンドパケットの伝送中にコマンドやアドレスにおいてエラー(ビットエラー)が発生すると、コマンドの内容やアドレスが変更される場合がある。これにより、半導体記憶装置に対して適切にアクセスするのが困難になる虞があった。
【0006】
本発明は上記課題に鑑みてなされたものであり、半導体記憶装置に対して適切にアクセスすることの可能なメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、メモリコントローラと、半導体記憶装置と、を備え、前記メモリコントローラは、コマンド及びアドレスと、前記コマンド及び前記アドレスのエラー検出用の第1検査データと、を前記半導体記憶装置に送信することと、前記コマンド及び前記アドレスにエラーが検出されなかったことを示す第1応答情報を前記半導体記憶装置から受信した場合に、前記コマンドに基づいて前記アドレスに対して読み出し又は書き込みされるデータを前記半導体記憶装置との間で送信又は受信することと、を行うように構成されており、前記半導体記憶装置は、前記コマンド及び前記アドレスと、前記第1検査データと、を前記メモリコントローラから受信した場合に、前記第1検査データを用いて前記コマンド及び前記アドレスのエラー検出を行い、前記コマンド及び前記アドレスにエラーが検出されなかった場合に前記第1応答情報を前記メモリコントローラに送信することと、前記コマンド及び前記アドレスにエラーが検出されなかった場合に、前記コマンドに基づいて前記アドレスに対して読み出し又は書き込みされるデータを前記メモリコントローラとの間で送信又は受信することと、を行うように構成されている、メモリシステムを提供する(発明1)。
【0008】
かかる発明(発明1)によれば、メモリコントローラは、コマンド及びアドレスにエラーが検出されなかったことを示す第1応答情報を半導体記憶装置から受信した場合に、当該アドレスに対して読み出し又は書き込みされるデータを半導体記憶装置との間で送信又は受信することが可能になる。これにより、コマンドパケットの伝送中にコマンドの内容やアドレスが変更されることによって不適切なアクセスが行われるのを抑制することが可能になるので、半導体記憶装置に対して適切にアクセスすることができる。
【0009】
上記発明(発明1)においては、前記半導体記憶装置は、前記コマンド及び前記アドレスの何れかにエラーが検出された場合に、前記コマンド及び前記アドレスの何れかにエラーが検出されたことを示す第2応答情報を前記メモリコントローラに送信するように構成されており、前記メモリコントローラは、前記第2応答情報を前記半導体記憶装置から受信した場合に、前記コマンド及び前記アドレスを前記半導体記憶装置に再送信するように構成されてもよい(発明2)。
【0010】
かかる発明(発明2)によれば、コマンド及びアドレスの何れかにエラーが検出された場合にメモリコントローラがコマンド及びアドレスを半導体記憶装置に再送信することによって、半導体記憶装置は、誤った動作を開始せず、アクセスを最初から再開することができる。
【0011】
上記発明(発明1~2)においては、前記メモリコントローラ及び前記半導体記憶装置のうち一方は、前記読み出し又は書き込みされるデータと、前記データのエラー検出用の第2検査データと、を前記メモリコントローラ及び前記半導体記憶装置のうち他方に送信するように構成されており、前記メモリコントローラ及び前記半導体記憶装置のうち他方は、前記データと、前記第2検査データと、を受信した場合に、前記第2検査データを用いて前記データのエラー検出を行い、前記データにエラーが検出されなかった場合に、前記データにエラーが検出されなかったことを示す第3応答情報を前記メモリコントローラ及び前記半導体記憶装置のうち一方に送信するように構成されてもよい(発明3)。
【0012】
かかる発明(発明3)によれば、読み出し又は書き込みされるデータにエラーが含まれている状態が維持されるのを抑制することが可能になるので、データの完全性を確保することができる。
【0013】
上記発明(発明3)においては、前記メモリコントローラ及び前記半導体記憶装置のうち他方は、前記データにエラーが検出された場合に、前記データにエラーが検出されたことを示す第4応答情報を前記メモリコントローラ及び前記半導体記憶装置のうち一方に送信することと、前記メモリコントローラ及び前記半導体記憶装置のうち一方から前記データが再送信されるのを所定時間が経過するまで待機することと、を行うように構成されてもよい(発明4)。
【0014】
かかる発明(発明4)によれば、データにエラーが検出された場合であっても、メモリコントローラ及び半導体記憶装置のうち他方が、当該データが再送信されるのを待機することによって、当該データの読み出し又は書き込みに関するアクセスを継続して行うことが可能になる。これにより、例えば、このデータの読み出し又は書き込みに関するアクセスが最初から再開される場合(コマンド及びアドレスが再送信される場合)と比較して、アクセス効率を高めることができる。
【0015】
上記発明(発明4)においては、前記メモリコントローラ及び前記半導体記憶装置のうち一方は、前記第4応答情報を受信した場合に、前記データと、前記データに対応する前記第2検査データと、を前記メモリコントローラ及び前記半導体記憶装置のうち他方に再送信するように構成されてもよい(発明5)。
【0016】
かかる発明(発明5)によれば、データにエラーが検出された場合に、メモリコントローラ及び半導体記憶装置のうち一方がデータを再送信することによって、当該データの読み出し又は書き込みを再度行うことができる。
【0017】
上記発明(発明4~5)においては、前記メモリコントローラ及び前記半導体記憶装置のうち他方は、前記所定時間が経過するまで前記メモリコントローラ及び前記半導体記憶装置のうち一方から前記データが再送信されなかった場合に、前記データの再送信を待機するのを解除するように構成されてもよい(発明6)。
【0018】
かかる発明(発明6)によれば、メモリコントローラ及び半導体記憶装置のうち他方は、データが再送信されなかった場合に、当該データの再送信を待機するのを解除することによって、別の読み出し又は書き込みアクセスを処理することが可能になる。これにより、アクセスの処理効率を向上させることができる。
【0019】
上記発明(発明1~6)においては、前記半導体記憶装置は、インタリーブ方式でアクセスされる複数のバンクを備えてもよい(発明7)。
【0020】
かかる発明(発明7)によれば、複数のバンクに対するアクセスを同時に並行して行うことが可能になるので、半導体記憶装置に対するアクセスを高速化することができる。
【0021】
上記発明(発明1~7)においては、前記半導体記憶装置は、リフレッシュを実行するためのリフレッシュ要求信号を内部で生成するように構成されている場合であって、前記リフレッシュ要求信号が生成されてから前記リフレッシュが実行されるまでの間に前記メモリコントローラから受信した前記コマンド、前記アドレス及び前記データのうち何れかにエラーが検出された場合に、前記コマンド、前記アドレス及び前記データのうち何れかが前記メモリコントローラから再送信されることによって前記エラーが検出されなくなるまで前記リフレッシュの実行を停止するように構成されてもよい(発明8)。
【0022】
かかる発明(発明8)によれば、コマンド、アドレス及びデータのうち何れかにエラーが検出されなくなるまでリフレッシュの実行が停止されることによって、リフレッシュが実行されることに起因するアクセスの遅延を抑制することが可能になる。
【0023】
上記発明(発明1~7)においては、前記半導体記憶装置は、リフレッシュを実行するためのリフレッシュ要求信号を内部で生成するように構成されている場合であって、前記リフレッシュ要求信号が生成されてから前記リフレッシュが実行されるまでの間に前記メモリコントローラから受信した前記コマンド、前記アドレス及び前記データのうち何れかにエラーが検出された場合に、前記リフレッシュが実行されることを示す第5応答情報を前記メモリコントローラに送信し、前記リフレッシュを実行するように構成されてもよい(発明9)。
【0024】
かかる発明(発明9)によれば、コマンド、アドレス及びデータのうち何れかにエラーが検出された場合にリフレッシュが実行されることによって、例えば、コマンド、アドレス及びデータのうち何れかの再送信が繰り返し行われる間にリフレッシュが実行されないことに起因して半導体記憶装置の記憶情報が失われるのを抑制することが可能になる。
【0025】
上記発明(発明1~9)においては、前記半導体記憶装置は、疑似スタティックランダムアクセスメモリであってもよい(発明10)。
【0026】
かかる発明(発明10)によれば、疑似スタティックランダムアクセスメモリに対して適切にアクセスすることができる。
【0027】
上記発明(1~10)においては、前記メモリコントローラは、前記半導体記憶装置に対する書き込み又は読み出し要求をホスト装置から受信すると、前記メモリコントローラと前記半導体記憶装置との間で送受信されるアドレスデータ信号の転送方式を変換するための変換信号を生成する要求制御部と、前記変換信号に基づいて前記アドレスデータ信号の転送方式を変換する第1シーケンス制御部と、を備え、前記第1シーケンス制御部は、前記変換信号に基づいて前記アドレスデータ信号をシリアライズ又はデシリアライズする第1シリアライザ・デシリアライザ(SerDes)と、前記コマンド及び前記アドレスを用いて前記第1検査データを生成する第1エラー制御部と、を備え、前記第1SerDesは、前記要求制御部が書き込み要求を受信した場合であって、前記要求制御部から前記変換信号が入力された場合に、書き込みコマンド及びアドレスを生成して前記第1エラー制御部に出力することと、生成した書き込みコマンド及びアドレスに対応する前記第1検査データが前記第1エラー制御部から入力されると、生成した書き込みコマンド及びアドレスと前記第1検査データとを前記アドレスデータ信号として前記半導体記憶装置に送信することと、生成した書き込みコマンド及びアドレスにエラーが検出されなかったことを示す第1応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合に、前記ホスト装置から受信した書き込みデータを前記第1エラー制御部に出力することと、を行うように構成されてもよい(発明11)。
【0028】
かかる発明(発明11)によれば、メモリコントローラは、書き込みコマンド及びアドレスにエラーが検出されなかったことを示す第1応答情報を半導体記憶装置から受信した場合に、ホスト装置から受信した書き込みデータを第1エラー検出部に出力することが可能になる。
【0029】
上記発明(発明11)においては、前記第1エラー制御部は、前記書き込みデータを用いて、前記書き込みデータのエラー検出用の第2検査データを生成するように構成されており、前記SerDesは、前記第2検査データが前記第1エラー制御部から入力されると、前記第2検査データ及び前記書き込みデータを前記アドレスデータ信号として前記半導体記憶装置に送信するように構成されてもよい(発明12)。
【0030】
かかる発明(発明12)によれば、メモリコントローラは、書き込みデータ及び第2検査データを半導体記憶装置に送信することが可能になる。
【0031】
上記発明(発明11~12)においては、前記第1エラー制御部は、前記書き込みコマンド及びアドレスの何れかにエラーが検出されたことを示す第2応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合に、前記書き込みコマンド及びアドレスと前記第1検査データとを再送信するための信号を生成するように構成されており、前記第1SerDesは、前記第2応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合であって、前記書き込みコマンド及びアドレスと前記第1検査データとを再送信するための信号が前記第1エラー制御部から入力された場合に、前記書き込みコマンド及びアドレスと前記第1検査データとを前記アドレスデータ信号として前記半導体記憶装置に再送信するように構成されてもよい(発明13)。
【0032】
かかる発明(発明13)によれば、コマンド及びアドレスの何れかにエラーが検出された場合にメモリコントローラがコマンド及びアドレスを半導体記憶装置に再送信することによって、半導体記憶装置は、誤った動作を開始せず、アクセスを最初から再開することができる。
【0033】
上記発明(発明11~13)においては、前記半導体記憶装置は、前記メモリコントローラとの間で送受信される前記アドレスデータ信号の転送方式を変換する第2シーケンス制御部を備え、前記第2シーケンス制御部は、前記アドレスデータ信号をシリアライズ又はデシリアライズする第2シリアライザ・デシリアライザ(SerDes)と、前記メモリコントローラから受信した前記第1検査データを用いて前記コマンド及び前記アドレスのエラー検出を行う第2エラー制御部と、を備え、前記第2SerDesは、前記コマンド及び前記アドレスと前記第1検査データとを前記アドレスデータ信号として前記メモリコントローラから受信した場合に、前記コマンド及び前記アドレスと前記第1検査データとをシリアル転送方式に変換して前記第2エラー制御部に出力することと、前記第1応答情報が前記第2エラー制御部から入力された場合に、前記第1応答情報をパラレル転送方式に変換して、前記第1応答情報を前記アドレスデータ信号としてメモリコントローラに出力し、前記コマンドの内容を示す信号を、前記コマンドに基づいて内部コマンドを生成するコマンド制御部に出力し、前記アドレスを示す信号を、前記アドレスに対応するワード線及びビット線を活性化するように制御するアドレス制御部に出力することと、前記第2応答情報が前記第2エラー制御部から入力された場合に、前記第2応答情報をパラレル転送方式に変換して、前記第2応答情報を前記アドレスデータ信号として前記メモリコントローラに送信することと、を行うように構成されてもよい(発明14)。
【0034】
かかる発明(発明14)によれば、半導体記憶装置は、メモリコントローラとの間で送受信されたアドレスデータ信号の転送方式を変換することが可能になるとともに、メモリコントローラから受信した第1検査データを用いてコマンド及びアドレスのエラー検出を行うことが可能になる。また、半導体記憶装置は、コマンド及びアドレスにエラーが検出されなかった場合に(第1応答情報が生成された場合に)、当該コマンドの処理を行うことが可能になるとともに、コマンド及びアドレスの何れかにエラーが検出された場合に(第2応答情報が生成された場合に)、第2応答情報をメモリコントローラに送信することが可能になる。
【0035】
上記発明(発明14)においては、前記第2エラー制御部は、前記書き込みデータのエラー検出用の第2検査データを用いて前記書き込みデータのエラー検出を行うように構成されており、前記第2SerDesは、前記書き込みデータ及び前記書き込みデータのエラー検出用の第2検査データをアドレスデータ信号として前記メモリコントローラから受信した場合に、前記書き込みデータ及び前記第2検査データを前記第2エラー制御部に出力することと、前記書き込みデータにエラーが検出されたことを示す第4応答情報が前記第2エラー制御部から入力された場合に、前記第4応答情報を前記アドレスデータ信号として前記メモリコントローラに送信することと、を行うように構成されてもよい(発明15)。
【0036】
かかる発明(発明15)によれば、半導体記憶装置は、書き込みデータにエラーが検出された場合に、第4応答情報をメモリコントローラに送信することが可能になる。
【発明の効果】
【0037】
本発明のメモリシステムによれば、半導体記憶装置に対して適切にアクセスすることができる。
【図面の簡単な説明】
【0038】
【
図1】本発明の第1実施形態に係るメモリシステムの構成例を示すブロック図である。
【
図2】コマンド及びアドレスにエラーが含まれていない場合の半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図3】コマンド及びアドレスの何れかにエラーが含まれている場合の半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図4】データにエラーが含まれている場合の半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図5】データの再送信を待機中に所定時間が経過した場合の半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図6】半導体記憶装置の動作の一例を示すフローチャートである。
【
図7】(a),(b)は、本発明の第2実施形態に係るメモリシステムにおける半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図8】(a),(b)は、半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図9】本発明の第3実施形態に係るメモリシステムにおける半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図10】半導体記憶装置内の信号の時間推移を示すタイムチャートである。
【
図11】コマンド及びアドレスのビット割り当ての一例を示す図である。
【
図12】データストローブ信号の時間推移を示すタイムチャートである。
【発明を実施するための形態】
【0039】
以下、本発明の実施形態に係る半導体記憶装置について添付図面を参照して詳細に説明する。ただし、この実施形態は例示であり、本発明はこれに限定されるものではない。
【0040】
また、本明細書等における「第1」、「第2」、「第3」等の表記は、或る構成要素を他の構成要素と区別するために使用されるものであって、当該構成要素の数、順序又は優先度等を限定するためのものではない。例えば、「第1要素」及び「第2要素」との記載が存在する場合、「第1要素」及び「第2要素」という2つの要素のみが採用されることを意味するものではないし、「第1要素」が「第2要素」に先行しなければならないことを意味するものでもない。
【0041】
(第1実施形態)
図1は、本発明の第1実施形態に係るメモリシステムの構成例を示すブロック図である。
図1に示すように、本実施形態に係るメモリシステムは、メモリコントローラ10と、半導体記憶装置20と、を備える。
【0042】
本実施形態では、半導体記憶装置20が、疑似スタティックランダムアクセスメモリ(pSRAM:pseudo-Static Random Access Memory)である場合を一例として説明する。ここで、pSRAMは、SRAM(Static Random Access Memory)と互換性を有するインタフェースを備えた半導体記憶装置である。また、pSRAMは、DRAM(Dynamic Random Access Memory)をメモリセルアレイとしてデータを記憶し、DRAMのアクセスインタフェースを再設計し、SRAMのアクセスインタフェースと互換性を持たせたものである。
【0043】
また、本実施形態では、半導体記憶装置20が、クロック信号に同期して信号を受信するクロック同期型のpSRAMであって、アドレスデータマルチプレックスインタフェース型のpSRAMである場合を一例として示している。アドレスデータマルチプレックスインタフェース型のpSRAMは、アドレス信号及びデータ信号の各々が入力されるように構成されたアドレスデータ端子を有している。さらに、本実施形態のpSRAMでは、データ転送方式としてDDR(Double Data Rate)方式を採用した場合を一例として示しているが、pSRAMは、SDR(Single Data Rate)方式を採用したものであってもよい。
【0044】
本実施形態において、メモリコントローラ10は、コマンド(図において、Operationとして示す)及びアドレス(図において、Addressとして示す)と、コマンド及びアドレスのエラー検出用の第1検査データ(図において、CheckAとして示す)と、を半導体記憶装置20に送信することと、コマンド及びアドレスにエラーが検出されなかったことを示す第1応答情報(図において、ReplyA(OK)として示す)を半導体記憶装置20から受信した場合に、コマンドに基づいてアドレスに対して読み出し又は書き込みされるデータ(図において、Dataとして示す)を半導体記憶装置20との間で送信又は受信することと、を行うように構成されている。
【0045】
一方、半導体記憶装置20は、コマンド及びアドレスと、第1検査データと、をメモリコントローラ10から受信した場合に、第1検査データを用いてコマンド及びアドレスのエラー検出を行い、コマンド及びアドレスにエラーが検出されなかった場合に第1応答情報(ReplyA(OK))をメモリコントローラ10に送信することと、コマンド及びアドレスにエラーが検出されなかった場合に、コマンドに基づいてアドレスに対して読み出し又は書き込みされるデータをメモリコントローラ10との間で送信又は受信することと、を行うように構成されている。
【0046】
また、本実施形態において、半導体記憶装置20は、コマンド及びアドレスの何れかにエラーが検出された場合に、コマンド及びアドレスの何れかにエラーが検出されたことを示す第2応答情報(図において、ReplyA(NG)として示す)をメモリコントローラ10に送信するように構成されている。一方、メモリコントローラ10は、第2応答情報(ReplyA(NG))を半導体記憶装置20から受信した場合に、コマンド及びアドレスを半導体記憶装置20に再送信するように構成されている。この場合、コマンド及びアドレスの何れかにエラーが検出された場合にメモリコントローラ10がコマンド及びアドレスを半導体記憶装置20に再送信することによって、半導体記憶装置20に対するアクセスを最初から再開することができる。
【0047】
さらに、本実施形態において、メモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち一方)は、書き込みされるデータと、当該データのエラー検出用の第2検査データ(図において、CheckDとして示す)と、を半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち他方)に送信するように構成されている。一方、半導体記憶装置20は、データと、第2検査データ(CheckD)と、を受信した場合に、第2検査データ(CheckD)を用いてデータのエラー検出を行い、データにエラーが検出されなかった場合に、データにエラーが検出されなかったことを示す第3応答情報(図において、ReplyD(OK)として示す)をメモリコントローラ10に送信するように構成されている。この場合、読み出し又は書き込みされるデータにエラーが含まれている状態が維持されるのを抑制することが可能になるので、データの完全性を確保することができる。
【0048】
さらにまた、本実施形態において、半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち他方)は、データにエラーが検出された場合に、データにエラーが検出されたことを示す第4応答情報(図において、ReplyD(NG)として示す)をメモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち一方)に送信することと、メモリコントローラ10からデータが再送信されるのを所定時間が経過するまで待機することと、を行うように構成されている。この場合、データにエラーが検出された場合であっても、半導体記憶装置20が、当該データが再送信されるのを待機することによって、当該データの書き込みに関するアクセスを継続して行うことが可能になる。これにより、例えば、このデータの書き込みに関するアクセスが最初から再開される場合(コマンド及びアドレスが再送信される場合)と比較して、アクセス効率を高めることができる。
【0049】
また、本実施形態において、メモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち一方)は、第4応答情報(ReplyD(NG))を受信した場合に、当該データと、当該データに対応する第2検査データ(CheckD)と、を半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち他方)に再送信するように構成されている。これにより、データにエラーが検出された場合に、メモリコントローラ10がデータを再送信することによって、当該データの書き込みを再度行うことができる。
【0050】
さらに、本実施形態において、半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち他方)は、所定時間が経過するまでメモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち一方)からデータが再送信されなかった場合に、データの再送信を待機するのを解除するように構成されている。これにより、半導体記憶装置20は、データが再送信されなかった場合に、当該データの再送信を待機するのを解除することによって、別の読み出し又は書き込みアクセスを処理することが可能になる。したがって、アクセスの処理効率を向上させることができる。
【0051】
図1を参照して、本実施形態におけるメモリコントローラ10の構成について説明する。メモリコントローラ10は、外部のホスト装置(図示省略)に接続されており、ホスト装置からの命令に応じて、半導体記憶装置20に対して読み出し又は書き込み等のアクセスを行う。例えば、メモリコントローラ10は、半導体記憶装置20に対してデータの書き込みを行うための書き込み要求、又は、半導体記憶装置20からデータの読み出しを行うための読み出し要求をホスト装置から受信すると、チップセレクト信号/CEをアサート(ローレベル)して半導体記憶装置20に送信する。また、メモリコントローラ10は、ホスト装置から受信したクロック信号を外部クロック信号CLKとして半導体記憶装置20に送信する。
【0052】
本実施形態において、メモリコントローラ10は、要求制御部11と、シーケンス制御部12と、を備えている。要求制御部11及びシーケンス制御部12は、専用のハードウェアデバイスや論理回路によって構成されてもよい。
【0053】
なお、メモリコントローラ10は、CPU(Central Processing Unit)(図示省略)と、例えばRAM(Random Access Memory)等の記憶装置(図示省略)と、半導体記憶装置20及びホスト装置の各々との間で信号の送受信を行うためのインタフェース(図示省略)と、を備えてもよい。ここで、メモリコントローラ10のCPUは、例えば、記憶装置に記憶されたプログラムを読み出して実行することにより、要求制御部11及びシーケンス制御部12の機能を実現してもよい。
【0054】
要求制御部11は、半導体記憶装置20に対する書き込み又は読み出し要求をホスト装置から受信すると、メモリコントローラ10と半導体記憶装置20との間で送受信されるアドレスデータ信号ADQの転送方式を変換するための変換信号を生成するように構成されている。具体的に説明すると、要求制御部11は、半導体記憶装置20に対してデータの書き込みを行うための書き込み要求をホスト装置から受信すると、メモリコントローラ10から半導体記憶装置20に送信されるアドレスデータ信号ADQをシリアル転送方式から所定数のビット(例えば、8ビット)のパラレル転送方式に変換(デシリアライズ)するための変換信号desonをシーケンス制御部12に出力する。
【0055】
また、要求制御部11は、半導体記憶装置20からデータの読み出しを行うための読み出し要求をホスト装置から受信すると、変換信号desonをシーケンス制御部12に出力し、半導体記憶装置20からメモリコントローラ10に送信された信号(例えば、読み出しデータ等)をパラレル転送方式からシリアル転送方式に変換(シリアライズ)するための変換信号seronをシーケンス制御部12に出力する。
【0056】
シーケンス制御部12は、変換信号desonに基づいてアドレスデータ信号ADQの転送方式を変換するように構成されている。また、シーケンス制御部12は、シリアライザ・デシリアライザ(SerDes)12aと、エラー制御部12bと、を備える。SerDes12aは、メモリコントローラ10と半導体記憶装置20との間で送信又は受信される信号を、シリアル転送方式とパラレル転送方式との間で相互変換する。なお、本実施形態では、SerDes12aが、書き込みデータをデシリアライズし、読み出しデータをシリアライズする場合を一例として説明するが、SerDes12aは、書き込みデータを例えば64ビットから8ビット等にシリアライズし、読み出しデータをデシリアライズするように構成されてもよい。また、本実施形態において、シーケンス制御部12は、本発明の「第1シーケンス制御部」の一例であり、SerDes12aは、本発明の「第1シリアライザ・デシリアライザ(SerDes)」の一例であり、エラー制御部12bは、本発明の「第1エラー制御部」の一例である。
【0057】
SerDes12aは、例えば、要求制御部11が書き込み要求又は読み出し要求を受信した場合であって、要求制御部11から変換信号desonが入力された場合に、読み出しコマンド又は書き込みコマンド(Operation)と、アドレス(Address)と、を生成してエラー制御部12bに出力する。次に、SerDes12aは、コマンド(Operation)及びアドレス(Address)のエラー検出用の第1検査データ(CheckA)がエラー制御部12bから入力されると、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をパラレル転送方式に変換する。そして、SerDes12aは、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をアドレスデータ信号ADQとして半導体記憶装置20に送信する。
【0058】
また、SerDes12aは、書き込みコマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))をアドレスデータ信号ADQとして半導体記憶装置20から受信した場合に、ホスト装置から受信した書き込みデータ(Data)をエラー制御部12bに出力する。次に、SerDes12aは、書き込みデータ(Data)のエラー検出用の第2検査データ(CheckD)がエラー制御部12bから入力されると、第2検査データ(CheckD)及び書き込みデータ(Data)をパラレル転送方式に変換する。そして、SerDes12aは、第2検査データ(CheckD)及び書き込みデータ(Data)をアドレスデータ信号ADQとして半導体記憶装置20に送信する。
【0059】
さらに、SerDes12aは、書き込みコマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))をアドレスデータ信号ADQとして半導体記憶装置20から受信した場合であって、書き込みコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を再送信するための信号retrywrがエラー制御部12bから入力された場合に、書き込みコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をアドレスデータ信号ADQとして半導体記憶装置20に再送信する。
【0060】
さらにまた、SerDes12aは、読み出しコマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))をアドレスデータ信号ADQとして半導体記憶装置20から受信した場合であって、読み出しコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を再送信するための信号retryrdがエラー制御部12bから入力された場合に、読み出しコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をアドレスデータ信号ADQとして半導体記憶装置20に再送信する。
【0061】
また、SerDes12aは、書き込みデータ(Data)にエラーが検出されたことを示す第4応答情報(ReplyD(NG))をアドレスデータ信号ADQとして半導体記憶装置20から受信した場合に、書き込みデータ(Data)と、当該書き込みデータ(Data)に対応する第2検査データ(CheckD)と、をアドレスデータ信号ADQとして半導体記憶装置20に再送信する。
【0062】
エラー制御部12bは、SerDes12aからコマンド(Operation)及びアドレス(Address)が入力されると、コマンド(Operation)及びアドレス(Address)のエラー検出用の第1検査データ(CheckA)を生成し、生成した第1検査データ(CheckA)をSerDes12aに出力する。ここで、第1検査データ(CheckA)は、例えば、パリティ符号やCRC(Cyclic Redundancy Checking)符号等で構成されてもよい。
【0063】
また、エラー制御部12bは、SerDes12aから書き込みデータ(Data)が入力されると、書き込みデータ(Data)のエラー検出用の第2検査データ(CheckD)を生成し、生成した第2検査データ(CheckD)をSerDes12aに出力する。ここで、第2検査データ(CheckD)は、第1検査データ(CheckA)と同様に、例えば、パリティ符号やCRC(Cyclic Redundancy Checking)符号等で構成されてもよい。
【0064】
さらに、エラー制御部12bは、書き込みコマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))が半導体記憶装置20から送信された場合に、書き込みコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を再送信するための信号retrywrをSerDes12aに出力する。
【0065】
さらにまた、エラー制御部12bは、読み出しコマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))が半導体記憶装置20から送信された場合に、読み出しコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を再送信するための信号retryrdをSerDes12aに出力する。
【0066】
次に、本実施形態における半導体記憶装置20の構成について説明する。半導体記憶装置20は、シーケンス制御部21と、コマンド制御部22と、アドレス制御部23と、ワード線制御部24と、カラム制御部25と、データ制御部26と、データバス制御部27と、センスアンプ28と、メモリセルアレイ29と、を備える。半導体記憶装置20内の各部21~29は、専用のハードウェアデバイスや論理回路によって構成されてもよい。なお、本実施形態では、説明を簡略化するために、例えば電源回路、チップセレクト端子、クロック端子、アドレスデータ入出力端子等の他の周知の構成が示されていない。
【0067】
シーケンス制御部21は、メモリコントローラ10との間で送受信されるアドレスデータ信号ADQの転送方式を変換するように構成されている。また、シーケンス制御部21は、SerDes21aと、エラー制御部21bと、を備える。SerDes21aは、メモリコントローラ10のSerDes12aと同様に、メモリコントローラ10と半導体記憶装置20との間で送信又は受信される信号を、シリアル転送方式とパラレル転送方式との間で相互変換する。また、本実施形態において、シーケンス制御部21は、データストローブ信号RWDSをメモリコントローラ10のシーケンス制御部12に送信するように構成されている。なお、本実施形態において、シーケンス制御部21は、本発明の「第2シーケンス制御部」の一例であり、SerDes21aは、本発明の「第2シリアライザ・デシリアライザ(SerDes)」の一例であり、エラー制御部21bは、本発明の「第2エラー制御部」の一例である。
【0068】
SerDes21aは、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をアドレスデータ信号ADQとしてメモリコントローラ10から受信した場合に、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をシリアル転送方式に変換してエラー制御部21bに出力する。
【0069】
また、SerDes21aは、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))がエラー制御部21bから入力された場合に、第1応答情報(ReplyA(OK))をパラレル転送方式に変換し、第1応答情報(ReplyA(OK))をアドレスデータ信号ADQとしてメモリコントローラ10に送信する。また、この場合に、SerDes21aは、受信したコマンド(Operation)の内容(読み出しコマンド又は書き込みコマンド)を示す信号opeをコマンド制御部22に出力し、受信したアドレス(Address)を示す信号adrをアドレス制御部23に出力する。
【0070】
さらに、SerDes21aは、コマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))がエラー制御部21bから入力された場合に、第2応答情報(ReplyA(NG))をパラレル転送方式に変換し、第2応答情報(ReplyA(NG))をアドレスデータ信号ADQとしてメモリコントローラ10に送信する。
【0071】
さらにまた、SerDes21aは、第2検査データ(CheckD)及び書き込みデータ(Data)をアドレスデータ信号ADQとしてメモリコントローラ10から受信した場合に、第2検査データ(CheckD)及び書き込みデータ(Data)をシリアル転送方式に変換してエラー制御部21bに出力する。
【0072】
また、SerDes21aは、書き込みデータ(Data)にエラーが検出されなかったことを示す第3応答情報(ReplyD(OK))がエラー制御部21bから入力された場合に、第3応答情報(ReplyD(OK))をパラレル転送方式に変換し、第3応答情報(ReplyD(OK))をアドレスデータ信号ADQとしてメモリコントローラ10に送信する。また、この場合に、SerDes21aは、受信した書き込みデータ(Data)を示す信号diをデータ制御部26に出力する。
【0073】
さらに、SerDes21aは、書き込みデータ(Data)にエラーが検出されたことを示す第4応答情報(ReplyD(NG))がエラー制御部21bから入力された場合に、第4応答情報(ReplyD(NG))をパラレル転送方式に変換し、第4応答情報(ReplyD(NG))をアドレスデータ信号ADQとしてメモリコントローラ10に送信する。
【0074】
さらにまた、SerDes21aは、読み出しデータを示す信号doがデータ制御部26から入力された場合に、読み出しデータ(Data)をエラー制御部21bに出力する。そして、SerDes21aは、読み出しデータ(Data)のエラー検出用の第2検査データ(CheckD)がエラー制御部21bから入力された場合に、読み出しデータ(Data)及び第2検査データ(CheckD)をパラレル転送方式に変換し、読み出しデータ(Data)及び第2検査データ(CheckD)をアドレスデータ信号ADQとしてメモリコントローラ10に送信する。
【0075】
エラー制御部21bは、SerDes21aからコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)が入力されると、第1検査データ(CheckA)を用いてコマンド(Operation)及びアドレス(Address)のエラー検出を行う。そして、エラー制御部21bは、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかった場合に、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))をSerDes21aに出力する。一方、エラー制御部21bは、コマンド(Operation)及びアドレス(Address)の何れかにエラーが検出された場合に、コマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))をSerDes21aに出力する。
【0076】
また、エラー制御部21bは、第2検査データ(CheckD)及び書き込みデータ(Data)がSerDes21aから入力されると、第2検査データ(CheckD)を用いて書き込みデータ(Data)のエラー検出を行う。そして、エラー制御部21bは、書き込みデータ(Data)にエラーが検出されなかった場合に、書き込みデータ(Data)にエラーが検出されなかったことを示す第3応答情報(ReplyD(OK))をSerDes21aに出力する。一方、エラー制御部21bは、書き込みデータ(Data)にエラーが検出された場合に、書き込みデータ(Data)にエラーが検出されたことを示す第4応答情報(ReplyD(NG))をSerDes21aに出力する。
【0077】
さらに、エラー制御部21bは、読み出しデータ(Data)がSerDes21aから入力されると、読み出しデータ(Data)のエラー検出用の第2検査データ(CheckD)を生成し、生成した第2検査データ(CheckD)をSerDes21aに出力する。ここで、第2検査データ(CheckD)は、上述したように、パリティ符号やCRC(Cyclic Redundancy Checking)符号等で構成されてもよい。
【0078】
さらにまた、エラー制御部21bは、チップセレクト信号/CEがネゲート(ハイレベル)からアサート(ローレベル)に変化した場合に、読み出し又は書き込みアクセスの処理中であることを示す信号busyをアサート(ハイレベル)してコマンド制御部22に出力する。
【0079】
コマンド制御部22は、メモリコントローラ10から入力されたコマンドに基づいて内部コマンドを生成するように構成されている。具体的に説明すると、コマンド制御部22は、アサート(ハイレベル)された信号busyがシーケンス制御部21から入力されている場合に、シーケンス制御部21から入力された信号opeに応じて内部コマンドを生成する。ここで、生成される内部コマンドには、例えば、リード信号、ライト信号、リフレッシュ信号等が含まれる。コマンド制御部22は、生成した内部コマンドに応じて、ワード線を活性化するための信号wlonをアサートしてワード線制御部24に出力し、ビット線を活性化するための信号clonをアサートしてカラム制御部25に出力し、センスアンプ28を活性化するための信号saonをアサートしてセンスアンプ28に出力する。また、コマンド制御部22は、ワード線を非活性化するための信号wloffをアサートしてワード線制御部24に出力する。
【0080】
アドレス制御部23は、メモリコントローラ10から入力されたアドレスに基づいて、当該アドレスに対応するワード線及びビット線を活性化するように制御する。具体的に説明すると、アドレス制御部23は、信号adrがシーケンス制御部21から入力されると、活性化されるワード線を示すロウアドレス信号raと、活性化されるビット線を示すカラムアドレス信号caと、を生成する。そして、アドレス制御部23は、生成したロウアドレス信号raをワード線制御部24に出力し、生成したカラムアドレス信号caをカラム制御部25に出力する。
【0081】
ワード線制御部24は、信号wlonがアサートされた状態でコマンド制御部22から入力されている場合に、アドレス制御部23から入力されたロウアドレス信号raによって示されたワード線を活性化するための信号wlをメモリセルアレイ29に出力して、当該ワード線を活性化(駆動)する。また、ワード線制御部24は、信号wloffがアサートされた状態でコマンド制御部22から入力されている場合に、活性化されたワード線を非活性化するための信号wlをメモリセルアレイ29に出力して、当該ワード線を非活性化する。
【0082】
カラム制御部25は、信号clonがアサートされた状態でコマンド制御部22から入力されている場合に、メモリセルアレイ29内の複数のビット線のうち、アドレス制御部23から入力されたカラムアドレス信号caによって示されたビット線を活性化するための信号clを、センスアンプ28に出力する。
【0083】
データ制御部26は、書き込みデータを示す信号diがシーケンス制御部21から入力されると、書き込みデータを示す信号wdbをデータバス制御部27に出力する。また、データ制御部26は、読み出しデータを示す信号rdbがデータバス制御部27から入力されると、読み出しデータを示す信号doをシーケンス制御部21に出力する。
【0084】
データバス制御部27は、書き込みデータを示す信号wdbがデータ制御部26から入力されると、書き込みデータを示す信号cdbをセンスアンプ28に出力する。また、データバス制御部27は、読み出しデータを示す信号cdbがセンスアンプ28から入力されると、読み出しデータを示す信号rdbをデータ制御部26に出力する。
【0085】
センスアンプ28は、信号saonがアサートされた状態でコマンド制御部22から入力されている場合に、カラム制御部25から入力された信号clによって示されたビット線を活性化するための信号blをメモリセルアレイ29に出力して、当該ビット線を活性化(駆動)する。そして、センスアンプ28は、活性化されたビット線を介して、メモリセルに対するデータの読み書きを行う。例えば、センスアンプ28は、データバス制御部27から入力された書き込みデータを示す信号cdbを、活性化されたビット線を介してメモリセルに書き込む。また、センスアンプ28は、活性化されたビット線を介してメモリセルから読み出したデータを、データバス制御部27に出力する。
【0086】
メモリセルアレイ29は、行列(アレイ)状に配置された複数のメモリセル(図示省略)を含む。各メモリセルには、メモリコントローラ10から入力されたデータが記憶される。各メモリセルは、周知の1T1C(1トランジスタ1キャパシタ)型のメモリセルであってもよい。また、各メモリセルは、複数のワード線のうち何れか1つのワード線と、複数のビット線のうち何れか1つのビット線と、に接続されている。
【0087】
なお、メモリセルアレイ29内の各メモリセルに対するデータの読み書き制御の詳細については周知の技術と同様であるため、本実施形態では、より具体的な説明を省略する。
【0088】
次に、
図2を参照して、本実施形態における半導体記憶装置20の動作の一例について説明する。
図2は、コマンド及びアドレスにエラーが含まれていない場合の半導体記憶装置20内の信号の時間推移を示すタイムチャートである。なお、ここでは、書き込みコマンド(Operation)がメモリコントローラ10から入力された場合を一例として説明する。
【0089】
先ず、半導体記憶装置20は、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をメモリコントローラ10から受信すると、第1検査データ(CheckA)を用いてコマンド(Operation)及びアドレス(Address)のエラー検出を行う。そして、半導体記憶装置20は、エラーが検出されなかった場合に、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))をメモリコントローラ10に送信する。なお、第1応答情報(ReplyA(OK))は、コマンド及びアドレスが入力されてからデータが入力又は出力されるまでのレイテンシの間に送信されてもよい。
【0090】
また、半導体記憶装置20は、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかった場合に、信号wlonをアサート(ハイレベル)する。この場合、アドレス(Address)に対応するワード線を活性化するための信号wlがアサート(ハイレベル)される。
【0091】
一方、メモリコントローラ10は、第1応答情報(ReplyA(OK))を受信すると、第2検査データ(CheckD)及び書き込みデータ(Data)を半導体記憶装置20に送信する。なお、第2検査データ(CheckD)は、レイテンシの間に送信されてもよい。
【0092】
半導体記憶装置20は、第2検査データ(CheckD)及び書き込みデータ(Data)をメモリコントローラ10から受信すると、第2検査データ(CheckD)を用いて書き込みデータ(Data)のエラー検出を行う。また、半導体記憶装置20は、アドレス(Address)に対応するビット線を活性化するための信号clをアサート(ハイレベル)する。このとき、半導体記憶装置20のセンスアンプ28が、アドレス(Address)に対応するビット線を活性化することによって、書き込みデータ(Data)がメモリセルアレイ29内のメモリセルに書き込まれる。
【0093】
さらに、半導体記憶装置20は、書き込みデータ(Data)を受信した後にチップセレクト信号/CEがネゲート(ハイレベル)された場合に、書き込みデータにエラーが検出されたか否かを示す応答情報(第3応答情報(ReplyD(OK))又は第4応答情報(ReplyD(NG)))をメモリコントローラ10に送信する。
【0094】
また、半導体記憶装置20は、書き込みデータ(Data)がメモリセルアレイ29内のメモリセルに正しく書き込まれると、信号wloffをアサート(ハイレベル)する。これにより、信号wlがネゲート(ローレベル)される。
【0095】
このようにして、メモリコントローラ10は、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))を半導体記憶装置20から受信した場合に、当該アドレス(Address)に対して書き込みされるデータ(Data)を半導体記憶装置20との間で送信することが可能になる。
【0096】
図3を参照して、本実施形態における半導体記憶装置20の動作の他の一例について説明する。
図3は、コマンド及びアドレスの何れかにエラーが含まれている場合の半導体記憶装置20内の信号の時間推移を示すタイムチャートである。なお、ここでは、
図2と同様に、書き込みコマンド(Operation)がメモリコントローラ10から入力された場合を一例として説明する。
【0097】
先ず、半導体記憶装置20は、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をメモリコントローラ10から受信すると、第1検査データ(CheckA)を用いてコマンド(Operation)及びアドレス(Address)のエラー検出を行う。そして、半導体記憶装置20は、エラーが検出された場合に、コマンド(Operation)及びアドレス(Address)の何れかにエラーが検出されたことを示す第2応答情報(ReplyA(NG))をメモリコントローラ10に送信する。なお、この場合、半導体記憶装置20は、アドレス(Address)に対応するワード線及びビット線の活性化を行わない。
【0098】
一方、メモリコントローラ10は、第2応答情報(ReplyA(NG))を受信すると、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を半導体記憶装置20に再送信する。
【0099】
半導体記憶装置20は、メモリコントローラ10から再送信されたコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を受信すると、第1検査データ(CheckA)を用いてコマンド(Operation)及びアドレス(Address)のエラー検出を行う。そして、半導体記憶装置20は、エラーが検出されなかった場合に、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))をメモリコントローラ10に送信する。なお、これ以降の半導体記憶装置20の動作は、
図2に示した例と同様である。
【0100】
このように、コマンド(Operation)及びアドレス(Address)にエラーが検出された場合にメモリコントローラ10がコマンド(Operation)及びアドレス(Address)を半導体記憶装置20に再送信することによって、半導体記憶装置20は、誤った動作を開始せず、アクセスを最初から再開することが可能になる。
【0101】
図4を参照して、本実施形態における半導体記憶装置20の動作の他の一例について説明する。
図4は、データにエラーが含まれている場合の半導体記憶装置内の信号の時間推移を示すタイムチャートである。なお、ここでは、
図2及び
図3と同様に、書き込みコマンド(Operation)がメモリコントローラ10から入力された場合を一例として説明する。
【0102】
先ず、半導体記憶装置20は、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)をメモリコントローラ10から受信すると、第1検査データ(CheckA)を用いてコマンド(Operation)及びアドレス(Address)のエラー検出を行う。なお、半導体記憶装置20は、チップセレクト信号/CEがネゲート(ハイレベル)からアサート(ローレベル)に変化した場合に、信号busyをアサート(ハイレベル)する。
【0103】
また、半導体記憶装置20は、第1応答情報(ReplyA(OK))をメモリコントローラ10に送信した後に第2検査データ(CheckD)及び書き込みデータ(Data)を受信すると、第2検査データ(CheckD)を用いて書き込みデータ(Data)のエラー検出を行う。また、半導体記憶装置20は、上述したように、書き込みデータ(Data)の書き込みを行う。
【0104】
ここで、書き込みデータ(Data)にエラーが検出された場合、半導体記憶装置20は、チップセレクト信号/CEがネゲート(ハイレベル)されると、書き込みデータにエラーが検出されたことを示す第4応答情報(ReplyD(NG))をメモリコントローラ10に送信する。なお、この場合、半導体記憶装置20は、信号wl及び信号busyの各々をアサートされた状態で維持する。
【0105】
一方、メモリコントローラ10は、第4応答情報(ReplyD(NG))を受信すると、第2検査データ(CheckD)及び書き込みデータ(Data)を半導体記憶装置20に再送信する。
【0106】
半導体記憶装置20は、メモリコントローラ10から再送信された第2検査データ(CheckD)及び書き込みデータ(Data)を受信すると、第2検査データ(CheckD)を用いて書き込みデータ(Data)のエラー検出を行う。また、半導体記憶装置20は、書き込みデータ(Data)の書き込みを再度行う。そして、書き込みデータ(Data)にエラーが検出されなかった場合、半導体記憶装置20は、書き込みデータ(Data)にエラーが検出されなかったことを示す第3応答情報(ReplyD(OK))をメモリコントローラ10に送信する。また、半導体記憶装置20は、信号wl及び信号busyの各々をネゲート(ローレベル)する。
【0107】
このようにして、本実施形態に係るメモリシステムによれば、読み出し又は書き込みされるデータ(Data)にエラーが含まれている状態が維持されるのを抑制することができる。
【0108】
また、本実施形態に係るメモリシステムによれば、データ(Data)にエラーが検出された場合であっても、半導体記憶装置20が、当該データ(Data)が再送信されるのを待機することによって、当該データ(Data)の書き込みに関するアクセスを継続して行うことが可能になる。また、半導体記憶装置20は、データ(Data)の再送信を待機する間、信号wlをアサートされた状態で維持することによって、例えばコマンド及びアドレスが再送信された場合にセンスアンプを活性化するまでの待ち時間(レイテンシ)が不要になることから、動作時間を短縮することができる。
【0109】
なお、本実施形態では、データ(Data)にエラーが検出された場合にデータ(Data)のみが再送信される場合を一例として説明したが、本発明はこの場合に限られない。例えば、コマンド(Operation)が再送信されてもよいし、ロウアドレス信号ra及び/又はカラムアドレス信号caに対応するアドレス(Address)が再送信されてもよいし、コマンド(Operation)及びアドレス(Address)が再送信されてもよい。
【0110】
さらに、本実施形態に係るメモリシステムによれば、データ(Data)にエラーが検出された場合に、メモリコントローラ10がデータ(Data)を再送信することによって、当該データ(Data)の書き込みを再度行うことができる。
【0111】
図5を参照して、本実施形態における半導体記憶装置20の動作の他の一例について説明する。
図5は、データの再送信を待機中に所定時間が経過した場合の半導体記憶装置内の信号の時間推移を示すタイムチャートである。なお、ここでは、
図2~
図4と同様に、書き込みコマンド(Operation)がメモリコントローラ10から入力された場合を一例として説明する。
【0112】
先ず、半導体記憶装置20は、書き込みデータ(Data)にエラーが検出された場合に、チップセレクト信号/CEがネゲート(ハイレベル)されると、書き込みデータにエラーが検出されたことを示す第4応答情報(ReplyD(NG))をメモリコントローラ10に送信する。なお、書き込みデータ(Data)にエラーが検出されるまでの半導体記憶装置20の動作は、
図4を参照して説明した例と同様である。
【0113】
ここで、半導体記憶装置20は、第4応答情報(ReplyD(NG))をメモリコントローラ10に送信してから所定時間が経過するまでの間に、第2検査データ(CheckD)及び書き込みデータ(Data)をメモリコントローラ10から受信しなかった場合、信号wl及び信号busyの各々をネゲート(ローレベル)してもよい。これにより、書き込みデータ(Data)の再送信の待機状態が解除される。なお、半導体記憶装置20は、内蔵されたタイマ回路(図示省略)等を用いて経過時間を計測してもよい。
【0114】
このようにして、本実施形態に係るメモリシステムによれば、半導体記憶装置20は、データ(Data)が再送信されなかった場合に、当該データ(Data)の再送信を待機するのを解除することによって、別の読み出し又は書き込みアクセスを処理することが可能になる。
【0115】
次に、
図6を参照して、半導体記憶装置20の動作フローの一例を説明する。半導体記憶装置20は、待機状態(スタンバイ)において、チップセレクト信号/CEがアサート(ローレベル)され、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)が入力されると、第1検査データ(CheckA)を用いてコマンド(Operation)及びアドレス(Address)のエラーチェックを行う(ステップS100)。そして、半導体記憶装置20は、エラーが検出された場合に(ステップS101:YES)、第2応答情報(ReplyA(NG))をメモリコントローラ10に出力し、待機状態に移行する。また、半導体記憶装置20は、エラーが検出されなかった場合に(ステップS101:NO)、第1応答情報(ReplyA(OK))をメモリコントローラ10に出力し、アクティブ状態(アクティブ)に移行する。
【0116】
半導体記憶装置20は、アクティブ状態(アクティブ)に移行すると、メモリセルアレイ29の活性化(ワード線及びビット線の活性化)を行う(ステップS102)。
【0117】
次に、半導体記憶装置20は、コマンド(Operation)及びアドレス(Address)に基づいて読み出し又は書き込みアクセスを行う(ステップS103)。ここで、書き込みアクセスの場合、半導体記憶装置20は、第2検査データ(CheckD)及び書き込みデータ(Data)を受信した後に、書き込みアクセスを行う。
【0118】
また、半導体記憶装置20は、第2検査データ(CheckD)を用いてデータ(Data)のエラーチェックを行う(ステップS104)。
【0119】
ここで、データ(Data)にエラーが検出された場合(ステップS105:Yes)、半導体記憶装置20は、第4応答情報(ReplyD(NG))をメモリコントローラ10に出力し、データ(Data)の再送信を待機する状態に移行する。そして、チップセレクト信号/CEがアサート(ローレベル)されると、半導体記憶装置20は、ステップS103の処理に移行する。また、半導体記憶装置20は、データ(Data)の再送信を待機する状態において所定時間が経過した場合、後述するステップS106の処理に移行する。
【0120】
データ(Data)にエラーが検出されなかった場合(ステップS105:No)、半導体記憶装置20は、第3応答情報(ReplyD(OK))をメモリコントローラ10に出力し、メモリセルアレイ29の非活性化(ワード線及びビット線の非活性化)を行い(ステップS106)、待機状態に移行する。
【0121】
上述したように、本実施形態のメモリシステムによれば、メモリコントローラ10は、コマンド(Operation)及びアドレス(Address)にエラーが検出されなかったことを示す第1応答情報(ReplyA(OK))を半導体記憶装置20から受信した場合に、当該アドレス(Address)に対して読み出し又は書き込みされるデータ(Data)を半導体記憶装置20との間で送信又は受信することが可能になる。これにより、コマンドパケットの伝送中にコマンド(Operation)の内容やアドレス(Address)が変更されることによって不適切なアクセスが行われるのを抑制することが可能になるので、半導体記憶装置20に対して適切にアクセスすることができる。
【0122】
また、本実施形態のメモリシステムによれば、疑似スタティックランダムアクセスメモリに対して適切にアクセスすることができる。
【0123】
(第2実施形態)
以下、本発明の第2実施形態について説明する。本実施形態のメモリシステムは、半導体記憶装置20が、インタリーブ方式でアクセスされる複数のバンクを備える点において第1実施形態と異なっている。以下、第1実施形態と異なる構成について説明する。
【0124】
図7及び
図8を参照して、本実施形態における半導体記憶装置20の動作の一例について説明する。
図7及び
図8は、半導体記憶装置20内の信号の時間推移を示すタイムチャートである。なお、
図7(a)及び
図7(b)に示すタイムチャートは、
図7(a)の後に
図7(b)が続く連続的な時間推移を示しており、
図8(a)及び
図8(b)についても同様である。また、図に示す例では、半導体記憶装置20が、2つのバンク(BNK0及びBNK1)を備えている場合を一例として説明する。
【0125】
図7に示すように、本実施形態における半導体記憶装置20では、一方のバンク(BNK0)に対するコマンド(Operation(BNK0))、アドレス(Address(BNK0))及び第1検査データ(CheckA(BNK0))が入力されてからデータ(Data(BNK0))が入力又は出力されるまでのレイテンシの間に、他方のバンク(BNK1)に対するアクセスが行われるように構成されている。
【0126】
上述した第1実施形態と同様に、一方のバンク(BNK0)に対するコマンド(Operation(BNK0))及びアドレス(Address(BNK0))にエラーが検出されなかった場合、半導体記憶装置20は、アドレス(Address(BNK0,row=Rm(Rmはロウアドレスを示しており、mは整数である)))に対応するワード線wl(BNK0)をアサート(ハイレベル)する。
【0127】
また、半導体記憶装置20は、一方のバンク(BNK0)に対するアクセスのレイテンシ(レイテンシ(BNK0))の間に、他方のバンク(BNK1)に対するアクセスを行う。ここで、半導体記憶装置20は、他方のバンク(BNK1)に対するアクセスにおいて、他方のバンク(BNK1)に対するアクセスのレイテンシの前に受信したアドレス(Address(BNK1,row=Ri(Riはロウアドレスを示しており、iは整数である)))に対応するデータ(Data(BNK1))の読み出し又は書き込みを行う。そして、半導体記憶装置20は、データ(Data(BNK1))にエラーが検出されなかった場合(ReplyD(BNK1)が“OK”の場合)に、他方のバンク(BNK1)に対する次のアクセスのコマンド(Operation(BNK1))及びアドレス(Address(BNK1,row=Rj(Rjはロウアドレスを示しており、jは整数である)))を受信する。このとき、半導体記憶装置20は、アドレス(Address(BNK1,row=Rj))に対応するワード線wl(BNK1)をアサート(ハイレベル)する。
【0128】
次に、半導体記憶装置20は、他方のバンク(BNK1)に対するアクセスのレイテンシ(レイテンシ(BNK1))の間に、一方のバンク(BNK0)に対するアクセスを行う。ここで、半導体記憶装置20は、一方のバンク(BNK0)に対するアクセスにおいて、一方のバンク(BNK0)に対するアクセスのレイテンシの前に受信したアドレス(Address(BNK0,row=Rm))に対応するデータ(Data(BNK0))の読み出し又は書き込みを行う。そして、半導体記憶装置20は、データ(Data(BNK0))にエラーが検出されなかった場合(ReplyD(BNK0)が“OK”の場合)に、一方のバンク(BNK0)に対する次のアクセスのコマンド(Operation(BNK0))及びアドレス(Address(BNK0,row=Rn(Rnはロウアドレスを示しており、nは整数である)))を受信する。このとき、半導体記憶装置20は、アドレス(Address(BNK0,row=Rn))に対応するワード線wl(BNK0)をアサート(ハイレベル)する。
【0129】
なお、
図8に示すように、一方のバンク(BNK0)に対するアクセスにおいて、データ(Data(BNK0))にエラーが検出された場合(ReplyD(BANK0)が“NG”の場合)、半導体記憶装置20は、エラーが検出されないデータ(Data(BNK0))を受信した後に、次のアクセスのコマンド(Operation(BNK0))及びアドレス(Address(BNK0,row=Rn))を受信するまで、他方のバンク(BNK1)に対するアクセスのレイテンシ(レイテンシ(BNK1))を延長してもよい。
【0130】
上述したように、本実施形態のメモリシステムによれば、複数のバンクに対するアクセスを同時に並行して行うことが可能になるので、半導体記憶装置20に対するアクセスを高速化することができる。
【0131】
(第3実施形態)
以下、本発明の第3実施形態について説明する。本実施形態のメモリシステムは、半導体記憶装置20が、メモリセルのリフレッシュを実行するためのリフレッシュ要求を内部で生成するように構成されている点において上記各実施形態と異なっている。以下、上記各実施形態と異なる構成について説明する。
【0132】
本実施形態において、半導体記憶装置20は、リフレッシュ要求信号が生成されてからリフレッシュが実行されるまでの間にメモリコントローラ10から受信したコマンド(Operation)、アドレス(Address)及びデータ(Data)のうち何れかにエラーが検出された場合に、コマンド(Operation)、アドレス(Address)及びデータ(Data)のうち何れかがメモリコントローラ10から再送信されることによってエラーが検出されなくなるまでリフレッシュの実行を停止するように構成されている。
【0133】
図9を参照して、本実施形態における半導体記憶装置20の動作の一例について説明する。
図9は、半導体記憶装置20内の信号の時間推移を示すタイムチャートである。なお、ここでは、書き込みコマンド(Operation)がメモリコントローラ10から入力された場合を一例として説明する。
【0134】
先ず、半導体記憶装置20は、チップセレクト信号/CEがネゲート(ハイレベル)からアサート(ローレベル)に変化した場合に、信号busyをアサート(ハイレベル)する。ここで、半導体記憶装置20は、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を受信している間に内部でリフレッシュ要求信号refreqを生成(アサート)した場合に、リフレッシュの実行を待機するための信号refwaitをアサート(ハイレベル)する。なお、リフレッシュ要求信号refreq及び信号refwaitは、例えば、半導体記憶装置20のコマンド制御部22によって生成されてもよい。
【0135】
そして、半導体記憶装置20は、コマンド(Operation)及びアドレス(Address)にエラーが検出された場合に、エラーが検出されたことを示す第2応答情報(ReplyA(NG))をメモリコントローラ10に送信する。
【0136】
次に、半導体記憶装置20は、メモリコントローラ10から再送信されたコマンド(Operation)及びアドレス(Address)にエラーが検出されなかった場合に、書き込みデータ(Data)をメモリコントローラ10から受信し、受信した書き込みデータ(Data)の書き込みを行う。
【0137】
そして、半導体記憶装置20は、書き込みデータ(Data)にエラーが検出されなかった場合(第3応答情報(ReplyD(OK))がメモリコントローラ10に送信される場合)に、信号refwaitをネゲート(ローレベル)する。また、半導体記憶装置20は、信号refwaitがネゲート(ローレベル)されると、リフレッシュを実行する。具体的に説明すると、半導体記憶装置20は、リフレッシュの対象となるワード線を活性化するために、信号wlonをアサート(ハイレベル)するとともに信号wlをアサート(ハイレベル)する。また、半導体記憶装置20は、リフレッシュを実行するためにビット線を活性化するための信号blをアサート(ハイレベル)する。そして、半導体記憶装置20は、リフレッシュを実行する。なお、半導体記憶装置20は、リフレッシュが終了すると、信号wloffをアサート(ハイレベル)するとともに信号wlをネゲート(ローレベル)する。
【0138】
なお、図において説明を省略したが、半導体記憶装置20は、データ(Data)にエラーが検出された場合、メモリコントローラ10から送信されたデータ(Data)にエラーが検出されなくなるまでリフレッシュの実行を待機(信号refwaitをアサート(ハイレベル))してもよい。
【0139】
このように、本実施形態によれば、コマンド(Operation)、アドレス(Address)及びデータ(Data)のうち何れかにエラーが検出されなくなるまでリフレッシュの実行が停止されることによって、リフレッシュが実行されることに起因するアクセスの遅延を抑制することが可能になる。
【0140】
なお、第3実施形態の変形例として、半導体記憶装置20は、リフレッシュ要求信号refreqが生成されてからリフレッシュが実行されるまでの間にメモリコントローラ10から受信したコマンド(Operation)、アドレス(Address)及びデータ(Data)のうち何れかにエラーが検出された場合に、リフレッシュが実行されることを示す第5応答情報をメモリコントローラ10に送信し、リフレッシュを実行するように構成されてもよい。
【0141】
図10を参照して、変形例における半導体記憶装置20の動作の一例について説明する。
図10は、半導体記憶装置20内の信号の時間推移を示すタイムチャートである。なお、ここでは、書き込みコマンド(Operation)がメモリコントローラ10から入力された場合を一例として説明する。
【0142】
先ず、半導体記憶装置20は、チップセレクト信号/CEがネゲート(ハイレベル)からアサート(ローレベル)に変化した場合に、信号busyをアサート(ハイレベル)する。ここで、半導体記憶装置20は、コマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)を受信している間に内部でリフレッシュ要求信号refreqを生成(アサート)した場合に、リフレッシュの実行を待機するための信号refwaitをアサート(ハイレベル)する。
【0143】
そして、半導体記憶装置20は、コマンド(Operation)及びアドレス(Address)にエラーが検出された場合に、エラーが検出されたことを示す第2応答情報(ReplyA(NG))をメモリコントローラ10に送信する。ここで、第2応答情報(ReplyA(NG))には、リフレッシュが実行されることを示す第5応答情報(図において、“Ref next”として示す)が含まれてもよい。
【0144】
一方、メモリコントローラ10は、第5応答情報(“Ref next”)を含む第2応答情報(ReplyA(NG))を受信した場合に、半導体記憶装置20内でリフレッシュが実行されていることを考慮して、所定時間が経過するまで、次のアクセスにおけるコマンド(Operation)、アドレス(Address)及び第1検査データ(CheckA)の送信を待機してもよい。
【0145】
次に、半導体記憶装置20は、信号busyを一度ネゲート(ローレベル)し、その後にアサート(ハイレベル)する。また、半導体記憶装置20は、信号busyがネゲート(ローレベル)されたことに応じてリフレッシュの実行を開始し、信号refwaitをネゲート(ローレベル)する。
【0146】
そして、半導体記憶装置20は、リフレッシュの実行が終了した後に、次のアクセスにおける処理を行う。
【0147】
このように、本変形例によれば、コマンド(Operation)、アドレス(Address)及びデータ(Data)のうち何れかにエラーが検出された場合にリフレッシュが実行されることによって、例えば、コマンド(Operation)、アドレス(Address)及びデータ(Data)のうち何れかの再送信が繰り返し行われる間にリフレッシュが実行されないことに起因して半導体記憶装置20の記憶情報が失われるのを抑制することが可能になる。
【0148】
以上説明した各実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記各実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0149】
例えば、上述した実施形態では、半導体記憶装置20がpSRAMである場合を一例として説明したが、本発明はこの場合に限られない。例えば、半導体記憶装置20は、DRAMであってもよいし、フラッシュメモリであってもよいし、他の半導体記憶装置であってもよい。
【0150】
また、上述した実施形態では、メモリコントローラ10が書き込みコマンド(Operation(Write))を半導体記憶装置20に送信する場合を一例として説明したが、メモリコントローラ10が読み出しコマンド(Operation)を半導体記憶装置20に送信する場合においても、上述した実施形態と同様の作用効果が得られる。
【0151】
例えば、半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち一方)は、読み出しデータと、読み出しデータのエラー検出用の第2検査データ(CheckD)と、をメモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち他方)に送信してもよい。また、メモリコントローラ10は、読み出しデータと、第2検査データ(CheckD)と、を受信した場合に、第2検査データ(CheckD)を用いて読み出しデータのエラー検出を行い、読み出しデータにエラーが検出されなかった場合に、読み出しデータにエラーが検出されなかったことを示す第3応答情報(ReplyD(OK))を半導体記憶装置20に送信してもよい。この場合、半導体記憶装置20は、第3応答情報(ReplyD(OK))を受信することによって、読み出しされるデータがメモリコントローラ10に適切に到達していることを確認することができる。
【0152】
また、上記の場合において、メモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち他方)は、データにエラーが検出された場合に、データにエラーが検出されたことを示す第4応答情報(ReplyD(NG))を半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち一方)に送信し、半導体記憶装置20からデータが再送信されるのを所定時間が経過するまで待機してもよい。この場合、データにエラーが検出された場合であっても、メモリコントローラ10が、当該データが再送信されるのを待機することによって、当該データの読み出しに関するアクセスを継続して行うことが可能になる。これにより、例えば、このデータの読み出しに関するアクセスが最初から再開される場合(コマンド及びアドレスが再送信される場合)と比較して、アクセス効率を高めることができる。
【0153】
さらにまた、上記の場合において、半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち一方)は、第4応答情報(ReplyD(NG))を受信した場合に、データと、データに対応する第2検査データ(CheckD)と、をメモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち他方)に再送信してもよい。これにより、データにエラーが検出された場合に、半導体記憶装置20がデータを再送信することによって、当該データの読み出しを再度行うことができる。
【0154】
また、上記の場合において、メモリコントローラ10(メモリコントローラ10及び半導体記憶装置20のうち他方)は、所定時間が経過するまで半導体記憶装置20(メモリコントローラ10及び半導体記憶装置20のうち一方)からデータが再送信されなかった場合に、データの再送信を待機するのを解除してもよい。この場合、メモリコントローラ10は、データが再送信されなかった場合に、当該データの再送信を待機するのを解除することによって、別の読み出し又は書き込みアクセスを処理することが可能になる。これにより、アクセスの処理効率を向上させることができる。
【0155】
さらに、上記実施形態では、第1検査データ(CheckA)がコマンド(Operation)及びアドレス(Address)と分けられた状態で送信される場合を一例として説明したが、本発明は、この場合に限られない。
図11に、コマンド(Operation)及びアドレス(Address)のビット割り当ての一例を示す。なお、ここでは、半導体記憶装置20がpSRAMである場合を想定している。
【0156】
図11に示す例では、外部クロック信号CLKの立ち上がりエッジ及び立ち下がりエッジ毎に8ビットのアドレスデータ信号ADQ[7]~ADQ[0]が入力される。ここで、1番目の外部クロック信号CLKの立ち上がりエッジで入力されるアドレスデータ信号ADQ[7]~ADQ[5]においてコマンド(Operation)が構成されており、1番目の外部クロック信号CLKから3番目の外部クロック信号CLKにおいて入力されるアドレスデータ信号ADQにおいてアドレス(Address[31]~Address[0])が構成されている。なお、3番目の外部クロック信号CLKの立ち上がりエッジにおいて入力されるアドレスデータ信号ADQ[7]~ADQ[0]と、3番目の外部クロック信号CLKの立ち下がりエッジにおいて入力されるアドレスデータ信号ADQ[7]~ADQ[3]と、は予約済(Reserved)領域となっているが、未使用の領域である。そこで、この予約済領域の少なくとも一部を用いて、第1検査データ(CheckA)が構成されてもよい。これにより、半導体記憶装置20は、第1検査データ(CheckA)を、アドレス(Address)と同時に受信することが可能になる。また、第1検査データ(CheckA)は、4番目以降の外部クロック信号CLKの立ち上がりエッジ又は立ち下がりエッジにおいて入力されるアドレスデータ信号ADQにおいて構成されてもよい。
【0157】
なお、
図11に示す例において、データストローブ信号RWDSは、リフレッシュが実行されることを示す第5応答情報を表すように構成されてもよい。例えば、データストローブ信号RWDSがハイレベル(H)の場合、リフレッシュが実行されることを示す第5応答情報(“Ref next”)を表してもよい。一方、データストローブ信号RWDSがローレベル(L)の場合、アドレスデータ信号ADQが直ちに送受信可能であることを示す信号(“Immediate”)を表してもよい。
【0158】
さらに、
図12に示すように、データストローブ信号RWDSは、第1応答情報(ReplyA(OK))又は第2応答情報(ReplyA(NG))を表すように構成されてもよい。例えば、4番目の外部クロック信号CLKの立ち上がりエッジにおいてデータストローブ信号RWDSの論理レベル(ハイレベル又はローレベル)が維持されている場合(“kept”)、データストローブ信号RWDSは、第1応答情報(ReplyA(OK))を表してもよい。一方、4番目の外部クロック信号CLKの立ち上がりエッジにおいてデータストローブ信号RWDSの論理レベル(ハイレベル又はローレベル)が反転した場合(“inverted”)、データストローブ信号RWDSは、第2応答情報(ReplyA(NG))を表してもよい。なお、例えば、5番目以降の外部クロック信号CLKの立ち上がりエッジ又は立ち下がりエッジにおけるデータストローブ信号RWDSの状態に応じて、第1応答情報(ReplyA(OK))又は第2応答情報(ReplyA(NG))が表されてもよい。
【0159】
また、
図1に示すメモリコントローラ10及び半導体記憶装置20の構成は一例であり、適宜変更されてもよいし、他の様々な構成が採用されてもよい。
【符号の説明】
【0160】
10…メモリコントローラ
11…要求制御部
12…シーケンス制御部
12a…シリアライザ・デシリアライザ(SerDes)
12b…エラー制御部
20…半導体記憶装置
21…シーケンス制御部
21a…シリアライザ・デシリアライザ(SerDes)
21b…エラー制御部
22…コマンド制御部
23…アドレス制御部
24…ワード線制御部
25…カラム制御部
26…データ制御部
27…データバス制御部
28…センスアンプ
29…メモリセルアレイ
【手続補正書】
【提出日】2023-04-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メモリコントローラと、
半導体記憶装置と、を備え、
前記メモリコントローラは、
コマンド及びアドレスと、前記コマンド及び前記アドレスのエラー検出用の第1検査データと、を前記半導体記憶装置に送信することと、
前記コマンド及び前記アドレスにエラーが検出されなかったことを示す第1応答情報を前記半導体記憶装置から受信した場合に、前記コマンドに基づいて前記アドレスに対して読み出し又は書き込みされるデータを前記半導体記憶装置との間で送信又は受信することと、
を行うように構成されており、
前記半導体記憶装置は、
前記コマンド及び前記アドレスと、前記第1検査データと、を前記メモリコントローラから受信した場合に、前記第1検査データを用いて前記コマンド及び前記アドレスのエラー検出を行い、前記コマンド及び前記アドレスにエラーが検出されなかった場合に前記第1応答情報を前記メモリコントローラに送信することと、
前記コマンド及び前記アドレスにエラーが検出されなかった場合に、前記コマンドに基づいて前記アドレスに対して読み出し又は書き込みされるデータを前記メモリコントローラとの間で送信又は受信することと、
を行うように構成されており、
前記メモリコントローラは、
前記半導体記憶装置に対する書き込み又は読み出し要求をホスト装置から受信すると、前記メモリコントローラと前記半導体記憶装置との間で送受信されるアドレスデータ信号の転送方式を変換するための変換信号を生成する要求制御部と、
前記変換信号に基づいて、前記アドレスデータ信号の転送方式を、シリアル転送方式とパラレル転送方式との間で変換する第1シーケンス制御部と、を備える、
メモリシステム。
【請求項2】
前記半導体記憶装置は、
前記コマンド及び前記アドレスの何れかにエラーが検出された場合に、前記コマンド及び前記アドレスの何れかにエラーが検出されたことを示す第2応答情報を前記メモリコントローラに送信するように構成されており、
前記メモリコントローラは、
前記第2応答情報を前記半導体記憶装置から受信した場合に、前記コマンド及び前記アドレスを前記半導体記憶装置に再送信するように構成されている、
請求項1に記載のメモリシステム。
【請求項3】
前記メモリコントローラ及び前記半導体記憶装置のうち一方は、
前記読み出し又は書き込みされるデータと、前記データのエラー検出用の第2検査データと、を前記メモリコントローラ及び前記半導体記憶装置のうち他方に送信するように構成されており、
前記メモリコントローラ及び前記半導体記憶装置のうち他方は、
前記データと、前記第2検査データと、を受信した場合に、前記第2検査データを用いて前記データのエラー検出を行い、前記データにエラーが検出されなかった場合に、前記データにエラーが検出されなかったことを示す第3応答情報を前記メモリコントローラ及び前記半導体記憶装置のうち一方に送信するように構成されている、
請求項1又は2に記載のメモリシステム。
【請求項4】
前記メモリコントローラ及び前記半導体記憶装置のうち他方は、
前記データにエラーが検出された場合に、前記データにエラーが検出されたことを示す第4応答情報を前記メモリコントローラ及び前記半導体記憶装置のうち一方に送信することと、
前記メモリコントローラ及び前記半導体記憶装置のうち一方から前記データが再送信されるのを所定時間が経過するまで待機することと、
を行うように構成されている、
請求項3に記載のメモリシステム。
【請求項5】
前記メモリコントローラ及び前記半導体記憶装置のうち一方は、
前記第4応答情報を受信した場合に、前記データと、前記データに対応する前記第2検査データと、を前記メモリコントローラ及び前記半導体記憶装置のうち他方に再送信するように構成されている、
請求項4に記載のメモリシステム。
【請求項6】
前記メモリコントローラ及び前記半導体記憶装置のうち他方は、
前記所定時間が経過するまで前記メモリコントローラ及び前記半導体記憶装置のうち一方から前記データが再送信されなかった場合に、前記データの再送信を待機するのを解除するように構成されている、
請求項4又は5に記載のメモリシステム。
【請求項7】
前記半導体記憶装置は、インタリーブ方式でアクセスされる複数のバンクを備える、請求項1~6の何れかに記載のメモリシステム。
【請求項8】
前記半導体記憶装置は、リフレッシュを実行するためのリフレッシュ要求信号を内部で生成するように構成されている場合であって、前記リフレッシュ要求信号が生成されてから前記リフレッシュが実行されるまでの間に前記メモリコントローラから受信した前記コマンド、前記アドレス及び前記データのうち何れかにエラーが検出された場合に、前記コマンド、前記アドレス及び前記データのうち何れかが前記メモリコントローラから再送信されることによって前記エラーが検出されなくなるまで前記リフレッシュの実行を停止するように構成されている、請求項1~7の何れかに記載のメモリシステム。
【請求項9】
前記半導体記憶装置は、リフレッシュを実行するためのリフレッシュ要求信号を内部で生成するように構成されている場合であって、前記リフレッシュ要求信号が生成されてから前記リフレッシュが実行されるまでの間に前記メモリコントローラから受信した前記コマンド、前記アドレス及び前記データのうち何れかにエラーが検出された場合に、前記リフレッシュが実行されることを示す第5応答情報を前記メモリコントローラに送信し、前記リフレッシュを実行するように構成されている、請求項1~7の何れかに記載のメモリシステム。
【請求項10】
前記半導体記憶装置は、疑似スタティックランダムアクセスメモリである、請求項1~9の何れかに記載のメモリシステム。
【請求項11】
前記第1シーケンス制御部は、
前記変換信号に基づいて前記アドレスデータ信号をシリアライズ又はデシリアライズする第1シリアライザ・デシリアライザ(SerDes)と、
前記コマンド及び前記アドレスを用いて前記第1検査データを生成する第1エラー制御部と、を備え、
前記第1SerDesは、
前記要求制御部が書き込み要求を受信した場合であって、前記要求制御部から前記変換信号が入力された場合に、書き込みコマンド及びアドレスを生成して前記第1エラー制御部に出力することと、
生成した書き込みコマンド及びアドレスに対応する前記第1検査データが前記第1エラー制御部から入力されると、生成した書き込みコマンド及びアドレスと前記第1検査データとを前記アドレスデータ信号として前記半導体記憶装置に送信することと、
生成した書き込みコマンド及びアドレスにエラーが検出されなかったことを示す第1応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合に、前記ホスト装置から受信した書き込みデータを前記第1エラー制御部に出力することと、
を行うように構成されている、請求項1~10の何れかに記載のメモリシステム。
【請求項12】
前記第1エラー制御部は、前記書き込みデータを用いて、前記書き込みデータのエラー検出用の第2検査データを生成するように構成されており、
前記SerDesは、前記第2検査データが前記第1エラー制御部から入力されると、前記第2検査データ及び前記書き込みデータを前記アドレスデータ信号として前記半導体記憶装置に送信するように構成されている、請求項11に記載のメモリシステム。
【請求項13】
前記第1エラー制御部は、前記書き込みコマンド及びアドレスの何れかにエラーが検出されたことを示す第2応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合に、前記書き込みコマンド及びアドレスと前記第1検査データとを再送信するための信号を生成するように構成されており、
前記第1SerDesは、前記第2応答情報を前記アドレスデータ信号として前記半導体記憶装置から受信した場合であって、前記書き込みコマンド及びアドレスと前記第1検査データとを再送信するための信号が前記第1エラー制御部から入力された場合に、前記書き込みコマンド及びアドレスと前記第1検査データとを前記アドレスデータ信号として前記半導体記憶装置に再送信するように構成されている、請求項11又は12に記載のメモリシステム。
【請求項14】
前記半導体記憶装置は、前記メモリコントローラとの間で送受信される前記アドレスデータ信号の転送方式を変換する第2シーケンス制御部を備え、
前記第2シーケンス制御部は、
前記アドレスデータ信号をシリアライズ又はデシリアライズする第2シリアライザ・デシリアライザ(SerDes)と、
前記メモリコントローラから受信した前記第1検査データを用いて前記コマンド及び前記アドレスのエラー検出を行う第2エラー制御部と、を備え、
前記第2SerDesは、
前記コマンド及び前記アドレスと前記第1検査データとを前記アドレスデータ信号として前記メモリコントローラから受信した場合に、前記コマンド及び前記アドレスと前記第1検査データとをシリアル転送方式に変換して前記第2エラー制御部に出力することと、
前記第1応答情報が前記第2エラー制御部から入力された場合に、前記第1応答情報をパラレル転送方式に変換して、前記第1応答情報を前記アドレスデータ信号としてメモリコントローラに出力し、前記コマンドの内容を示す信号を、前記コマンドに基づいて内部コマンドを生成するコマンド制御部に出力し、前記アドレスを示す信号を、前記アドレスに対応するワード線及びビット線を活性化するように制御するアドレス制御部に出力することと、
前記第2応答情報が前記第2エラー制御部から入力された場合に、前記第2応答情報をパラレル転送方式に変換して、前記第2応答情報を前記アドレスデータ信号として前記メモリコントローラに送信することと、
を行うように構成されている、請求項13に記載のメモリシステム。
【請求項15】
前記第2エラー制御部は、前記書き込みデータのエラー検出用の第2検査データを用いて前記書き込みデータのエラー検出を行うように構成されており、
前記第2SerDesは、
前記書き込みデータ及び前記書き込みデータのエラー検出用の第2検査データをアドレスデータ信号として前記メモリコントローラから受信した場合に、前記書き込みデータ及び前記第2検査データを前記第2エラー制御部に出力することと、
前記書き込みデータにエラーが検出されたことを示す第4応答情報が前記第2エラー制御部から入力された場合に、前記第4応答情報を前記アドレスデータ信号として前記メモリコントローラに送信することと、
を行うように構成されている、請求項14に記載のメモリシステム。