(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-10-24
(45)【発行日】2023-11-01
(54)【発明の名称】擬似スタティックランダムアクセスメモリ
(51)【国際特許分類】
G11C 11/406 20060101AFI20231025BHJP
G06F 12/00 20060101ALI20231025BHJP
【FI】
G11C11/406 350
G06F12/00 550B
G11C11/406 400
(21)【出願番号】P 2022126808
(22)【出願日】2022-08-09
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】池田 仁史
【審査官】後藤 彰
(56)【参考文献】
【文献】特開平04-143993(JP,A)
【文献】特開2020-194613(JP,A)
【文献】特開平11-167519(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 11/406
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
第1トランザクション中にメモリのリフレッシュ要求が生成された場合に、前記メモリのリフレッシュ動作を、前記第1トランザクションが終了してから前記第1トランザクションの後の第2トランザクションが開始するまでの間に、前記第1トランザクション中に生成されたリフレッシュ要求の数だけ実行するように制御する制御部を備える、
擬似スタティックランダムアクセスメモリ。
【請求項2】
前記制御部は、
前記第1トランザクション中に生成されたリフレッシュ要求の数をカウントする第1カウンタと、
前記第1トランザクションが終了してから前記第2トランザクションが開始するまでの間に実行されたリフレッシュ動作の数をカウントする第2カウンタと、を備え、
前記第2カウンタによってカウントされたリフレッシュ動作の数が、前記第1カウンタによってカウントされたリフレッシュ要求の数に達するまで、リフレッシュ動作を実行するように制御する、
請求項1に記載の擬似スタティックランダムアクセスメモリ。
【請求項3】
前記制御部は、
前記第1カウンタによってカウントされたリフレッシュ要求の数と、前記第2カウンタによってカウントされたリフレッシュ動作の数と、を比較するコンパレータを備える、
請求項2に記載の擬似スタティックランダムアクセスメモリ。
【請求項4】
前記制御部による制御に基づいて、リフレッシュ動作を実行するためのリフレッシュコマンドを生成するコマンド生成部を備え、
前記コマンド生成部は、前記リフレッシュコマンドを生成する毎に、前記リフレッシュコマンドを前記第2カウンタに出力する、
請求項2に記載の擬似スタティックランダムアクセスメモリ。
【請求項5】
前記コマンド生成部は、前記第1トランザクション中に、メモリセルアレイに対してデータのアクセスを行うためのアクセスコマンドを生成する、
請求項4に記載の擬似スタティックランダムアクセスメモリ。
【請求項6】
リフレッシュ制御信号が、前記第1トランザクションが終了してから前記第2トランザクションが開始するまでの間に前記制御部から入力される毎に、前記リフレッシュ制御信号を前記コマンド生成部に出力するアービタを備え、
前記コマンド生成部は、前記リフレッシュ制御信号が入力される毎に前記リフレッシュコマンドを生成する、
請求項4に記載の擬似スタティックランダムアクセスメモリ。
【請求項7】
インタリーブ方式でアクセスされる複数のメモリバンクを備え、
前記制御部は、
前記第1トランザクションにおいて前記複数のメモリバンクのうち選択されたメモリバンクがアクセスされている場合であって、前記第1トランザクション中にメモリのリフレッシュ要求が生成された場合に、
前記選択されたメモリバンクにおけるリフレッシュ動作を、前記第1トランザクションが終了してから前記第2トランザクションが開始するまでの間に、前記第1トランザクション中に生成されたリフレッシュ要求の数だけ実行するように制御し、
前記複数のメモリバンクのうち前記選択されたメモリバンク以外の他のメモリバンクにおけるリフレッシュ動作を、生成されたリフレッシュ要求に応じて前記第1トランザクション中に実行するように制御する、
請求項1に記載の擬似スタティックランダムアクセスメモリ。
【請求項8】
前記複数のメモリバンクの各々は、前記制御部を備える、
請求項7に記載の擬似スタティックランダムアクセスメモリ。
【請求項9】
前記擬似スタティックランダムアクセスメモリは、クロック信号に同期して信号が入力又は出力されるクロック同期型の擬似スタティックランダムアクセスメモリである、
請求項1~8の何れかに記載の擬似スタティックランダムアクセスメモリ。
【請求項10】
前記擬似スタティックランダムアクセスメモリは、アドレスデータマルチプレックスインタフェース型の擬似スタティックランダムアクセスメモリである、
請求項1~8の何れかに記載の擬似スタティックランダムアクセスメモリ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、擬似スタティックランダムアクセスメモリ(pSRAM:pseudo-Static Random Access Memory)に関する。
【背景技術】
【0002】
pSRAMは、SRAM(Static Random Access Memory)と互換性を有するインタフェースを備えた半導体記憶装置である(例えば、特許文献1)。
【0003】
図1を参照して、従来のpSRAMにおけるリフレッシュ動作の一例を説明する。
図1に示す例では、チップセレクト信号CS#がネゲート(ハイレベル)からアサート(ローレベル)に移行すると読み出し又は書き込みトランザクションが開始される。そして、メモリセルアレイに対するデータのアクセスを行うためのアクセス信号RD/WRがネゲート(ローレベル)からアサート(ハイレベル)に移行することによって、メモリセルアレイに対するデータの読み出し又は書き込みアクセスが行われる。その後、チップセレクト信号CS#がアサート(ローレベル)からネゲート(ハイレベル)に移行すると読み出し又は書き込みトランザクションが終了する。そして、アクセス信号RD/WRがアサート(ハイレベル)からネゲート(ローレベル)に移行することによって、メモリセルアレイに対するデータの読み出し又は書き込みアクセスが終了する。
【0004】
また、pSRAMの内部では、リフレッシュ動作を要求するためのリフレッシュ要求信号Ref requestが所定の生成間隔tREFI毎に生成されるようになっている。ここで、pSRAMは、チップセレクト信号CS#がネゲート(ハイレベル)されている間にリフレッシュ要求信号Ref requestが生成される(ハイレベルになる)と、リフレッシュ動作を行うためのリフレッシュ信号REFが直ちにアサート(ハイレベル)されることによって、リフレッシュ動作を行うように構成されている。一方、pSRAMは、チップセレクト信号CS#がアサート(ローレベル)されている間(読み出し又は書き込みアクセス中)にリフレッシュ要求信号Ref requestが生成された(ハイレベルになる)場合には、読み出し又は書き込みアクセスが行われているため、リフレッシュ動作の実行を待機する。そして、pSRAMは、チップセレクト信号CS#がネゲート(ハイレベル)され、アクセス信号RD/WRがアサート(ハイレベル)からネゲート(ローレベル)に移行すると、リフレッシュ動作を行う。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
このようなpSRAMでは、チップセレクト信号CS#がアサート(ローレベル)されている期間tCSLがリフレッシュ要求信号Ref requestの生成間隔tREFIよりも長い場合(即ち、tCSL>tREFI)に、リフレッシュ要求が無視されることによってリフレッシュ動作が行われなくなる虞がある。例えば、
図1に示す例では、チップセレクト信号CS#がアサート(ローレベル)されている期間tCSLにおいて2つのリフレッシュ要求信号Ref requestが生成されているが、チップセレクト信号CS#がネゲート(ハイレベル)されている間にはリフレッシュ動作を1回しか実行することができず、2つ目のリフレッシュ要求が無視されることになる。これにより、トランザクション中に生成された1つ以上のリフレッシュ要求の各々に応じてリフレッシュ動作が行われないので、データを保持することが困難になる場合がある。
【0007】
一方、tCSL<tREFIである場合には、リフレッシュ要求が無視されるのを抑制することが可能になる。しかしながら、この場合には、チップセレクト信号CS#がアサート(ローレベル)されている期間tCSLが短くなるので、1つのトランザクションで送受信可能なデータ量が低減する。これにより、データ転送レートが低下する虞がある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、第1トランザクション中にメモリのリフレッシュ要求が生成された場合に、前記メモリのリフレッシュ動作を、前記第1トランザクションが終了してから前記第1トランザクションの後の第2トランザクションが開始するまでの間に、前記第1トランザクション中に生成されたリフレッシュ要求の数だけ実行するように制御する制御部を備える、擬似スタティックランダムアクセスメモリを提供する。
【0009】
かかる発明によれば、第1トランザクションが終了してから第2トランザクションが開始するまでの間に、リフレッシュ動作が、第1トランザクション中に生成されたリフレッシュ要求の数だけ実行される。これにより、例えば、チップセレクト信号がアサート(ローレベル)されている期間がリフレッシュ要求信号の生成間隔よりも長い場合であっても、第1トランザクション中に生成された1つ以上のリフレッシュ要求の各々に応じてリフレッシュ動作を確実に実行することができる。よって、データ保持特性を維持することができる。
【発明の効果】
【0010】
本発明の擬似スタティックランダムアクセスメモリによれば、トランザクション中に生成された1つ以上のリフレッシュ要求の各々に応じてリフレッシュ動作を確実に実行することができる。
【図面の簡単な説明】
【0011】
【
図1】従来のpSRAM内の信号の時間推移の一例を示すタイムチャートである。
【
図2】本発明の第1実施形態に係るpSRAMの構成例を示すブロック図である。
【
図3】第1実施形態に係るpSRAM内の信号の時間推移の一例を示すタイムチャートである。
【
図4】本発明の第2実施形態に係るpSRAMの構成例を示すブロック図である。
【
図5】第2実施形態に係るpSRAM内の信号の時間推移の一例を示すタイムチャートである。
【発明を実施するための形態】
【0012】
(第1実施形態)
図2は、本発明の第1実施形態に係るpSRAM(擬似スタティックランダムアクセスメモリ)10の構成例を示すブロック図である。pSRAM10は、第1トランザクション中にメモリのリフレッシュ要求信号Ref_requestが生成された場合に、メモリのリフレッシュ動作を、第1トランザクションが終了してから第1トランザクションの後の第2トランザクションが開始するまでの間に、第1トランザクション中に生成されたリフレッシュ要求信号Ref_requestの数だけ実行するように構成されている。
【0013】
また、本実施形態に係るpSRAMは、クロック信号に同期して信号が入力又は出力されるクロック同期型の擬似スタティックランダムアクセスメモリであってもよい。さらに、本実施形態に係るpSRAMは、アドレス信号及びデータ信号の各々が入力されるように構成されたアドレスデータ端子を有するアドレスデータマルチプレックスインタフェース型のpSRAMであってもよい。
【0014】
図2に示すように、pSRAM10は、オシレータ11と、制御部12と、アービタ13と、コマンド生成部14と、を備える。
【0015】
オシレータ11は、リフレッシュ要求信号Ref_requestを所定間隔(例えば、
図1に示す生成間隔tREFI)毎に生成して、制御部12に出力する。
【0016】
制御部12は、カウンタ12aと、カウンタ12bと、コンパレータ12cと、インバータ12dと、AND回路12eと、を備える。
【0017】
カウンタ12aは、リフレッシュ要求信号Ref_requestの数をカウントするように構成されている。具体的に説明すると、カウンタ12aは、リフレッシュ要求信号Ref_requestがオシレータ11から入力される毎に、入力されたリフレッシュ要求信号Ref_requestの数をカウントする。そして、カウンタ12aは、リフレッシュ要求信号Ref_requestの数を示す信号Cnt_reqをコンパレータ12cに出力する。
【0018】
なお、信号Cnt_reqの値は、例えば、トランザクションが開始する(チップセレクト信号CS#がネゲート(ハイレベル)からアサート(ローレベル)に移行する)毎に、初期値(例えば、0)にリセットされてもよい。
【0019】
カウンタ12bは、第1トランザクションが終了してから第2トランザクションが開始するまでの間に実行されたリフレッシュ動作の数をカウントするように構成されている。具体的に説明すると、カウンタ12bは、リフレッシュ動作を実行するためのリフレッシュ信号REFがコマンド生成部14から入力される毎に、入力されたリフレッシュ信号REFの数をカウントする。そして、カウンタ12bは、リフレッシュ信号REFの数を示す信号Cnt_exeをコンパレータ12cに出力する。
【0020】
なお、信号Cnt_exeの値は、例えば、トランザクションが終了する(チップセレクト信号CS#がアサート(ローレベル)からネゲート(ハイレベル)に移行する)毎に、初期値(例えば、0)にリセットされてもよい。
【0021】
コンパレータ12cは、カウンタ12aによってカウントされたリフレッシュ要求信号Ref_requestの数と、カウンタ12bによってカウントされたリフレッシュ信号REFの数と、を比較するように構成されている。具体的に説明すると、コンパレータ12cは、カウンタ12aから入力された信号Cnt_reqの値と、カウンタ12bから入力された信号Cnt_exeの値と、を比較する。そして、コンパレータ12cは、Cnt_req>Cnt_exeの場合に、ハイレベルの出力信号をAND回路12eに出力する。一方、コンパレータ12cは、Cnt_req≦Cnt_exeの場合に、ローレベルの出力信号をAND回路12eに出力する。
【0022】
インバータ12dは、コマンド生成部14から入力されたリフレッシュ信号REFを論理反転し、論理反転した信号をAND回路12eに出力する。
【0023】
AND回路12eの一方の入力端子には、コンパレータ12cから出力された出力信号が入力される。また、AND回路12eの他方の入力端子には、インバータ12dから出力された信号が入力される。AND回路12eは、入力された信号に基づいてAND演算を行い、演算結果となる信号Cmp_refをアービタ13に出力する。ここで、信号Cmp_refは、本発明の「リフレッシュ制御信号」の一例である。
【0024】
アービタ13は、チップセレクト信号CS#と信号Cmp_refとの間でアービトレート(調停)を行い、信号Cmp_refをコマンド生成部14に出力するタイミングを調整する。また、本実施形態において、アービタ13は、リフレッシュ制御信号(信号Cmp_ref)が、第1トランザクションが終了してから第2トランザクションが開始するまでの間に制御部12から入力される毎に、リフレッシュ制御信号(信号Cmp_ref)をコマンド生成部14に出力するように構成されている。
【0025】
具体的に説明すると、アービタ13は、チップセレクト信号CS#がネゲート(ハイレベル)されている場合(つまり、第1トランザクションが終了してから第2トランザクションが開始するまでの間)にハイレベルの信号Cmp_refが制御部12から入力されると、ハイレベルの信号Cmp_refをコマンド生成部14に出力してもよい。また、アービタ13は、チップセレクト信号CS#がアサート(ローレベル)されている間(つまり、トランザクション中)にハイレベルの信号Cmp_refが制御部12から入力された場合には、ハイレベルの信号Cmp_refをコマンド生成部14に出力しなくてもよい。
【0026】
コマンド生成部14は、制御部12による制御に基づいて、リフレッシュ動作を実行するためのリフレッシュ信号REFを生成する。また、コマンド生成部14は、リフレッシュ信号REFを生成する毎に、リフレッシュ信号REFをカウンタ12bに出力する。具体的に説明すると、コマンド生成部14は、チップセレクト信号CS#がネゲート(ハイレベル)されている場合であって、メモリセルアレイに対してデータのアクセスを行うためのアクセス信号RD/WRがローレベルの場合に、ハイレベルの信号Cmp_refがアービタ13から入力されると、ハイレベルのリフレッシュ信号REFを生成して、メモリセルアレイ(図示省略)と、制御部12のカウンタ12b及びインバータ12dと、に出力する。
【0027】
また、コマンド生成部14は、各トランザクション中(チップセレクト信号CS#がアサート(ローレベル)されている間)に外部から読み出し又は書き込みコマンドが入力されると、ハイレベルのアクセス信号RD/WRを生成して、メモリセルアレイに出力する。
【0028】
なお、ハイレベルのリフレッシュ信号REFがメモリセルアレイに入力されるとメモリのリフレッシュ動作が実行され、ハイレベルのアクセス信号RD/WRがメモリセルアレイに入力されるとメモリセルアレイに対するデータの読み出し又は書き込み処理が行われる。
【0029】
次に、本実施形態に係るpSRAMにおけるリフレッシュ動作について
図3を参照して説明する。なお、ここでは、チップセレクト信号CS#がアサート(ローレベル)されている期間tCSLがリフレッシュ要求信号Ref_requestの生成間隔tREFIよりも長い場合を一例として説明する。
【0030】
先ず、チップセレクト信号CS#がネゲート(ハイレベル)からアサート(ローレベル)に移行して最初のトランザクションが開始した後に外部から読み出し又は書き込みコマンドが入力されると、コマンド生成部14は、ハイレベルのアクセス信号RD/WRを生成してメモリセルアレイに出力する。
【0031】
ここで、時刻t1において、ハイレベルのリフレッシュ要求信号Ref_requestがオシレータ11によって生成されると、制御部12のカウンタ12aは、リフレッシュ要求信号Ref_requestをカウントするカウント値を0から1に増加させ、カウント値が1であることを示す信号Cnt_reqをコンパレータ12cに出力する。また、コンパレータ12cは、信号Cnt_reqの値と信号Cnt_exeの値(ここでは、0である場合を想定している)とを比較し、信号Cnt_reqの値が信号Cnt_exeの値よりも大きいことから、ハイレベルの出力信号をAND回路12eに出力する。さらに、AND回路12eは、コンパレータ12cからの出力信号とインバータ12dから出力された信号(最初のリフレッシュ信号REFがローレベルであるため、インバータ12dから出力された信号がハイレベルとなる)とのAND演算を行い、ハイレベルの信号Cmp_refをアービタ13に出力する。
【0032】
ここで、時刻t1ではチップセレクト信号CS#がアサート(ローレベル)されているので、アービタ13は、受信したハイレベルの信号Cmp_refをコマンド生成部14に出力しない。また、コマンド生成部14は、上述したように、ハイレベルのアクセス信号RD/WRを生成してメモリセルアレイに出力する。
【0033】
次に、時刻t1から所定の間隔tREFI後の時刻t2において、ハイレベルのリフレッシュ要求信号Ref_requestがオシレータ11によって生成されると、制御部12のカウンタ12aは、カウント値を1から2に増加させ、カウント値が2であることを示す信号Cnt_reqをコンパレータ12cに出力する。また、コンパレータ12cは、信号Cnt_reqの値が信号Cnt_exeの値よりも大きいことから、ハイレベルの出力信号をAND回路12eに出力する。さらに、AND回路12eは、時刻t1の場合と同様に、ハイレベルの信号Cmp_refをアービタ13に出力する。そして、時刻t2におけるアービタ13及びコマンド生成部14の動作は、時刻t1の場合と同様である。
【0034】
時刻t2の後にチップセレクト信号CS#がアサート(ローレベル)からネゲート(ハイレベル)に移行すると、アービタ13は、ハイレベルの信号Cmp_refをコマンド生成部14に出力する。一方、コマンド生成部14は、時刻t3においてアクセス信号RD/WRがローレベルになると、時刻t4において、アービタ13から入力されたハイレベルの信号Cmp_refに応じてハイレベルのリフレッシュ信号REFを生成して、メモリセルアレイと、制御部12のカウンタ12b及びインバータ12dと、に出力する。
【0035】
制御部12のカウンタ12bは、ハイレベルのリフレッシュ信号REFが入力されると、カウント値を0から1に増加させ、カウント値が1であることを示す信号Cnt_exeをコンパレータ12cに出力する。なお、時刻t4では、依然として、信号Cnt_reqの値が信号Cnt_exeの値よりも大きいことから、コンパレータ12cは、ハイレベルの出力信号をAND回路12eに出力する。なお、AND回路12eから出力される信号Cmp_refは、ハイレベルのリフレッシュ信号REFがコマンド生成部14から出力されている場合にローレベルとなるが、リフレッシュ動作が終了してリフレッシュ信号REFがローレベルになると再びハイレベルになる。このとき、アービタ13は、ハイレベルの信号Cmp_refをコマンド生成部14に出力する。
【0036】
そして、時刻t4から期間tRFC(リフレッシュ間隔)が経過した後の時刻t5において、コマンド生成部14は、アービタ13から入力されたハイレベルの信号Cmp_refに応じて再びハイレベルのリフレッシュ信号REFを生成して、メモリセルアレイと、制御部12のカウンタ12b及びインバータ12dと、に出力する。ここで、制御部12のカウンタ12bは、ハイレベルのリフレッシュ信号REFが入力されると、カウント値を1から2に増加させ、カウント値が2であることを示す信号Cnt_exeをコンパレータ12cに出力する。また、コンパレータ12cは、信号Cnt_reqの値と信号Cnt_exeの値とが等しいことから、ローレベルの出力信号をAND回路12eに出力する。この場合、信号Cmp_refがローレベルになり、その後、リフレッシュ信号REFが再びローレベルに移行すると、AND回路12eから出力された信号Cmp_refがローレベルを維持する。そして、トランザクション中に生成された2つのリフレッシュ要求信号Ref_requestに応じた2回のリフレッシュ動作を実行した後に終了する。
【0037】
なお、
図3に示す例では、チップセレクト信号CS#がローレベルからハイレベルに移行してから期間tCSHが経過した後に再びローレベルになり、第2のトランザクションが開始される。しかし、この例では、第2のトランザクションが開始された時点では、2回目のリフレッシュ動作が行われている最中である。従って、コマンド生成部14は、第2のトランザクションの開始に応じてアクセス信号RD/WRをアサート(ハイレベル)するのを、2回目のリフレッシュ動作が終了する(2つ目のリフレッシュ信号REFがローレベルに移行する)まで待機してもよい。
【0038】
上述したように、本実施形態のpSRAMによれば、例えば、チップセレクト信号CS#がアサート(ローレベル)されている期間tCSLがリフレッシュ要求信号Ref_requestの生成間隔tREFIよりも長い場合であっても、トランザクション中に生成された1つ以上のリフレッシュ要求の各々に応じてリフレッシュ動作を確実に実行することができる。また、この場合には、データ転送レートの低下を抑制することができるとともに、データ保持特性を維持することができる。
【0039】
(第2実施形態)
以下、本発明の第2実施形態について説明する。本実施形態のpSRAMは、インタリーブ方式でアクセスされる複数のメモリバンクを備える点において第1実施形態と異なっている。以下、第1実施形態と異なる構成について説明する。
【0040】
本実施形態において、pSRAM10は、
図4に示すように、インタリーブ方式でアクセスされる複数(例えば、n個(nは、2以上の整数))のメモリバンク20を備える。各メモリバンク20は、制御部12と、アービタ13と、コマンド生成部14と、を備える。
【0041】
本実施形態において、各メモリバンク20の制御部12は、第1トランザクションにおいて複数のメモリバンク20のうち選択されたメモリバンク20がアクセスされている場合であって、第1トランザクション中にメモリのリフレッシュ要求が生成された場合に、当該選択されたメモリバンク20におけるリフレッシュ動作を制御する。具体的には、第1トランザクションが終了した後に、メモリバンク20の制御部12は、第1トランザクション中に生成されたリフレッシュ要求信号Ref_requestの数のリフレッシュ動作を実行するように制御し、選択されたメモリバンク20以外の他のメモリバンク20の制御部12は、第1トランザクションにおいて、他のメモリバンク20の制御部12におけるリフレッシュ動作を、生成されたリフレッシュ要求信号Ref_requestに応じて実行するように制御する。
【0042】
例えば、第1トランザクションにおいて、複数のメモリバンク20のうちi番目(0≦i≦n-1)のメモリバンク20がアクセスされている場合であって、第1トランザクション中にメモリのリフレッシュ要求が生成された場合には、i番目のメモリバンク20では、第1トランザクションが終了した後に、第1トランザクション中に生成されたリフレッシュ要求信号Ref_requestの数のリフレッシュ動作が実行される。一方、複数のメモリバンク20のうちi番目以外のメモリバンク20におけるリフレッシュ動作は、生成されたリフレッシュ要求信号Ref_requestに応じて第1トランザクション中に実行される。
【0043】
本実施形態は、複数のメモリバンク20をインターリーブパターンでアクセスすることに留意されたい。したがって、一例では、第1トランザクションが終了した後にi番目のメモリバンク20に対してリフレッシュ動作を実行する際に、他のメモリバンク20へのアクセスを同時に実行することができ、これにより、pSRAMの処理性能を向上させることができる。しかし、別の例では、本発明は、第1実施形態で示したように、第1トランザクションの終了から第2トランザクションの開始までの間に、i番目のメモリバンク20に対するリフレッシュ動作のみを実行し、i番目のメモリバンク20に対するリフレッシュ動作が終了した後に第2トランザクションを開始することが可能である。
【0044】
本実施形態において、各メモリバンク20のアービタ13は、チップセレクト信号CS#及び信号Cmp_refに加えて、バンクアドレス信号Bank addressが入力される。この場合、アービタ13は、入力されたバンクアドレス信号Bank addressが、自身が設けられているメモリバンクを示している場合に、第1実施形態と同様に動作してもよい。なお、バンクアドレス信号Bank addressは、例えば、pSRAM10内に設けられたアドレスデコーダ回路(図示省略)等によって生成されてもよい。
【0045】
また、本実施形態において、各メモリバンク20のコマンド生成部14は、チップセレクト信号CS#及び信号Cmp_refに加えて、バンクアドレス信号Bank addressが入力される。この場合、コマンド生成部14は、入力されたバンクアドレス信号Bank addressが、自身が設けられているメモリバンクを示している場合に、第1実施形態と同様に動作してもよい。
【0046】
本実施形態に係るpSRAMの動作について
図5を参照して説明する。なお、ここでは、第1トランザクションにおいて0番目(i=0)のメモリバンク20がアクセスされ、第2トランザクションにおいて1番目(i=1)のメモリバンク20がアクセスされる場合を一例として説明する。
【0047】
ここで、第1トランザクションにおいて0番目(i=0)のメモリバンク20がアクセスされている場合の0番目のメモリバンク20の制御部12、アービタ13及びコマンド生成部14の時刻t11、t12、t13、t14、t15の各々における動作は、
図2に示す時刻t1、t2、t3、t4、t5の各々における制御部12、アービタ13及びコマンド生成部14の動作と同様である。すなわち、
図5に示す0番目のメモリバンク20のアクセス信号RD/WR_0、リフレッシュ信号REF_0、信号Cnt_req_0、信号Cnt_exe_0、信号Cmp_ref_0の各々は、
図2に示すアクセス信号RD/WR、リフレッシュ信号REF、信号Cnt_req、信号Cnt_exe、信号Cmp_refの各々と同様である。
【0048】
これにより、第1トランザクション中にメモリのリフレッシュ要求が生成された場合には、0番目のメモリバンク20におけるリフレッシュ動作が、第1トランザクションが終了してから第2トランザクションが開始するまでの間に、第1トランザクション中に生成されたリフレッシュ要求信号Ref_requestの数(図の例では、2回)だけ実行される。
【0049】
次に、第1トランザクション中の1番目(i=1)のメモリバンク20におけるリフレッシュ動作について説明する。先ず、チップセレクト信号CS#がネゲート(ハイレベル)からアサート(ローレベル)に移行して第1トランザクションが開始した場合、1番目のメモリバンク20のコマンド生成部14は、1番目のメモリバンク20がアクセス対象ではないため、ローレベルのアクセス信号RD/WRを生成してメモリセルアレイに出力する。
【0050】
時刻t11において、ハイレベルのリフレッシュ要求信号Ref_requestがオシレータ11によって生成されると、1番目のメモリバンク20のカウンタ12aは、カウント値を0から1に増加させ、カウント値が1であることを示す信号Cnt_req_1をコンパレータ12cに出力する。また、1番目のメモリバンク20のコンパレータ12cは、信号Cnt_req_1の値と信号Cnt_exe_1の値(ここでは、0である場合を想定している)とを比較し、信号Cnt_req_1の値が信号Cnt_exe_1の値よりも大きいことから、ハイレベルの出力信号を1番目のメモリバンク20のAND回路12eに出力する。さらに、1番目のメモリバンク20のAND回路12eは、コンパレータ12cからの出力信号とインバータ12dから出力された信号(リフレッシュ信号REF_1がローレベルであるため、ハイレベルとなる)とのAND演算を行い、ハイレベルの信号Cmp_ref_1を1番目のメモリバンク20のアービタ13に出力する。
【0051】
時刻t11では、1番目のメモリバンク20がアクセス対象ではないので、アービタ13は、ハイレベルの信号Cmp_ref_1をコマンド生成部14に出力する。また、1番目のメモリバンク20のコマンド生成部14は、アービタ13から入力されたハイレベルの信号Cmp_ref_1に応じてハイレベルのリフレッシュ信号REF_1を生成して、メモリセルアレイと、1番目のメモリバンク20のカウンタ12b及びインバータ12dと、に出力する。これにより、第1トランザクション中に1番目のメモリバンク20において1回目のリフレッシュ動作が行われる。
【0052】
1番目のメモリバンク20のカウンタ12bは、ハイレベルのリフレッシュ信号REF_1が入力されると、カウント値を0から1に増加させ、カウント値が1であることを示す信号Cnt_exe_1をコンパレータ12cに出力する。この場合、信号Cnt_req_1の値が信号Cnt_exe_1の値と等しくなることから、1番目のメモリバンク20のコンパレータ12cは、ローレベルの出力信号をAND回路12eに出力する。これにより、1番目のメモリバンク20のAND回路12eから出力される信号Cmp_ref_1は、ローレベルとなる。
【0053】
次に、時刻t12において、ハイレベルのリフレッシュ要求信号Ref_requestがオシレータ11によって生成されると、1番目のメモリバンク20の制御部12、アービタ13及びコマンド生成部14は、時刻t11における動作と同様に動作する。これにより、第1トランザクション中に1番目のメモリバンク20において2回目のリフレッシュ動作が行われる。
【0054】
なお、複数のメモリバンク20のうち0番目のメモリバンク20以外の全てのメモリバンク20は、1番目のメモリバンク20と同様にリフレッシュ動作を行うことが可能である。
【0055】
このようにして、第1トランザクション中にメモリのリフレッシュ要求が生成された場合には、複数のメモリバンク20のうち0番目以外のメモリバンク20におけるリフレッシュ動作は、生成されたリフレッシュ要求信号Ref_requestに応じて第1トランザクション中に実行される。
【0056】
上述したように、本実施形態のpSRAMによれば、第1トランザクションにおいてアクセス対象となる選択されたメモリバンク20(0番目のメモリバンク20)については、第1トランザクションが終了してから第2トランザクションが開始するまでの間に、第1トランザクション中に生成されたリフレッシュ要求の数だけリフレッシュ動作を実行することが可能になる。一方、第1トランザクションにおいて選択されなかったメモリバンク20(1番目のメモリバンク20)については、第1トランザクション中にリフレッシュ要求が生成されると直ちにリフレッシュ動作を実行することが可能になる。これにより、複数のメモリバンク20の各々におけるリフレッシュ動作を、トランザクションにおける選択されたメモリバンク20となっているか否かに応じて適切に実行することができる。また、この場合には、(0番目のメモリバンク20に対する)第1トランザクションが終了してから(1番目のメモリバンク20に対する)第2トランザクションが開始するまでの期間tCSHを短くすることが可能になるので、pSRAMの処理性能を向上させることが可能になる。
【0057】
以上説明した各実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記各実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0058】
例えば、上述した各実施形態では、
図2及び
図4に示すように、制御部12が、カウンタ12aと、カウンタ12bと、コンパレータ12cと、インバータ12dと、AND回路12eと、を備える場合を一例として説明したが、制御部12の構成は適宜変更されてもよいし、他の様々な構成が採用されてもよい。
【0059】
また、上述した第2実施形態では、制御部12が複数のメモリバンク20の各々に設けられている場合を一例として説明したが、本発明はこの場合に限定されない。例えば、pSRAM10に設けられた1つ制御部12が、各メモリバンク20におけるリフレッシュ動作を制御してもよい。
【0060】
さらに、上述した第2実施形態では、制御部12、アービタ13及びコマンド生成部14が複数のメモリバンク20の各々に設けられている場合を一例として説明したが、本発明はこの場合に限定されない。例えば、制御部12、アービタ13及びコマンド生成部14が1つずつ設けられており、制御部12、アービタ13及びコマンド生成部14を用いて、各メモリバンク20におけるリフレッシュ動作を制御してもよい。
【符号の説明】
【0061】
10…擬似スタティックランダムアクセスメモリ(pSRAM)
11…オシレータ
12…制御部
12a…カウンタ
12b…カウンタ
12c…コンパレータ
13…アービタ
14…コマンド生成部
20…メモリバンク
【要約】
【課題】トランザクション中に生成された1つ以上のリフレッシュ要求の各々に応じてリフレッシュ動作を確実に実行することの可能な擬似スタティックランダムアクセスメモリを提供する。
【解決手段】擬似スタティックランダムアクセスメモリは、第1トランザクション中にメモリのリフレッシュ要求が生成された場合に、メモリのリフレッシュ動作を、第1トランザクションが終了してから第1トランザクションの後の第2トランザクションが開始するまでの間に、第1トランザクション中に生成されたリフレッシュ要求の数だけ実行するように制御する制御部10を備える。
【選択図】
図2