JP6493062B2 - メモリコントローラ、メモリシステムおよび情報処理システム - Google Patents

メモリコントローラ、メモリシステムおよび情報処理システム Download PDF

Info

Publication number
JP6493062B2
JP6493062B2 JP2015146670A JP2015146670A JP6493062B2 JP 6493062 B2 JP6493062 B2 JP 6493062B2 JP 2015146670 A JP2015146670 A JP 2015146670A JP 2015146670 A JP2015146670 A JP 2015146670A JP 6493062 B2 JP6493062 B2 JP 6493062B2
Authority
JP
Japan
Prior art keywords
request
memory device
data
read
sense
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015146670A
Other languages
English (en)
Other versions
JP2017027439A (ja
Inventor
晴彦 寺田
晴彦 寺田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2015146670A priority Critical patent/JP6493062B2/ja
Priority to US15/736,058 priority patent/US10199102B2/en
Priority to PCT/JP2016/063222 priority patent/WO2017018013A1/ja
Publication of JP2017027439A publication Critical patent/JP2017027439A/ja
Application granted granted Critical
Publication of JP6493062B2 publication Critical patent/JP6493062B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0076Write operation performed depending on read result
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本技術は、メモリシステムに関する。詳しくは、メモリ装置を制御するメモリコントローラ、メモリ装置を含むメモリシステムおよび情報処理システムに関する。
近年、NANDフラッシュメモリ等に比べてより高速にデータ書換えが可能な不揮発性メモリとして、抵抗変化型メモリ(ReRAM:Resistive RAM)が注目されている。ReRAMを用いたメモリ装置の特性として、そのメモリ装置の読出しは、非常に高速であり、読出し命令を発行後、一定の遅延時間で読出しを行うことができる(例えば、特許文献1参照。)。一方、そのメモリ装置の書込みは、読出しより遅延時間が大きく、しかも遅延時間が一定でない。これは、書込みが正常に行われたか否かのチェックと、正常に書き込まれていないビットに対する再書込みを、メモリ装置の内部で自動的に行うためである。一回で書込みが正常に行われていれば遅延時間は短く、再書込みを行うと遅延時間は長くなる。このような特徴をもつメモリ装置において、書込み命令の送信後に、メモリ装置の状態を示す信号を参照し、書込み完了を示す状態信号を受信した後に次の命令を送信する、といった制御方法を用いることが知られている(例えば、特許文献2参照。)。
特開2000−215663号公報 特開2012−043496号公報
上述の従来技術では、書込み完了を示す状態信号を受信した後に次の命令を送信するように制御している。しかしながら、この場合、メモリ装置内部で書込み処理が終了してから、状態信号をコントローラに送信して、コントローラが受信するまでの間は、メモリ装置にアクセスが行われていない、いわゆる遅延オーバヘッドが生じてしまう。また、コントローラが状態信号を受信し、次の命令をメモリ装置に送信して、メモリ装置が受信するまでの間も同様である。
本技術はこのような状況に鑑みて生み出されたものであり、メモリ装置における遅延オーバヘッドを解消することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、メモリ装置からのデータ読出しを要求するリードコマンドを受け付けるコマンド受付部と、上記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って上記メモリ装置に発行する第1のモードと、上記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に上記先行リクエストの完了から所定時間経過後に上記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを上記メモリ装置に発行する第2のモードとの何れかを上記メモリ装置の状態に応じて選択する制御部と、上記制御部によって選択された上記第1または第2のモードに従って上記メモリ装置に上記リードリクエストまたは上記センスリクエストおよび上記データアウトリクエストを発行するリクエスト発行部とを具備するメモリコントローラである。これにより、リードコマンドに対するリクエストをメモリ装置の状態に応じて使い分けるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記リードリクエストにより読み出されたデータを上記リードリクエストが発行されてから所定のセンス時間経過後に受信するよう制御し、上記メモリ装置からの所定のステータス信号を受信した後に上記データアウトリクエストを発行するよう制御し、上記センスリクエストにより読み出されたデータを上記データアウトリクエストが発行された直後に受信するよう制御するようにしてもよい。これにより、メモリ装置からの所定のステータス信号を契機としてオーバヘッドを生じることなくデータを取得するという作用をもたらす。
また、この第1の側面において、上記制御部は、上記メモリ装置が所定のメモリアクセスを処理中である場合には上記第2のモードを選択し、上記メモリ装置が上記所定のメモリアクセスを処理中でない場合には上記第1のモードを選択するようにしてもよい。これにより、メモリ装置のメモリアクセス処理の状態に応じて、リードコマンドに対するリクエストを使い分けるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記メモリ装置が所定のメモリアクセスを処理中で、かつ、上記第2のモードによる読出し処理中でない場合には上記第2のモードを選択し、それ以外の場合には上記第1のモードを選択するようにしてもよい。これにより、メモリ装置において先行する2つのリクエストの処理の状態に応じて、リードコマンドに対するリクエストを使い分けるという作用をもたらす。
また、この第1の側面において、上記所定のメモリアクセスは、上記メモリ装置における処理時間が非決定的な値を示すものであってもよい。先行するメモリアクセスの処理時間が非決定的であっても、オーバヘッドを生じることなくデータを取得するという作用をもたらす。
また、この第1の側面において、上記センスリクエストは、高精度なデータ読出しを指示するロングセンスリクエストであり、上記制御部は、上記リードコマンドの読出し対象アドレスが所定の範囲にある場合には上記第1のモードを選択し、上記読出し対象アドレスが上記所定の範囲にない場合には上記第2のモードを選択するようにしてもよい。これにより、読出し対象アドレスの範囲に応じてリードコマンドに対するリクエストを使い分けるという作用をもたらす。
また、この第1の側面において、上記リクエスト発行部は、上記第1のモードによる読出しの結果として訂正不可能なエラーが発生した場合にはさらに上記第2のモードによって上記センスリクエストおよび上記データアウトリクエストを発行するようにしてもよい。これにより、訂正不可能なエラーが発生した場合において高精度なデータ読出しを行うという作用をもたらす。
また、この第1の側面において、上記リクエスト発行部は、上記第1のモードによる読出しの結果として所定のビット数を超えるエラーが検出された場合にはさらに上記第2のモードによって上記センスリクエストおよび上記データアウトリクエストを発行するようにしてもよい。これにより、所定のビット数を超えるエラーが検出された場合において高精度なデータ読出しを行うという作用をもたらす。
また、この第1の側面において、上記リクエスト発行部は、上記第1のモードによる読出しの結果としてアクセス異常が検出された場合にはさらに上記第2のモードによって上記センスリクエストおよび上記データアウトリクエストを発行するようにしてもよい。これにより、アクセス異常が検出された場合において高精度なデータ読出しを行うという作用をもたらす。
また、本技術の第2の側面は、メモリ装置と、上記メモリ装置からのデータ読出しを要求するリードコマンドを受け付けるコマンド受付部と、上記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って上記メモリ装置に発行する第1のモードと、上記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に上記先行リクエストの完了から所定時間経過後に上記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを上記メモリ装置に発行する第2のモードとの何れかを上記メモリ装置の状態に応じて選択する制御部と、上記制御部によって選択された上記第1または第2のモードに従って上記メモリ装置に上記リードリクエストまたは上記センスリクエストおよび上記データアウトリクエストを発行するリクエスト発行部とを具備するメモリシステムである。これにより、リードコマンドに対するメモリ装置へのリクエストを、メモリ装置の状態に応じて使い分けるという作用をもたらす。
また、この第2の側面において、上記メモリ装置は、上記センスリクエストが発行された際に上記先行リクエストの処理を中断させて上記センスリクエストの処理を行うようにしてもよい。これにより、センスリクエストの処理を優先して行うという作用をもたらす。
また、本技術の第3の側面は、メモリ装置と、上記メモリ装置からのデータ読出しを要求するリードコマンドを発行するホストコンピュータと、上記リードコマンドを受け付けるコマンド受付部と、上記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って上記メモリ装置に発行する第1のモードと、上記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に上記先行リクエストの完了から所定時間経過後に上記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを上記メモリ装置に発行する第2のモードとの何れかを上記メモリ装置の状態に応じて選択する制御部と、上記制御部によって選択された上記第1または第2のモードに従って上記メモリ装置に上記リードリクエストまたは上記センスリクエストおよび上記データアウトリクエストを発行するリクエスト発行部とを具備する情報処理システムである。これにより、ホストコンピュータから発行されたリードコマンドに対するリクエストを、メモリ装置の状態に応じて使い分けるという作用をもたらす。
本技術によれば、メモリ装置における遅延オーバヘッドを解消することができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の実施の形態における情報処理システムの全体構成の一例を示す図である。 本技術の実施の形態におけるメモリコントローラ200の構成の一例を示す図である。 本技術の第1の実施の形態におけるメモリコントローラ200から発行されるリクエストの一例を示す図である。 本技術の第1の実施の形態におけるメモリコントローラ200のライトコマンド処理の処理手順例を示す流れ図である。 本技術の第1の実施の形態におけるメモリコントローラ200のリードコマンド処理の処理手順例を示す流れ図である。 本技術の第1の実施の形態における情報処理システムの動作タイミングの一例を示す図である。 第1の比較例の動作タイミングを示す図である。 第2の比較例の動作タイミングを示す図である。 本技術の第2の実施の形態におけるメモリコントローラ200から発行されるリクエストの一例を示す図である。 本技術の第2の実施の形態におけるメモリコントローラ200のロングリードコマンド処理の処理手順例を示す流れ図である。 本技術の第2の実施の形態におけるメモリコントローラ200のリードコマンド処理の処理手順例を示す流れ図である。 本技術の第2の実施の形態における情報処理システムの動作タイミングの一例を示す図である。 本技術の第3の実施の形態におけるメモリ装置300のセンスリクエスト処理の処理手順例を示す流れ図である。 本技術の第3の実施の形態における情報処理システムの動作タイミングの一例を示す図である。 本技術の第4の実施の形態におけるメモリ装置300のセンスリクエスト処理の処理手順例を示す流れ図である。 本技術の第4の実施の形態における情報処理システムの動作タイミングの一例を示す図である。 本技術の第5の実施の形態におけるメモリコントローラ200の構成の一例を示す図である。 本技術の第5の実施の形態におけるメモリコントローラ200のリードコマンド処理の処理手順例を示す流れ図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(先行ライトコマンドに続くリードコマンド処理の例)
2.第2の実施の形態(先行ロングリードコマンドに続くリードコマンド処理の例)
3.第3の実施の形態(先行ライトコマンドの処理を中断させる例)
4.第4の実施の形態(先行ロングリードコマンドの処理を中断させる例)
5.第5の実施の形態(アドレス範囲に応じて処理を行う例)
6.変形例
<1.第1の実施の形態>
[情報処理システムの構成]
図1は、本技術の実施の形態における情報処理システムの全体構成の一例を示す図である。この情報処理システムは、ホストコンピュータ100と、メモリコントローラ200と、メモリ装置300とから構成される。メモリコントローラ200およびメモリ装置300はメモリシステム400を構成する。なお、この図および以降の図では、それぞれの実施の形態の説明に必要な回路構成と信号線のみを示しているが、メモリ装置300として必要なその他の回路および信号線も備える。
ホストコンピュータ100は、メモリシステム400に対してデータのリード処理やライト処理等を要求するコマンドを発行するものである。このホストコンピュータ100は、ホストコマンド/アドレス信号線108により、メモリコントローラ200の動作を指示するコマンドとそのコマンドの操作対象を示すアドレスとをメモリコントローラ200に送信する機能を有する。また、このホストコンピュータ100は、ホストデータ信号線109により、メモリコントローラ200と間のデータ送受信を行う機能を有する。
メモリコントローラ200は、ホストコンピュータ100と通信してコマンドを受信し、メモリ装置300へのデータ書込みおよびメモリ装置300からのデータ読出しを実行するものである。このメモリコントローラ200は、メモリリクエスト/アドレス信号線208により、メモリ装置300の動作を指示するリクエストとそのリクエストの操作対象を示すアドレスとをメモリ装置300に送信する。また、このメモリコントローラ200は、メモリデータ信号線209により、メモリコントローラ200とのデータ送受信を行う。
メモリ装置300は、メモリコントローラ200から信号線208および209を介して要求されたリクエストに応じて、データのリード処理またはライト処理等を行うものである。また、このメモリ装置300は、ステータス信号線207を介して、メモリ装置300の状態をメモリコントローラ200に通知する。このメモリ装置300は、データを記憶するメモリセルアレイ310と、一時的にデータを保持するデータラッチ320と、制御部330とを備える。なお、ここではメモリ装置300として、不揮発性メモリのうち抵抗変化型メモリ(ReRAM)を例に挙げて説明する。
メモリセルアレイ310は、複数のメモリセルとメモリセルにアクセスを行う周辺回路とからなり、ビット毎に例えば2値の何れかの値を記憶するメモリセルが2次元状(マトリクス状)に多数配列されている。ここで、メモリセルには、例えばReRAMが用いられる。このメモリセルアレイ310が使用されているか否かを示すビジー信号は、信号線319を介して制御部330に出力される。
データラッチ320は、信号線209に受信したデータ、または、メモリセルアレイ310から読み出したデータを一時的に格納する回路である。このデータラッチ320は、ライトデータの入力、メモリセルアレイ310への書込み(プログラム)、メモリセルアレイ310からの読出し(センス)、読出しデータの出力などに使用される。このデータラッチ320が使用されているか否かを示すビジー信号は、信号線329を介して制御部330に出力される。
制御部330は、信号線208に入力されるリクエストやアドレスを解釈し、データラッチ320やメモリセルアレイ310の制御を行う回路である。この制御部330は、メモリセルアレイ310から信号線319を介して出力されたビジー信号や、データラッチ320から信号線329を介して出力されたビジー信号を受けて、メモリ装置300の動作制御のために使用する。
図2は、本技術の実施の形態におけるメモリコントローラ200の構成の一例を示す図である。このメモリコントローラ200は、制御部210と、コマンド受付部220と、リクエスト発行部230と、ステータスレジスタ270と、ホストインターフェース201と、メモリインターフェース203とを備える。
制御部210は、メモリコントローラ200の各部を制御するものである。具体的な動作については後述する。コマンド受付部220は、ホストコンピュータ100から発行されたコマンドを受け付けるものである。リクエスト発行部230は、ホストコンピュータ100から受け付けたコマンドに対するリクエストをメモリ装置300に発行するものである。ホストインターフェース201は、ホストコンピュータ100との間のやりとりを行うインターフェースである。メモリインターフェース203は、メモリ装置300との間のやりとりを行うインターフェースである。
ステータスレジスタ270は、メモリ装置300からステータス信号線207を介して受信したステータス情報および対応するアドレスを保持するものである。例えば、メモリコントローラ200がメモリ装置300にライトリクエストを発行した後に、ライトが成功したか否を示すステータス情報をメモリ装置300から受け取り、そのライト先のアドレスとともにステータスレジスタ270に保持する。このステータスレジスタ270に保持されている内容は、ホストコンピュータ100からの要求に応じて、ホストコンピュータ100に送信される。
[ホストコンピュータからメモリシステムに発行されるコマンド]
ホストコンピュータ100は、メモリシステム400に対して処理を要求するコマンドを発行する。メモリコントローラ200は、ホストコンピュータ100から発行されたコマンドを解釈して、メモリ装置300に対して処理を要求するリクエストを発行する。ここでは、本技術の第1の実施の形態において想定するホストコンピュータ100からのコマンドの例について説明する。
第1のコマンドは、データの書込みを要求するライトコマンドである。ライトコマンドおよびライトアドレスは、信号線108を介してメモリコントローラ200に供給される。また、ライトデータは、信号線109を介してメモリコントローラ200に供給される。このライトコマンドに対して、メモリコントローラ200は、メモリ装置300に対してライトデータを書き込むよう要求し、その結果をステータス情報としてステータスレジスタ270に保持する。
第2のコマンドは、データの読出しを要求するリードコマンドである。リードコマンドは、信号線108を介してメモリコントローラ200に供給される。このリードコマンドに対して、メモリコントローラ200は、メモリ装置300に対してデータを読み出すよう要求し、読み出されたデータをリードデータとして信号線109を介してホストコンピュータ100に出力する。
第3のコマンドは、ステータス情報を要求するステータス取得コマンドである。ステータス取得コマンドは、信号線108を介してメモリコントローラ200に供給される。このステータス取得コマンドに対して、メモリコントローラ200は、ステータスレジスタ270に保持されている内容を、信号線109を介してホストコンピュータ100に出力する。例えば、ホストコンピュータ100は、定期的にステータス取得コマンドを送信することによりライトコマンドの結果を取得して、特に書込み失敗となった処理について、ライトアドレスを振り替えてライトコマンドを再送するなどの手当てを行うことができる。
[メモリコントローラからメモリ装置に発行されるリクエスト]
図3は、本技術の第1の実施の形態におけるメモリコントローラ200から発行されるリクエストの一例を示す図である。ここでは、メモリコントローラ200からメモリ装置300に発行されるリクエストの例として、4つのリクエストを示している。メモリコントローラ200は、ホストコンピュータ100から発行されたコマンドに応じて、以下のリクエストをメモリ装置300に発行する。
第1のリクエストは、データの読出しおよび出力を要求するリードリクエストである。リードリクエストおよびリードアドレスは、信号線208を介してメモリ装置300に供給される。メモリ装置300は、メモリセルアレイ310から読み出されたデータを一旦データラッチ320に保持し、そのデータラッチ320に保持されたデータを、信号線209を介してメモリコントローラ200に出力する。リードリクエストが入力されてから信号線209に出力が開始されるまでの時間は、予め定められた決定的(deterministic)な値である。ただし、先行するリクエストがメモリ装置300において処理中である間は、新たにリードリクエストを受け付けることはできない。
第2のリクエストは、データの書込みを要求するライトリクエストである。ライトリクエストおよびライトアドレスは、信号線208を介してメモリ装置300に供給される。また、ライトデータは、信号線209を介してメモリ装置300に供給される。
メモリ装置300は、ライトコマンドとともに受けたライトデータをデータラッチ320に保持する。そして、このデータラッチ320に保持されたデータに基づいて、ライトアドレスに対応するメモリセルアレイ310内のメモリセルに対して書込みを行う。そして、書込みを行ったメモリセルに対してデータ読出しを行い、書込みデータとの比較を行う。その結果、不一致となるビットがなければ信号線207を介してステータス情報としてACK信号を返して、ライト動作を終了する。
一方、不一致となるビットがあれば、再度書込みを行う。その後、再び、書込みを行ったメモリセルに対してデータ読出しを行い、書込みデータとの比較を行う。その結果、不一致となるビットがなければ信号線207を介してステータス情報としてACK(成功)信号を返して、ライト動作を終了する。依然として不一致となるビットがあれば、信号線207を介してステータス情報としてNAK(失敗)信号を返して、ライト動作を終了する。
ライトリクエストにおいてはこのような条件分岐を経るため、ライトリクエストが入力されてからACK信号またはNAK信号が返されるまでの時間は、一定でない非決定的(non-deterministic)な値である。
第3のリクエストは、データの読出しを要求するセンスリクエストである。上述のリードリクエストでは、メモリセルアレイ310からの読出しに加えて、メモリコントローラ200へのデータ出力をも要求していた。これに対し、このセンスリクエストでは、メモリセルアレイ310から読み出されたデータをデータラッチ320に保持するまでの動作を要求する。したがって、メモリセルアレイ310から読み出されたデータは、そのままでは外部に出力されない。
センスリクエストは他のコマンドと異なり、ライト処理中、すなわち先行するライトリクエストを受け付けてからACK信号またはNAK信号が返されるまでの間であっても、メモリ装置300は次のセンスリクエストを受け付けることができる。ただし、1回のライト処理中に受信できるのは1回のセンスリクエストのみである。
ライト処理中にセンスリクエストを受信した場合、メモリ装置300はライト処理の完了を待ち、ACK信号またはNAK信号を返すとともに、指定されたアドレスに対応するデータをアレイから読み出して、読み出したデータをデータラッチ320に保持する。センスリクエストが入力されてから、データラッチ320にデータの保持が完了するまでの時間は、ライト処理の完了を待つ間の時間が含まれるため、非決定的な値である。
一方、ライト処理中でないタイミングでセンスリクエストを受信した場合、メモリ装置300は受信後すみやかに、指定されたアドレスに対応するデータをメモリセルアレイ310から読み出して、読み出したデータをデータラッチ320に保持する。この場合、データラッチ320にデータの保持が完了するまでの時間は、決定的な値である。
メモリ装置300は、このセンスリクエストの結果、データラッチ320にデータの保持が完了する前に、信号線207を介してステータス情報としてSenOK(センス完了)信号を返す。SenOK信号の具体的なタイミングについては後述する。
第4のリクエストは、データラッチ320に保持されているデータをメモリコントローラ200に出力することを要求するデータアウトリクエストである。このデータアウトリクエストを受けたメモリ装置300は、データラッチ320に保持されたデータを、信号線209を介してメモリコントローラ200に出力する。データアウトリクエストが入力されてから、信号線209への出力が完了するまでの時間は、決定的な値である。また、このデータアウトリクエストはメモリセルアレイ310の制御を含まないため、アドレス入力は不要である。
[メモリコントローラの動作]
図4は、本技術の第1の実施の形態におけるメモリコントローラ200のライトコマンド処理の処理手順例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ100からライトコマンドを受信すると、以下の処理を開始する。
まず、メモリコントローラ200は、メモリ装置300にライトリクエストを送信可能な状態にあるか否かを確認する(ステップS911)。送信可能であれば(ステップS911:Yes)、メモリコントローラ200はメモリ装置300にライトリクエストを送信する(ステップS912)。一方、送信可能でなければ(ステップS911:No)、メモリコントローラ200は所定時間待機する。上述のように、メモリ装置300が先行するリクエストを処理している間は、新たにライトリクエストを受け付けることはできない。したがって、ここでは、いずれのリクエストについても処理を完了していることが、ライトリクエストを送信可能となる条件になる。
メモリコントローラ200は、ライトリクエスト送信後、信号線207にACK信号またはNAK信号が返されるまで(ステップS914:No)、待機する(ステップS916)。ACK信号またはNAK信号が返されると(ステップS914:Yes)、メモリコントローラ200は、そのステータス情報をステータスレジスタ270に保持して、ライトリクエストの処理は完了となる。なお、この場合、ステータスレジスタ270に保持されるのは、例えば、ライト先のアドレス、および、そのアドレスに対するライトリクエストの結果がACK信号またはNAK信号であったかを示す情報である。
図5は、本技術の第1の実施の形態におけるメモリコントローラ200のリードコマンド処理の処理手順例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ100からリードコマンドを受信すると、以下の処理を開始する。
まず、メモリコントローラ200は、現在の状態がライト処理中であるか、すなわちライトリクエストを送信してからACK信号またはNAK信号が返されていない状態であるか否かを確認する(ステップS921)。
ライト処理中であれば(ステップS921:Yes)、センス処理中であるか、すなわちセンスリクエストを送信してからSenOK信号がまだ返されていない状態であるか否かを確認する(ステップS931)。センス処理中であれば(ステップS931:Yes)、ステップS921に戻ってライト処理の完了を待機する(ステップS933)。センス処理中でなければ(ステップS931:No)、メモリコントローラ200は、センスリクエストを送信し(ステップS932)、信号線207にSenOK信号が返されるのを待つ(ステップS934:No、S936)。SenOK信号を受信すると(ステップS934:Yes)、メモリコントローラ200は、データアウトリクエストをメモリ装置300に送信する(ステップS935)。その後、データアウトリクエストに応答したリードデータを受信し(ステップS937)、その受信データをホストコンピュータ100に送信する(ステップS938)。
一方、ステップS921においてライト処理中でないと判断された場合には(ステップS921:No)、メモリコントローラ200は、リードリクエストを送信可能か、すなわち先行するリクエストが処理中か否かを確認する(ステップS922)。リードリクエストを送信可能でなければ(ステップS922:No)、送信可能になるまで待機する(ステップS925)。送信可能になると(ステップS922:Yes)、メモリコントローラ200は、リードリクエストを送信して(ステップS923)、所定時間経過後に(ステップS924)、メモリ装置300から出力されるリードデータを受信する(ステップS937)。そして、その受信データをホストコンピュータ100に送信する(ステップS938)。
このように、メモリコントローラ200は、リードコマンドを受信した際に、先行するライトコマンドの処理が完了していなければセンスリクエストとデータアウトリクエストを発行し、ライトコマンドの処理が完了していればリードリクエストを発行する。これにより、以下に示す動作タイミングから明らかなように、遅延オーバヘッドを解消することができる。
[動作タイミング]
図6は、本技術の第1の実施の形態における情報処理システムの動作タイミングの一例を示す図である。この例は、ライトコマンドの発行に続いて、2つのリードコマンドが発行された際のタイミングを示している。なお、参照符号として、ライトコマンドには510番代、先のリードコマンドには520番代、後のリードコマンドには530番代をそれぞれ付している。
メモリコントローラ200は、最初にライトコマンド511を受信して、メモリ装置300にライトリクエスト512とライトデータ513を送信する。メモリ装置300は、これらを受信した後に、メモリセルアレイ310への書込みを開始する。
次に、メモリコントローラ200は、リードコマンド521を受信する。このとき、メモリ装置300がライトリクエスト512を処理中であるため(図5のステップS921:Yes)、メモリコントローラ200はメモリ装置300にセンスリクエスト522を送信する。
続いて、メモリコントローラ200は、2つめのリードコマンド531を受信する。このとき、メモリ装置300は依然としてライトリクエスト512を処理中であり、しかもリードコマンド521のために送信したセンスリクエスト522も完了していない。そのため、リードコマンド531については、ライトリクエスト512の完了まで処理を待機する(図5のステップS931:Yes)。
メモリ装置300は、メモリセルアレイ310への書込み(プログラム516)の完了後、信号線207を通じてメモリコントローラ200にACK信号517を送信する。また、それとともに、先に受信していたセンスリクエスト522に基づいて、メモリセルアレイ310の読出し(センス523)を開始する。
ここで、上述のように、プログラム516の開始から完了までに要する時間Tprogramは非決定的な値であり、センス523の開始から完了までに要する時間Tsenseは決定的な値である。
メモリコントローラ200はACK信号517を受信してステータスレジスタ270に保持する。また、待機中であったリードコマンド531の処理については、リードリクエストの送信が可能になるまで待機する(図5のステップS922:No)。
メモリ装置300はセンス523の完了前に、信号線207にSenOK信号525を送信する。メモリコントローラ200は、SenOK信号525を受信した後に、データアウトリクエスト526をメモリ装置300に送信し、リードデータ528をメモリ装置300から受信する。
データアウトリクエスト526をメモリ装置300が受信する時刻には、センス523が完了している必要がある。Tsenseは決定的な値であり、SenOK信号525を送ってからデータアウトリクエスト526受信までに要する最小の応答時間も、回路の仕様によって予め決まる値である。そのため、メモリ装置300は、センス523の開始後、Tsenseからその応答時間を引いた時間だけ待ってSenOK信号525を送信することにより、データアウトリクエスト526の受信時に確実にセンス523が完了するように制御することができる。
メモリコントローラ200は、メモリ装置300にデータアウトリクエスト526を送信した後、リードデータ528を受信する。
メモリ装置300が次のリードリクエストを受信可能になると(図5のステップS922:Yes)、リードコマンド531の処理として、リードリクエスト532が送信される。
リードデータ528の受信開始から完了までに要する時間Tdoutは、回路の仕様およびデータ転送サイズによって予め決まる決定的な値である。したがって、メモリコントローラ200は、メモリ装置300がリードデータ528を出力した後すぐにセンス533を開始できるようなタイミングで、リードリクエスト532を送信することができる。
メモリ装置300はリードリクエスト532を受信した後にTsenseが経過するとリードデータ537を送信し、メモリコントローラ200はこれを受信する。
このように、この例では、先行するライトコマンド511が処理中である場合に、リードコマンド521に対する処理として、メモリコントローラ200がセンスリクエスト522およびデータアウトリクエスト526を発行する。これらセンスリクエスト522およびデータアウトリクエスト526は、いずれも処理に要する時間が決定的であるため、無駄なオーバヘッドを生じることなく制御を行うことができる。先行するライトコマンド511が処理中でなければ、非決定的な時間を要しないため、リードリクエストが送信される。すなわち、この第1の実施の形態では、リードコマンドに対する処理として、リードリクエストを用いる第1のモードと、センスリクエストおよびデータアウトリクエストを用いる第2のモードとを、メモリ装置300の状態に応じて使い分けている。
これに対し、そのような使い分けを行わずに、常にセンスリクエストおよびデータアウトリクエストを使用してしまうと、無駄な信号のやりとりが生じてしまうという問題がある。以下では、比較例として、常にリードリクエストを送信する場合と、常にセンスリクエストおよびデータアウトリクエストを送信する場合とを示す。
図7は、第1の比較例の動作タイミングを示す図である。この第1の比較例では、リードコマンドを受信した際に、常にリードリクエストを送信することを想定している。
リードリクエストはセンスリクエストと異なり、メモリ装置300がライト処理を行っている間は受け付けられない。メモリコントローラ200は、メモリ装置300のライト処理中にリードコマンド521を受信した際には、ライト処理の完了を待ってリードリクエスト532を発行する。このため、メモリ装置300内部でプログラム516が完了してから、センス523が開始されるまでの間、メモリセルアレイ310およびデータラッチ320が使用されない期間がオーバヘッドとして生じる。その結果、この第1の比較例では、図6により説明した例よりも、リードコマンド521の処理に要する時間が長くなる。
図8は、第2の比較例の動作タイミングを示す図である。この第2の比較例では、リードコマンドを受信した際に、常にセンスリクエストおよびデータアウトリクエストを送信することを想定している。
この場合、リードコマンド531に対するリードデータ537が出力されるまでの時間は、図6の例と同様である。しかし、この第2の比較例では、リードコマンド531に対してセンスリクエスト530およびデータアウトリクエスト539を用いて処理するため、SenOK信号538およびデータアウトリクエスト539が信号線207および208に余計に流れてしまう。すなわち、この第2の比較例では、このような無駄な信号のやりとりが生じることにより、余計な電力を消費するおそれがある。
このように、本技術の第1の実施の形態では、リードコマンドに対する処理を、先行するライトリクエストの処理状態に応じて使い分ける。すなわち、リードコマンドに対する処理として、リードリクエストを用いる第1のモードと、センスリクエストおよびデータアウトリクエストを用いる第2のモードとを、メモリ装置300の状態に応じて使い分ける。これにより、遅延オーバヘッドを解消するとともに、無駄な信号のやりとりを回避することができる。
<2.第2の実施の形態>
上述の第1の実施の形態では先行するコマンドがライトコマンドであることを想定していたが、この第2の実施の形態では先行するコマンドがロングリードコマンドであることを想定する。このロングリードコマンドは、メモリセルアレイ310から時間をかけて高精度に読み出すためのコマンドである。メモリコントローラ200は、このロングリードコマンドを受けると、ロングセンスリクエストおよびデータアウトリクエストをメモリ装置300に送信する。なお、この第2の実施の形態における情報処理システムの全体構成は、上述の第1の実施の形態と同様であるため、詳細な説明は省略する。
[メモリコントローラからメモリ装置に発行されるリクエスト]
図9は、本技術の第2の実施の形態におけるメモリコントローラ200から発行されるリクエストの一例を示す図である。
この第2の実施の形態では、上述の第1の実施の形態と比べて、第5のリクエストとして、高精度なデータの読出しを要求するロングセンスリクエストが追加されている。このロングセンスリクエストは、センスリクエストの一種であり、さらに高精度にデータを読み出すためのリクエストである。このロングセンスリクエストは、センスリクエスト同様にメモリセルアレイ310から読み出されたデータをデータラッチ320に保持するものであるが、データラッチ320にデータの保持が完了するまでの時間は常に非決定的な値である。
[メモリコントローラの動作]
図10は、本技術の第2の実施の形態におけるメモリコントローラ200のロングリードコマンド処理の処理手順例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ100からロングリードコマンドを受信すると、以下の処理を開始する。
まず、メモリコントローラ200は、現在の状態がセンスまたはロングセンス処理中であるか、すなわちセンスリクエストまたはロングセンスリクエストを送信してからリードデータの受信が完了していない状態であるか否かを確認する(ステップS941)。センスまたはロングセンス処理中であれば(ステップS941:Yes)、メモリコントローラ200は処理が終了するまで待機する(ステップS943)。センスまたはロングセンス処理が終了していれば(ステップS941:No)、メモリコントローラ200はメモリ装置300にロングセンスリクエストを送信する(ステップS942)。
メモリコントローラ200は、ロングセンスリクエストの成功を示すLongSenOK信号を受信するまで(ステップS944:No)、待機する(ステップS948)。メモリコントローラ200は、信号線207を介してLongSenOK信号を受信すると(ステップS944:Yes)、メモリ装置300にデータアウトリクエストを送信する(ステップS945)。その後、データアウトリクエストに応答したリードデータを受信し(ステップS946)、その受信データをホストコンピュータ100に送信する(ステップS947)。
図11は、本技術の第2の実施の形態におけるメモリコントローラ200のリードコマンド処理の処理手順例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ100からリードコマンドを受信すると、以下の処理を開始する。
まず、メモリコントローラ200は、現在の状態がロングセンス処理中であるか、すなわちロングセンスリクエストを送信してからリードデータの受信が完了していない状態であるか否かを確認する(ステップS951)。
ロングセンス処理中であれば(ステップS951:Yes)、センス処理中であるか、すなわちセンスリクエストを送信してからSenOK信号がまだ返されていない状態であるか否かを確認する(ステップS952)。センス処理中であれば(ステップS952:Yes)、ステップS951に戻ってライト処理の完了を待機する(ステップS954)。センス処理中でなければ(ステップS952:No)、メモリコントローラ200は、センスリクエストを送信し(ステップS953)、信号線207にSenOK信号が返されるのを待つ(ステップS955:No、S957)。SenOK信号を受信すると(ステップS955:Yes)、メモリコントローラ200は、データアウトリクエストをメモリ装置300に送信する(ステップS956)。その後、データアウトリクエストに応答したリードデータを受信し(ステップS966)、その受信データをホストコンピュータ100に送信する(ステップS967)。
一方、ステップS951においてロングセンス処理中でないと判断された場合には(ステップS951:No)、メモリコントローラ200は、リードリクエストを送信可能か、すなわち先行するリクエストが処理中か否かを確認する(ステップS962)。リードリクエストを送信可能でなければ(ステップS962:No)、送信可能になるまで待機する(ステップS965)。送信可能になると(ステップS962:Yes)、メモリコントローラ200は、リードリクエストを送信して(ステップS963)、所定時間経過後に(ステップS964)、メモリ装置300から出力されるリードデータを受信する(ステップS966)。そして、その受信データをホストコンピュータ100に送信する(ステップS967)。
このように、メモリコントローラ200は、リードコマンドを受信した際に、先行するロングリードコマンドの処理が完了していなければセンスリクエストとデータアウトリクエストを発行する。一方、ロングリードコマンドの処理が完了していればリードリクエストを発行する。これにより、以下に示す動作タイミングから明らかなように、遅延オーバヘッドを解消することができる。
[動作タイミング]
図12は、本技術の第2の実施の形態における情報処理システムの動作タイミングの一例を示す図である。この例は、ロングリードコマンドの発行に続いて、2つのリードコマンドが発行された際のタイミングを示している。なお、参照符号として、ロングリードコマンドには540番代、先のリードコマンドには550番代、後のリードコマンドには560番代をそれぞれ付している。
メモリコントローラ200は、ロングリードコマンド541を受信すると、メモリ装置300にロングセンスリクエスト542を発行する。これにより、メモリ装置300内部でロングセンス543の処理が開始される。
続いて、メモリコントローラ200は、リードコマンド551を受信するが、このとき、先行するロングセンスリクエスト542の処理が完了していないことから(図11のステップS951:Yes)、センスリクエスト552をメモリ装置300に発行する。
メモリ装置300は、ロングセンスリクエスト542に対応するロングセンス543の処理が終了すると、続けてセンスリクエスト552に対応するセンス553の処理を開始する。メモリ装置300は、センス553の処理中に、信号線207を介してLongSenOK信号545をメモリコントローラ200に返す。
メモリコントローラ200は、LongSenOK信号545を受信すると、メモリ装置300にデータアウトリクエスト546を発行し、ロングセンスリクエスト542により読み出したリードデータ548を受信する。
メモリ装置300は、メモリコントローラ200がLongSenOK信号545の受信を完了してからTdout後にSenOK信号555を受信完了するようなタイミングで、信号線207を介してSenOK信号555をメモリコントローラ200に送信する。
メモリコントローラ200は、SenOK信号555を受けて、データアウト556を発行し、センスリクエスト552により読み出したリードデータ558を受信する。
続いて、メモリコントローラ200は、2つめのリードコマンド561を受信する。このとき、メモリ装置300は依然としてロングセンスリクエスト542を処理中であり、しかもリードコマンド551のために送信したセンスリクエスト552も完了していない。そのため、リードコマンド561については、ロングセンスリクエスト542の完了まで処理を待機する(図11のステップS952:Yes)。メモリ装置300が次のリードリクエストを受信可能になると(図11のステップS962:Yes)、リードコマンド561の処理として、リードリクエスト562が発行される。リードリクエスト562が発行可能になるのは、この例ではデータアウトリクエスト556がメモリ装置300に発行された後である。
データアウトリクエスト556は、決定的な時間で完了する処理であるため、センス553で読み出したリードデータ558の受信完了直後にセンス563が開始されるように、リードデータ558の受信中にリードリクエスト562を送信すればよい。
このように、本技術の第2の実施の形態では、リードコマンドに対する処理を、先行するロングセンスリクエストの処理状態に応じて使い分ける。すなわち、リードコマンドに対する処理として、リードリクエストを用いる第1のモードと、センスリクエストおよびデータアウトリクエストを用いる第2のモードとを、メモリ装置300の状態に応じて使い分ける。これにより、遅延オーバヘッドを解消するとともに、無駄な信号のやりとりを回避することができる。
<3.第3の実施の形態>
上述の第1の実施の形態では、ライトリクエスト処理中のメモリ装置300がセンスリクエストを受信した場合、メモリ装置300内部ではプログラムの完了後にセンスが開始される。これに対し、この第3の実施の形態では、実行中のプログラムを中断させてセンスを開始することを想定する。なお、この第3の実施の形態における情報処理システムの全体構成は、上述の第1の実施の形態と同様であるため、詳細な説明は省略する。また、メモリコントローラ200の動作については、上述の第1の実施の形態と同様であるため、第1の実施の形態の動作を参照する。
[メモリコントローラからメモリ装置に発行されるリクエスト]
メモリコントローラ200からメモリ装置300に発行されるリクエストは、上述の第1の実施の形態におけるリクエストと同様である。すなわち、この第3の実施の形態では、リードリクエスト、ライトリクエスト、センスリクエスト、および、データアウトリクエストの4つを想定する。
[メモリの動作]
図13は、本技術の第3の実施の形態におけるメモリ装置300のセンスリクエスト処理の処理手順例を示す流れ図である。メモリ装置300は、メモリコントローラ200からセンスリクエストを受信すると、以下の処理を開始する。
メモリ装置300は、ライトリクエストの処理中でなければ(ステップS971:No)、センス処理を開始する(ステップS977)。そして、所定時間経過後、信号線207を介してSenOK信号をメモリコントローラ200に送信する(ステップS978)。
ライトリクエストの処理中である場合(ステップS971:Yes)、プログラムの処理が中断可能であるか否かを判断する(ステップS972)。中断可能であれば(ステップS972:Yes)、プログラムの中断処理を行い(ステップS973)、その後、信号線207に中断を示すSUS信号を送信する(ステップS974)。
一方、センスリクエストの受信直前またはセンスリクエストの受信と同時にプログラムが完了した場合や、センスリクエストの受信時にプログラムが完了直前である場合などは、プログラムを中断することができない。このような場合は(ステップS972:No)、メモリ装置300は、プログラムの完了を待った後(ステップS975)、信号線207にACK信号またはNAK信号を送信する(ステップS976)。
メモリ装置300は、SUS信号、ACK信号またはNAK信号のいずれかを信号線207に送信すると同時に、センス処理を開始する(ステップS977)。そして、所定時間経過後、信号線207を介してSenOK信号をメモリコントローラ200に送信する(ステップS978)。
[動作タイミング]
図14は、本技術の第3の実施の形態における情報処理システムの動作タイミングの一例を示す図である。この例は、ライトコマンドの発行に続いて、2つのリードコマンドが発行された際のタイミングを示している。なお、参照符号として、ライトコマンドには570番代、先のリードコマンドには580番代、後のリードコマンドには590番代をそれぞれ付している。
メモリコントローラ200は、ライトコマンド571を受信して、メモリ装置300にライトリクエスト572およびライトデータ573を送信する。これにより、メモリ装置300内部でプログラム576が開始される。
続いて、メモリコントローラ200は、リードコマンド581を受信するが、このとき、先行するライトコマンド571が完了していないことから(図5のステップS921:Yes)、メモリコントローラ200はセンスリクエスト582をメモリ装置300に発行する。
メモリ装置300はセンスリクエスト582を受信すると、プログラム576の中断を試みる。この例では中断が可能であった場合を示している。プログラム576を中断するためには、メモリセルアレイ310に制御電圧を印加するアナログ回路が定常状態になるのを待つ必要があるため、瞬時には完了せず、非決定的な時間Tsusを要する。このアナログ回路はメモリセルアレイ310の内部にあり、制御部330がその動作を制御している。
プログラム576の中断に成功すると、メモリ装置300は信号線207を介してSUS信号577を返すとともに、センスリクエスト582の処理としてセンス583を開始する。また、メモリ装置300は、センス583の処理中に、信号線207を介して、SenOK信号585をメモリコントローラ200に返す。
メモリコントローラ200は、SenOK信号585を受信した後、データアウトリクエスト586をメモリ装置300に発行して、センスリクエスト582で読み出したリードデータ588を受信する。
センスリクエスト582の処理中にリードコマンド591を受信した場合、メモリコントローラ200は、メモリ装置300にリードリクエスト592を発行する。リードリクエスト592が発行可能になるのは、この例ではデータアウトリクエスト586がメモリ装置300に発行された後である。データアウトリクエスト586は決定的な時間で完了する処理である。したがって、センスリクエスト582によって読み出したリードデータ588の受信完了直後に、リードリクエスト592に対するセンス593の処理が開始されるように、リードデータ588の受信中にリードリクエスト592を送信すればよい。
このように、本技術の第3の実施の形態では、メモリ装置300におけるプログラム処理を中断させてセンス処理を行うことにより、リードデータをより高速に読み出すことができる。
<4.第4の実施の形態>
上述の第2の実施の形態では、ロングセンスリクエスト処理中のメモリ装置300がセンスリクエストを受信した場合、メモリ装置300内部ではロングセンスの完了後にセンスが開始される。これに対し、この第4の実施の形態では、実行中のロングセンスを中断させてセンスを開始することを想定する。なお、この第4の実施の形態における情報処理システムの全体構成は、上述の第2の実施の形態と同様であるため、詳細な説明は省略する。また、メモリコントローラ200の動作については、上述の第2の実施の形態と同様であるため、第2の実施の形態の動作を参照する。
[メモリコントローラからメモリ装置に発行されるリクエスト]
メモリコントローラ200からメモリ装置300に発行されるリクエストは、上述の第2の実施の形態におけるリクエストと同様である。すなわち、この第4の実施の形態では、リードリクエスト、ライトリクエスト、センスリクエスト、データアウトリクエスト、および、ロングセンスリクエストの5つを想定する。
[メモリの動作]
図15は、本技術の第4の実施の形態におけるメモリ装置300のセンスリクエスト処理の処理手順例を示す流れ図である。メモリ装置300は、メモリコントローラ200からセンスリクエストを受信すると、以下の処理を開始する。
メモリ装置300は、ロングセンスリクエストの処理中でなければ(ステップS981:No)、センス処理を開始する(ステップS987)。そして、所定時間経過後、信号線207を介してSenOK信号をメモリコントローラ200に送信する(ステップS988)。
ロングセンスリクエストの処理中である場合(ステップS981:Yes)、ロングセンスの処理が中断可能であるか否かを判断する(ステップS982)。中断可能であれば(ステップS982:Yes)、ロングセンスの中断処理を行い(ステップS983)、その後、信号線207に中断を示すSUS信号を送信する(ステップS984)。
一方、センスリクエストの受信直前またはセンスリクエストの受信と同時にロングセンスが完了した場合や、センスリクエストの受信時にロングセンスが完了直前である場合などは、ロングセンスを中断することができない。このような場合は(ステップS982:No)、メモリ装置300は、プログラムの完了を待った後(ステップS985)、信号線207にLongSenseOK信号を送信する(ステップS986)。
メモリ装置300は、SUS信号またはLongSenseOK信号のいずれかを信号線207に送信すると同時に、センス処理を開始する(ステップS987)。そして、所定時間経過後、信号線207を介してSenOK信号をメモリコントローラ200に送信する(ステップS988)。
[動作タイミング]
図16は、本技術の第4の実施の形態における情報処理システムの動作タイミングの一例を示す図である。この例は、ロングリードコマンドの発行に続いて、2つのリードコマンドが発行された際のタイミングを示している。なお、参照符号として、ロングリードコマンドには610番代、先のリードコマンドには620番代、後のリードコマンドには630番代をそれぞれ付している。
メモリコントローラ200は、ロングリードコマンド611を受信して、メモリ装置300にロングセンスリクエスト612を送信する。これにより、メモリ装置300内部でロングセンス613が開始される。
続いて、メモリコントローラ200は、リードコマンド621を受信するが、このとき、先行するロングリードコマンド611が完了していないことから(図11のステップS951:Yes)、メモリコントローラ200はセンスリクエスト622をメモリ装置300に発行する。
メモリ装置300はセンスリクエスト622を受信すると、ロングセンス613の中断を試みる。この例では中断が可能であった場合を示している。ロングセンス613を中断するためには、メモリセルアレイ310に制御電圧を印加するアナログ回路が定常状態になるのを待つ必要があるため、瞬時には完了せず、非決定的な時間Tsusを要する。このアナログ回路はメモリセルアレイ310の内部にあり、制御部330がその動作を制御している。
プログラム576の中断に成功すると、メモリ装置300は信号線207を介してSUS信号615を返すとともに、センスリクエスト622の処理としてセンス623を開始する。また、メモリ装置300は、センス623の処理中に、信号線207を介して、SenOK信号625をメモリコントローラ200に返す。
メモリコントローラ200は、SenOK信号625を受信した後、データアウトリクエスト626をメモリ装置300に発行して、センスリクエスト622で読み出したリードデータ628を受信する。
センスリクエスト622の処理中にリードコマンド631を受信した場合、メモリコントローラ200は、メモリ装置300にリードリクエスト632を発行する。リードリクエスト632が発行可能になるのは、この例ではデータアウトリクエスト626がメモリ装置300に発行された後である。データアウトリクエスト626は決定的な時間で完了する処理である。したがって、センスリクエスト622によって読み出したリードデータ628の受信完了直後に、リードリクエスト632に対するセンス633の処理が開始されるように、リードデータ628の受信中にリードリクエスト632を送信すればよい。
このように、本技術の第4の実施の形態では、メモリ装置300におけるロングセンス処理を中断させてセンス処理を行うことにより、リードデータをより高速に読み出すことができる。
<5.第5の実施の形態>
上述の第1乃至4の実施の形態では、メモリ装置300の状態に応じて、メモリコントローラ200から発行するリクエストを使い分けていた。これに対して、メモリ装置300上のアドレスの範囲に応じてリクエストを使い分けることも考えられる。例えば、メモリセルアレイ310のうちドライバに近い位置に配置されたセルと遠い位置に配置されたセルとでは特性が異なることがある。以下の第5の実施の形態では、リードコマンドを受けたメモリコントローラ200が、メモリ装置300上のアドレスの範囲に応じて、リードリクエストまたはロングセンスリクエストを発行する例を想定する。
[情報処理システムの構成]
図17は、本技術の第5の実施の形態におけるメモリコントローラ200の構成の一例を示す図である。この第5の実施の形態におけるメモリコントローラ200は、基本的には上述の第1乃至4の実施の形態と同様の構成を備えるが、アドレス判定部240およびエラー処理部250をさらに備える点において異なっている。なお、情報処理システムの全体構成は、上述の第1乃至4の実施の形態と同様である。
アドレス判定部240は、ホストコンピュータ100から発行されたリードコマンドについて、その読出し対象アドレスがメモリ装置300上の所定のアドレス範囲内にあるか否かを判定するものである。所定のアドレス範囲内であれば、メモリコントローラ200は通常のリードリクエストをメモリ装置300に発行する。一方、所定のアドレス範囲内になければ、メモリコントローラ200は高精度な読出しを行うためにロングセンスリクエストをメモリ装置300に発行する。ここでは、所定のアドレス範囲内であれば信頼性が高く、所定のアドレス範囲内になければ信頼性が低くなるという例を想定している。例えば、アドレスの下8ビットが8h'00から8h'dfの範囲内であればリードリクエストを発行し、アドレスの下8ビットが8h'e0から8h'ffであればロングセンスリクエストを発行することが想定される。
エラー処理部250は、メモリ装置300に書込みを行う際にエラー訂正符号(ECC:Error Correction Code)を生成し、メモリ装置300から読み出したデータに対してエラー検出処理およびエラー訂正処理を行うものである。
[メモリコントローラからメモリ装置に発行されるリクエスト]
この第5の実施の形態では、図9に示した第2の実施の形態のリクエストのうち、センスリクエストを省いたものを想定する。すなわち、この第5の実施の形態では、リードリクエスト、ライトリクエスト、データアウトリクエスト、および、ロングセンスリクエストの4つを想定する。
[メモリコントローラの動作]
図18は、本技術の第5の実施の形態におけるメモリコントローラ200のリードコマンド処理の処理手順例を示す流れ図である。メモリコントローラ200は、ホストコンピュータ100からリードコマンドを受信すると、以下の処理を開始する。
メモリコントローラ200は、まず、リードコマンドが示す読出し対象アドレスが、所定の範囲にあるか否かを調べる(ステップS990)。所定の範囲にあれば(ステップS990:Yes)、メモリコントローラ200はリードリクエストをメモリ装置300に発行する(ステップS991)。リードリクエストの送信後、遅延時間Tsenseが経過すると、リードデータがメモリ装置300から出力される。メモリコントローラ200はメモリ装置300から出力されたリードデータを受信する(ステップS992)。
リードデータを受信したメモリコントローラ200は、エラー処理部250においてリードデータのエラー検出処理およびエラー訂正処理を行う(ステップS993)。このとき、エラーが検出されず、または、エラーが検出されても訂正が可能であれば、得られた正しいリードデータをホストコンピュータ100に送信する(ステップS999)。
一方、エラーが検出されて、エラー訂正も不可能であれば、正しいリードデータが得られていないことになる。そこで、メモリコントローラ200は同じ読出し対象アドレスに対して、ロングセンスリクエストを送信する(ステップS994)。ロングセンス処理においては通常のセンス処理よりも長い時間をかけて高精度なデータ読出しを行うため、リードリクエストでは訂正不可能であったデータでも、訂正可能なリードデータを得られる可能性がある。
その後、メモリコントローラ200は、信号線207にLongSenOK信号が返されるのを待って(ステップS995:No、S996)、データアウトリクエストを送信する(ステップS997)。メモリコントローラ200は、データアウトリクエストに対するリードデータを受信して(ステップS998)、そのリードデータをホストコンピュータ100に送信する(ステップS999)。
このように、本技術の第5の実施の形態では、リードコマンドに対する処理を、メモリ装置300における読出し対象アドレスの範囲に応じて使い分ける。すなわち、ステータス情報のやりとりが不要で高速なリードリクエストと、ステータス情報のやりとりが必要だが高精度なロングセンスリクエストとを使い分けることにより、高速性と読出し不良の低減とを両立させることができる。
[変形例]
この第5の実施の形態では、アドレスが所定の範囲であること、および、エラー訂正が不可能であることの両者を考慮して、ロングセンスリクエストを使用するか否かの判断を行っていたが、一方を省略していずれか一方のみで判断を行ってもよい。
また、エラー訂正処理を行わずにエラー検出処理のみを行い、所定のビット数を超えるエラー(ビット誤り)が検出された際にロングセンスリクエストを使用するようにしてもよい。
また、エラー検出処理またはエラー訂正処理は、メモリコントローラ200ではなくメモリ装置300が行うようにしてもよい。この場合、メモリ装置300は、リードデータを送信する前に、信号線207を介してエラー訂正または訂正不可が生じた旨を送信し、メモリコントローラ200はそれを受信してロングセンスリクエストを使用するか否かを判断する。なお、この場合、図18の処理手順例において、ステップS992とS993の順番が入れ替わることになる。
また、リードリクエストによる読出し時に、メモリ装置300がエラー検出処理またはエラー訂正処理以外のメモリアクセス異常を検出した場合に、ロングセンスリクエストを使用するようにしてもよい。これに該当する場合として、例えば、読出しパルスが所定の電圧に達しなかった等が想定される。
<6.変形例>
[SenOK信号に関する変形例]
上述の第1乃至5の実施の形態においては、メモリ装置300が信号線207にSenOK信号を送信し、メモリコントローラ200がそれを受信してデータアウトリクエストを送信することを想定した。これに対して、メモリ装置300からのSenOK信号を利用することなく、メモリコントローラ200がデータアウトリクエストを送信することも考えられる。
例えば、第1の実施の形態の図6の例において、メモリ装置300はセンス523の処理の開始と同時にACK信号517を送信している。メモリコントローラ200は、ライトリクエストの送信後、ACK信号517の受信前にセンスリクエスト522を送信している。その後、メモリ装置300はACK信号517の送信と同時にセンス523を開始していることが分かる。また、センス523は決定的な時間Tsenseで完了する。すなわち、ACK信号517の送信からTsense経過後にメモリ装置300がリードデータ528の送信を開始するように、メモリコントローラ200がデータアウトリクエスト526を送信すればよい。
同様に、第2の実施の形態の図12の例において、メモリコントローラ200はLongSenOK信号545の受信によって、メモリ装置300がセンス553の処理を開始したことを知ることができる。したがって、SenOK信号555を受信しなくても、同様のタイミングでデータアウトリクエスト556の送信を行うことができる。具体的には、LongSenOK信号を受信してデータアウトリクエスト546を送信し、Tdout経過したタイミングでデータアウトリクエスト556を送信すればよい。
第3および第4の実施の形態においても同様である。SUS信号の送信からTsense経過後に、メモリ装置300がリードデータの送信を開始するように、メモリコントローラ200がデータアウトリクエストを送信すればよい。
[マルチバンク構成による変形例]
上述の第1乃至5の実施の形態においては、メモリ装置300はメモリセルアレイ310およびデータラッチ320をそれぞれ1組ずつ備える構成を想定したが、それぞれ複数組を備えるマルチバンク構成を想定してもよい。この場合、第1乃至5の実施の形態のタイミング図により示した制約や判断は、各組毎に適用される。例えば、センス処理を開始するためにプログラム処理の完了を待つという制約は、同じ組についてのみ適用される。また、ライト処理中か否か、または、センス処理中か否かなどの判断も、同じ組についてのみ適用される。したがって、例えば、一方のメモリセルアレイ310およびデータラッチ320の組に書込みを行う間、書込みの完了を待たずに、他方のメモリセルアレイ310およびデータラッチ320の組から読出しを開始することが可能である。
[不揮発性メモリの種類による変形例]
上述の第1乃至5の実施の形態においては、ReRAMを例に挙げて説明したが、本技術の実施の形態は、NANDフラッシュ、NORフラッシュ、PCM、MRAM、STT−RAM等、他の不揮発性メモリにも適用することができる。
[各実施の形態の組合せ]
上述の第1乃至5の実施の形態はそれぞれ複数を適宜組み合わせて用いることができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray(登録商標)Disc)等を用いることができる。
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
なお、本技術は以下のような構成もとることができる。
(1)メモリ装置からのデータ読出しを要求するリードコマンドを受け付けるコマンド受付部と、
前記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って前記メモリ装置に発行する第1のモードと、前記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に前記先行リクエストの完了から所定時間経過後に前記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを前記メモリ装置に発行する第2のモードとの何れかを前記メモリ装置の状態に応じて選択する制御部と、
前記制御部によって選択された前記第1または第2のモードに従って前記メモリ装置に前記リードリクエストまたは前記センスリクエストおよび前記データアウトリクエストを発行するリクエスト発行部と
を具備するメモリコントローラ。
(2)前記制御部は、
前記リードリクエストにより読み出されたデータを前記リードリクエストが発行されてから所定のセンス時間経過後に受信するよう制御し、
前記メモリ装置からの所定のステータス信号を受信した後に前記データアウトリクエストを発行するよう制御し、
前記センスリクエストにより読み出されたデータを前記データアウトリクエストが発行された直後に受信するよう制御する
前記(1)に記載のメモリコントローラ。
(3)前記制御部は、前記メモリ装置が所定のメモリアクセスを処理中である場合には前記第2のモードを選択し、前記メモリ装置が前記所定のメモリアクセスを処理中でない場合には前記第1のモードを選択する
前記(1)または(2)に記載のメモリコントローラ。
(4)前記制御部は、前記メモリ装置が所定のメモリアクセスを処理中で、かつ、前記第2のモードによる読出し処理中でない場合には前記第2のモードを選択し、それ以外の場合には前記第1のモードを選択する
前記(1)または(2)に記載のメモリコントローラ。
(5)前記所定のメモリアクセスは、前記メモリ装置における処理時間が非決定的な値を示すものである前記(1)から(4)のいずれかに記載のメモリコントローラ。
(6)前記センスリクエストは、高精度なデータ読出しを指示するロングセンスリクエストであり、
前記制御部は、前記リードコマンドの読出し対象アドレスが所定の範囲にある場合には前記第1のモードを選択し、前記読出し対象アドレスが前記所定の範囲にない場合には前記第2のモードを選択する
前記(1)に記載のメモリコントローラ。
(7)前記リクエスト発行部は、前記第1のモードによる読出しの結果として訂正不可能なエラーが発生した場合にはさらに前記第2のモードによって前記センスリクエストおよび前記データアウトリクエストを発行する
前記(6)に記載のメモリコントローラ。
(8)前記リクエスト発行部は、前記第1のモードによる読出しの結果として所定のビット数を超えるエラーが検出された場合にはさらに前記第2のモードによって前記センスリクエストおよび前記データアウトリクエストを発行する
前記(6)に記載のメモリコントローラ。
(9)前記リクエスト発行部は、前記第1のモードによる読出しの結果としてアクセス異常が検出された場合にはさらに前記第2のモードによって前記センスリクエストおよび前記データアウトリクエストを発行する
前記(6)に記載のメモリコントローラ。
(10)メモリ装置と、
前記メモリ装置からのデータ読出しを要求するリードコマンドを受け付けるコマンド受付部と、
前記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って前記メモリ装置に発行する第1のモードと、前記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に前記先行リクエストの完了から所定時間経過後に前記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを前記メモリ装置に発行する第2のモードとの何れかを前記メモリ装置の状態に応じて選択する制御部と、
前記制御部によって選択された前記第1または第2のモードに従って前記メモリ装置に前記リードリクエストまたは前記センスリクエストおよび前記データアウトリクエストを発行するリクエスト発行部と
を具備するメモリシステム。
(11)前記メモリ装置は、前記センスリクエストが発行された際に前記先行リクエストの処理を中断させて前記センスリクエストの処理を行う
前記(10)に記載のメモリシステム。
(12)メモリ装置と、
前記メモリ装置からのデータ読出しを要求するリードコマンドを発行するホストコンピュータと、
前記リードコマンドを受け付けるコマンド受付部と、
前記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って前記メモリ装置に発行する第1のモードと、前記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に前記先行リクエストの完了から所定時間経過後に前記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを前記メモリ装置に発行する第2のモードとの何れかを前記メモリ装置の状態に応じて選択する制御部と、
前記制御部によって選択された前記第1または第2のモードに従って前記メモリ装置に前記リードリクエストまたは前記センスリクエストおよび前記データアウトリクエストを発行するリクエスト発行部と
を具備する情報処理システム。
100 ホストコンピュータ
200 メモリコントローラ
201 ホストインターフェース
203 メモリインターフェース
210 制御部
220 コマンド受付部
230 リクエスト発行部
240 アドレス判定部
250 エラー処理部
270 ステータスレジスタ
300 メモリ装置
310 メモリセルアレイ
320 データラッチ
330 制御部
400 メモリシステム

Claims (12)

  1. メモリ装置からのデータ読出しを要求するリードコマンドを受け付けるコマンド受付部と、
    前記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って前記メモリ装置に発行する第1のモードと、前記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に前記先行リクエストの完了から所定時間経過後に前記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを前記メモリ装置に発行する第2のモードとの何れかを前記メモリ装置の状態に応じて選択する制御部と、
    前記制御部によって選択された前記第1または第2のモードに従って前記メモリ装置に前記リードリクエストまたは前記センスリクエストおよび前記データアウトリクエストを発行するリクエスト発行部と
    を具備するメモリコントローラ。
  2. 前記制御部は、
    前記リードリクエストにより読み出されたデータを前記リードリクエストが発行されてから所定のセンス時間経過後に受信するよう制御し、
    前記メモリ装置からの所定のステータス信号を受信した後に前記データアウトリクエストを発行するよう制御し、
    前記センスリクエストにより読み出されたデータを前記データアウトリクエストが発行された直後に受信するよう制御する
    請求項1記載のメモリコントローラ。
  3. 前記制御部は、前記メモリ装置が所定のメモリアクセスを処理中である場合には前記第2のモードを選択し、前記メモリ装置が前記所定のメモリアクセスを処理中でない場合には前記第1のモードを選択する
    請求項1記載のメモリコントローラ。
  4. 前記制御部は、前記メモリ装置が所定のメモリアクセスを処理中で、かつ、前記第2のモードによる読出し処理中でない場合には前記第2のモードを選択し、それ以外の場合には前記第1のモードを選択する
    請求項1記載のメモリコントローラ。
  5. 前記所定のメモリアクセスは、前記メモリ装置における処理時間が非決定的な値を示すものである請求項記載のメモリコントローラ。
  6. 前記センスリクエストは、高精度なデータ読出しを指示するロングセンスリクエストであり、
    前記制御部は、前記リードコマンドの読出し対象アドレスが所定の範囲にある場合には前記第1のモードを選択し、前記読出し対象アドレスが前記所定の範囲にない場合には前記第2のモードを選択する
    請求項1記載のメモリコントローラ。
  7. 前記リクエスト発行部は、前記第1のモードによる読出しの結果として訂正不可能なエラーが発生した場合にはさらに前記第2のモードによって前記センスリクエストおよび前記データアウトリクエストを発行する
    請求項6記載のメモリコントローラ。
  8. 前記リクエスト発行部は、前記第1のモードによる読出しの結果として所定のビット数を超えるエラーが検出された場合にはさらに前記第2のモードによって前記センスリクエストおよび前記データアウトリクエストを発行する
    請求項6記載のメモリコントローラ。
  9. 前記リクエスト発行部は、前記第1のモードによる読出しの結果としてアクセス異常が検出された場合にはさらに前記第2のモードによって前記センスリクエストおよび前記データアウトリクエストを発行する
    請求項6記載のメモリコントローラ。
  10. メモリ装置と、
    前記メモリ装置からのデータ読出しを要求するリードコマンドを受け付けるコマンド受付部と、
    前記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って前記メモリ装置に発行する第1のモードと、前記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に前記先行リクエストの完了から所定時間経過後に前記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを前記メモリ装置に発行する第2のモードとの何れかを前記メモリ装置の状態に応じて選択する制御部と、
    前記制御部によって選択された前記第1または第2のモードに従って前記メモリ装置に前記リードリクエストまたは前記センスリクエストおよび前記データアウトリクエストを発行するリクエスト発行部と
    を具備するメモリシステム。
  11. 前記メモリ装置は、前記センスリクエストが発行された際に前記先行リクエストの処理を中断させて前記センスリクエストの処理を行う
    請求項10記載のメモリシステム。
  12. メモリ装置と、
    前記メモリ装置からのデータ読出しを要求するリードコマンドを発行するホストコンピュータと、
    前記リードコマンドを受け付けるコマンド受付部と、
    前記メモリ装置のメモリセルアレイからのデータ読出しおよび読み出されたデータの出力を要求するリードリクエストを先行リクエストの完了を待って前記メモリ装置に発行する第1のモードと、前記メモリセルアレイからのデータ読出しを要求するセンスリクエストを発行した後に前記先行リクエストの完了から所定時間経過後に前記センスリクエストにより読み出されたデータの出力を要求するデータアウトリクエストを前記メモリ装置に発行する第2のモードとの何れかを前記メモリ装置の状態に応じて選択する制御部と、
    前記制御部によって選択された前記第1または第2のモードに従って前記メモリ装置に前記リードリクエストまたは前記センスリクエストおよび前記データアウトリクエストを発行するリクエスト発行部と
    を具備する情報処理システム。
JP2015146670A 2015-07-24 2015-07-24 メモリコントローラ、メモリシステムおよび情報処理システム Active JP6493062B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015146670A JP6493062B2 (ja) 2015-07-24 2015-07-24 メモリコントローラ、メモリシステムおよび情報処理システム
US15/736,058 US10199102B2 (en) 2015-07-24 2016-04-27 Memory controller, memory system, and information processing system
PCT/JP2016/063222 WO2017018013A1 (ja) 2015-07-24 2016-04-27 メモリコントローラ、メモリシステムおよび情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015146670A JP6493062B2 (ja) 2015-07-24 2015-07-24 メモリコントローラ、メモリシステムおよび情報処理システム

Publications (2)

Publication Number Publication Date
JP2017027439A JP2017027439A (ja) 2017-02-02
JP6493062B2 true JP6493062B2 (ja) 2019-04-03

Family

ID=57884423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015146670A Active JP6493062B2 (ja) 2015-07-24 2015-07-24 メモリコントローラ、メモリシステムおよび情報処理システム

Country Status (3)

Country Link
US (1) US10199102B2 (ja)
JP (1) JP6493062B2 (ja)
WO (1) WO2017018013A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021039810A (ja) * 2019-09-04 2021-03-11 キオクシア株式会社 メモリシステム
KR20210155432A (ko) 2020-06-15 2021-12-23 삼성전자주식회사 불휘발성 메모리 장치, 및 그것의 동작 방법
US11947831B2 (en) * 2022-06-02 2024-04-02 Micron Technology, Inc. Adaptive enhanced corrective read based on write and read temperature
US12105959B2 (en) * 2022-08-09 2024-10-01 Micron Technology, Inc. Suspending operations of a memory system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266127B2 (ja) 1999-01-25 2002-03-18 日本電気株式会社 同期式半導体記憶装置
JP4722305B2 (ja) * 2001-02-27 2011-07-13 富士通セミコンダクター株式会社 メモリシステム
US7502921B2 (en) * 2005-08-02 2009-03-10 Sandisk Corporation Situation sensitive memory performance
JP5378326B2 (ja) 2010-08-17 2013-12-25 株式会社東芝 不揮発性半導体記憶装置とその制御方法
JP2012128644A (ja) * 2010-12-15 2012-07-05 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
US20180174652A1 (en) 2018-06-21
US10199102B2 (en) 2019-02-05
JP2017027439A (ja) 2017-02-02
WO2017018013A1 (ja) 2017-02-02

Similar Documents

Publication Publication Date Title
JP6447629B2 (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
TWI537969B (zh) 用於包括或介接非順應記憶體技術之記憶體模組的響應控制技術
JP5942781B2 (ja) 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法
JP6493062B2 (ja) メモリコントローラ、メモリシステムおよび情報処理システム
JP5853906B2 (ja) 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US20180052732A1 (en) Semiconductor device and semiconductor system
KR102515924B1 (ko) 미디어 컨트롤러 및 이를 포함한 데이터 저장 장치
JP5929456B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
CN103995756A (zh) 存储控制器、存储设备、信息处理系统和存储控制方法
US10388401B2 (en) Semiconductor device, semiconductor system, and method thereof
US10319462B2 (en) Semiconductor device and semiconductor system
US9984746B2 (en) Nonvolatile memory device that stores data from completed write requests on a power abnormality
WO2016017287A1 (ja) メモリコントローラ、メモリシステムおよび情報処理システム
JP5853973B2 (ja) 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
JP2015011421A (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
JP6107625B2 (ja) 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法
CN103377098A (zh) 存储控制设备、存储器系统、信息处理系统和存储控制方法
JPWO2016117190A1 (ja) メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
WO2017073127A1 (ja) メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
WO2017010147A1 (ja) 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法
WO2019244417A1 (ja) 記憶制御装置、記憶装置および記憶制御方法
KR20180055148A (ko) 반도체장치 및 반도체시스템
US10290333B2 (en) Semiconductor device
WO2022158120A1 (ja) コントローラ、不揮発性記憶装置、および、制御方法
JP2011192137A (ja) メモリカード制御システム、メモリカード制御装置及びメモリカード制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R151 Written notification of patent or utility model registration

Ref document number: 6493062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151