JP5853973B2 - 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 - Google Patents

記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 Download PDF

Info

Publication number
JP5853973B2
JP5853973B2 JP2013045125A JP2013045125A JP5853973B2 JP 5853973 B2 JP5853973 B2 JP 5853973B2 JP 2013045125 A JP2013045125 A JP 2013045125A JP 2013045125 A JP2013045125 A JP 2013045125A JP 5853973 B2 JP5853973 B2 JP 5853973B2
Authority
JP
Japan
Prior art keywords
unit
partial
write
memory
data
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
JP2013045125A
Other languages
English (en)
Other versions
JP2014174659A (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 JP2013045125A priority Critical patent/JP5853973B2/ja
Priority to US14/189,362 priority patent/US9455017B2/en
Priority to CN201410069124.5A priority patent/CN104035878B/zh
Publication of JP2014174659A publication Critical patent/JP2014174659A/ja
Application granted granted Critical
Publication of JP5853973B2 publication Critical patent/JP5853973B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1693Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4082Address Buffers; level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

本技術は、記憶制御装置に関する。詳しくは、メモリのための記憶制御装置、記憶装置、情報処理システム、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
情報処理システムにおいては、ワークメモリとしてDRAM(Dynamic Random Access Memory)等が用いられる。このDRAMは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。一方、近年、不揮発性メモリ(NVM:Non-Volatile Memory)が用いられるようになっている。この不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM:Non-Volatile RAM)とに大別される。ここで、フラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。一方、不揮発性ランダムアクセスメモリの例としては、ReRAM(Resistance RAM)、PCRAM(Phase-Change RAM)、MRAM(Magnetoresistive RAM)などが挙げられる。
不揮発性メモリはメモリセルへのデータライト処理において、メモリセルへデータのライトを行うライトステップと、そのメモリセルからデータを読み出してライトデータと比較してベリファイを行うベリファイステップとを想定している。メモリセルへのライト時に、ライトステップに続けてベリファイステップでデータを比較した結果、一致が確認されるまでこれらステップが繰り返される。メモリセルの特性はある範囲でのばらつきを持っており、この回数も同様なばらつきを持つことから、ライト時に発生するビジー時間は固定時間にはならない。したがって、不揮発性メモリのライトビジー時間は標準値(Typical値)と最大値(Max値)とで示されることが一般的である。標準値はライト時にベリファイが成功する平均的な回数によって決定され、最大値はライトステップとベリファイステップとを繰り返す最大回数によって決まる。もし、最大回数まで繰り返した場合には、ベリファイが成功しなかったメモリセルは不良セルとして判断されることもある。
このようなライト時間のばらつきがあることから、ライト時間の長いセルによって不揮発性メモリのライトパフォーマンスは低下する。不揮発性メモリではページと呼ばれるように同時に複数のメモリセルからなるライト単位に対してライトを行うことが一般的である。したがって、上述のばらつきによってページの中のごく一部のメモリセルのライト時間が長くなったとしても、そのメモリセルへのライトが完了するまで、次のページのライトを開始することはできず、結果としてライト処理全体のパフォーマンスは低下する。ページをライト単位とする不揮発性メモリのバンクを複数持つマルチバンク構成の不揮発性メモリにおいても同様である。ばらつきによってあるバンクのページライト時間が長くなったことにより、そのバンクのライトが完了するまでは既にライトが完了しているバンクは次のページのライト開始を待つ状態になり、結果として不揮発性メモリ全体のライトパフォーマンスが低下する。つまり、いずれの場合も、すでにライトが完了しているバンクのページは次のデータさえ受信すればライトを開始できる状態であるにもかかわらず、その次のデータ入力が全てのバンクのライト完了まで待つため、ライトパフォーマンス低下の原因となっている。
これに対し、ライトビジー時間中に不揮発性メモリ内部のバッファに対して、次のライトデータを転送することにより、データ転送時間が次のライト開始のオーバーヘッドとなることを防ぐ手法が提案されている(例えば、特許文献1参照。)。また、マルチバンク構成の場合にも、バンク毎にバッファを持つことによりライト開始のオーバーヘッドを小さくする手法が提案されている(例えば、特許文献2参照。)。
特開2003−196989号公報 特開2007−080475号公報
しかしながら、ライトビジー時間中にバッファに転送する従来技術では、ライトビジーが長くなることによる速度低下は防げない。また、バンクごとにバッファを備える従来技術では、ライトビジーが長くなることによる速度低下に対しては、同様の効果しかない。また、この従来技術はバンクごとにページサイズのバッファが必要であり、ライト単位であるページのサイズが大きいほど、また不揮発性メモリ内のバンク数が多いほどバッファサイズが大きくなるという問題がある。
フラッシュメモリに代表される従来の不揮発性メモリでは、ビジー時間の標準値は数百μsから数msのオーダーであり、ビジー時間の変化は標準値の倍数で変化するようなものではなく、より細かい時間の単位で変化するものである。そのため、ばらつき時間よりも標準値の時間が支配的であり、そのばらつきを吸収することによるパフォーマンス改善の効果はあまり大きくない。一方、新しい高速不揮発性メモリであるNVRAMでは、ライトビジー時間が数十nsから数μsと短く、ビジー時間のばらつきもほぼ同じオーダーの時間であるため、ビジー時間のばらつきがライトパフォーマンスに与える影響が非常に大きい。また、ライト単位であるページサイズも小さく、高速なインターフェースを有することから、前述のようにページバッファを持つことで隠蔽できるビジー時間も非常に小さくなる。
本技術はこのような状況に鑑みて生み出されたものであり、ライト単位の一部についてビジー状態となっていても可能な限りライト処理を継続することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、メモリに対するライト単位を分割した部分単位のデータを少なくとも1つ保持する部分単位バッファと、上記部分単位の何れかについて上記メモリにおいてビジー状態を示す場合であっても当該部分単位のデータを上記部分単位バッファにおいて保持できる状態であれば上記メモリに対する上記ライト単位のライトリクエストを生成するリクエスト生成部とを具備する記憶制御装置およびその記憶制御方法である。これにより、ビジー状態を示す部分単位が存在する場合であっても、可能な限りライトリクエストを生成するという作用をもたらす。
また、この第1の側面において、上記ライトリクエストが生成された場合、上記メモリがビジー状態を示す上記部分単位のデータを上記部分単位バッファに保持させ、上記メモリがビジー状態を示さない上記部分単位のデータを上記メモリに転送するライト制御部をさらに具備するようにしてもよい。これにより、部分単位のビジー状態に応じてデータを振り分けるという作用をもたらす。
また、この第1の側面において、上記ライト制御部は、ビジー状態が解消された上記部分単位について次のデータが上記部分単位バッファに保持されている場合にはそのデータを上記部分単位バッファから上記メモリに転送するようにしてもよい。これにより、部分単位のビジー状態が解消されたことを契機として部分単位バッファからデータを転送するという作用をもたらす。
また、この第1の側面において、上記メモリにおいてビジー状態を示す上記部分単位が存在し、かつ、当該部分単位のデータを上記部分単位バッファにおいて保持できない状態である場合にはビジー状態である旨を示し、上記部分単位バッファに空きがあり、かつ、上記部分単位の何れも上記メモリにおいてビジー状態を示さない場合、または、上記メモリにおいてビジー状態を示す上記部分単位が存在しても当該部分単位のデータを上記部分単位バッファにおいて保持できる状態である場合にはレディ状態である旨を示す信号を生成する信号生成部をさらに具備し、上記リクエスト生成部は、上記信号がレディ状態である旨を示す場合に上記ライト単位のライトリクエストを生成するようにしてもよい。これにより、ビジー状態の有無を示す信号を利用してライトリクエストの生成を制御するという作用をもたらす。
また、本技術の第2の側面は、ライト単位を複数の部分単位に分割してデータを記憶するメモリセルアレイと、上記部分単位のデータを少なくとも1つ保持する部分単位バッファと、上記部分単位の何れかについて上記メモリセルアレイにおいてビジー状態を示す場合であっても当該部分単位のデータを上記部分単位バッファにおいて保持できる状態であれば上記メモリセルアレイに対する上記ライト単位のライトリクエストを生成するリクエスト生成部と、上記ライトリクエストが生成された場合、ビジー状態を示す上記部分単位のデータを上記部分単位バッファに保持させ、ビジー状態を示さない上記部分単位のデータを上記メモリセルアレイに転送するライト制御部とを具備する記憶装置である。これにより、ビジー状態を示す部分単位が存在する場合であっても、可能な限りライトリクエストを生成しておいて、部分単位のビジー状態に応じてデータを振り分けるという作用をもたらす。
また、この第2の側面において、上記メモリセルアレイは、不揮発性メモリ素子からなるメモリセルを含むようにしてもよい。
また、本技術の第3の側面は、ライト単位を複数の部分単位に分割してデータを記憶するメモリセルアレイと、上記ライト単位のライトコマンドを発行するホストコンピュータと、上記部分単位のデータを少なくとも1つ保持する部分単位バッファと、上記ライトコマンドが発行された際に、上記部分単位の何れかについて上記メモリセルアレイにおいてビジー状態を示す場合であっても当該部分単位のデータを上記部分単位バッファにおいて保持できる状態であれば上記メモリセルアレイに対する上記ライト単位のライトリクエストを生成するリクエスト生成部と、上記ライトリクエストが生成された場合、ビジー状態を示す上記部分単位のデータを上記部分単位バッファに保持させ、ビジー状態を示さない上記部分単位のデータを上記メモリセルアレイに転送するライト制御部とを具備する情報処理システムである。これにより、ライトコマンドが発行された際、ビジー状態を示す部分単位が存在する場合であっても、可能な限りライトリクエストを生成しておいて、部分単位のビジー状態に応じてデータを振り分けるという作用をもたらす。
本技術によれば、ライト単位の一部についてビジー状態となっていても可能な限りライト処理を継続することができるという優れた効果を奏し得る。
本技術の実施の形態における情報処理システムの一構成例を示す図である。 本技術の実施の形態における機能構成例を示す図である。 本技術の第1の実施の形態におけるメモリ300の構成例を示す図である。 本技術の第1の実施の形態におけるメモリ300のページアドレスの配置例を示す図である。 本技術の第1の実施の形態における動作タイミング例を示す図である。 本技術の第1の実施の形態における効果の概要を示す図である。 本技術の第1の実施の形態におけるライトコマンド受信時の処理手順例を示す流れ図である。 本技術の第1の実施の形態におけるライトリクエスト処理の処理手順例を示す流れ図である。 本技術の第1の実施の形態におけるサブページバッファ320の解放処理の処理手順例を示す流れ図である。 本技術の第2の実施の形態におけるメモリ300の構成例を示す図である。 本技術の第2の実施の形態におけるメモリ300のページアドレスの配置例を示す図である。 本技術の第2の実施の形態における動作タイミング例を示す図である。 本技術の第2の実施の形態におけるライトコマンド受信時の処理手順例を示す流れ図である。 本技術の第2の実施の形態におけるライトリクエスト処理の処理手順例を示す流れ図である。 本技術の第2の実施の形態におけるページバッファ321の解放処理の処理手順例を示す流れ図である。 本技術の第3の実施の形態におけるメモリ300の構成例を示す図である。 本技術の第3の実施の形態におけるビジー信号生成回路351の真理値表を示す図である。 本技術の第3の実施の形態における動作タイミング例を示す図である。 本技術の第3の実施の形態におけるライトコマンド受信時の処理手順例を示す流れ図である。 本技術の第3の実施の形態におけるライトリクエスト処理の処理手順例を示す流れ図である。 本技術の第3の実施の形態におけるページバッファ321の解放処理の処理手順例を示す流れ図である。 本技術の第4の実施の形態におけるメモリ300およびメモリコントローラ200の構成例を示す図である。 本技術の第5の実施の形態におけるメモリ300の構成例を示す図である。 本技術の第6の実施の形態におけるメモリ300の構成例を示す図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。
[情報処理システムの構成]
図1は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、ホストコンピュータ100と、メモリシステム400とから構成される。メモリシステム400は、メモリ300と、メモリコントローラ200とから構成される。
ホストコンピュータ100は、メモリシステム400に対してデータのリードやライトなどを要求するコマンドを発行するものである。この実施の形態では、主としてライトコマンドが発行されることに着目する。
メモリ300は不揮発性メモリからなり、特に、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ(NVRAM)を想定する。NVRAMの例としては、抵抗変化型のReRAM、相変化型のPCRAM、磁気抵抗変化型のMRAMなどが挙げられる。
メモリコントローラ200は、ホストコンピュータ100からの要求に対して、メモリ300の制御を行うものである。このメモリコントローラ200において、ホストコンピュータ100側とのインターフェース(I/F)をホストインターフェース201と称し、メモリ300側とのインターフェースをメモリインターフェース202と称する。
図2は、本技術の実施の形態における機能構成例を示す図である。ここでは、メモリセルアレイ31と、部分単位バッファ32と、リクエスト生成部21と、ライト制御部35とが示されている。メモリセルアレイ31はメモリ300に配置される。部分単位バッファ32、リクエスト生成部21、および、ライト制御部35は、メモリ300またはメモリコントローラ200に配置される。
メモリセルアレイ31は、不揮発性メモリからなるメモリセルの集合であり、同時に1つのライト単位を書き込むことができるように構成される。この例では、メモリセルアレイ31は4つの部分アレイ0乃至3に分割されており、ライト単位を4つに分割した部分単位のデータそれぞれが別々に書き込まれるようになっている。このメモリセルアレイ31の部分アレイ0乃至3のビジー状態は、それぞれBusy0乃至3信号としてリクエスト生成部21に供給される。
部分単位バッファ32は、ライト単位を分割した部分単位のデータを保持するバッファである。メモリセルアレイ31に対するライトリクエストが生成された際、ライト単位のうち一部の部分単位についてメモリセルアレイ31がビジー状態を示す場合には、その部分単位のデータを部分単位バッファ32に保持する。一方、メモリセルアレイ31がレディ状態を示す部分単位のデータはメモリセルアレイ31に転送される。この部分単位バッファ32の保持状態はBufstat信号としてリクエスト生成部21に供給される。
リクエスト生成部21は、ホストコンピュータ100からライトコマンドが発行された際、Bufstat信号およびBusy0乃至3信号に基づいてメモリセルアレイ31に対するライト単位のライトリクエストを生成するものである。このリクエスト生成部21は、部分単位の何れかについてメモリセルアレイ31においてビジー状態を示す場合であっても当該部分単位のデータを部分単位バッファ32において保持できる状態であればライト単位のライトリクエストを生成する。すなわち、Bufstat信号がfull状態を示している場合には、ライトリクエストを生成しない。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、ライトリクエストを生成しない。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、ライトリクエストを生成する。なお、ライトリクエストを生成しない場合には、Bufstat信号およびBusy0乃至3信号が上述の条件を満たすまで待機することになる。なお、ここでは、部分単位バッファ32の保持容量が1つの部分単位であることを想定している。
ライト制御部35は、ライト単位のライトリクエストが生成されると、部分単位のデータを制御する。すなわち、ライト制御部35は、メモリセルアレイ31の部分アレイがビジー状態を示す部分単位のデータを部分単位バッファ32に保持させる。また、メモリセルアレイ31の部分アレイがレディ状態を示す部分単位のデータをメモリセルアレイ31に転送する。そして、ライト制御部35は、ビジー状態が解消された部分アレイに対応する部分単位について、次のデータが部分単位バッファ32に保持されている場合にはそのデータを部分単位バッファ32からメモリセルアレイ31に転送する。
以下では、上述の情報処理システムおよびその機能構成を前提として、各実施の形態について説明する。各実施の形態の説明は以下の順序により行う。
1.第1の実施の形態(ページ単位のライトアクセスをサブページ単位に分割する例)
2.第2の実施の形態(バンクにまたがるライトアクセスをバンク毎に分割する例)
3.第3の実施の形態(メモリ内でビジー信号をまとめる例)
4.第4の実施の形態(ページバッファをメモリコントローラ側で管理する例)
5.第5の実施の形態(複数のページバッファを各バンクによって共有する例)
6.第6の実施の形態(ページバッファをバンクグループ毎に共有する例)
<1.第1の実施の形態>
[メモリの構成]
図3は、本技術の第1の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、メモリセルアレイ310と、サブページバッファ320と、サブページアドレスバッファ330と、分配器340と、コントローラインターフェース回路390とを備える。
メモリセルアレイ310は、不揮発性メモリからなるメモリセルの集合であり、同時に1つのページを書き込むことができるように構成される。この例では、メモリセルアレイ310は、ページを4つに分割したサブページのデータそれぞれが別々に書き込まれるようになっている。このメモリセルアレイ310におけるサブページ毎のビジー状態は、それぞれBusy0乃至3信号としてコントローラインターフェース回路390に供給される。この第1の実施の形態は、このようなページを分割したサブページのライトビジー時間のばらつきに着目したものである。
サブページバッファ320は、サブページのデータを保持するバッファである。メモリセルアレイ310に対するライトリクエストが生成された際、ページ全体のうち一部のサブページについてメモリセルアレイ310がビジー状態を示す場合には、そのサブページのデータをサブページバッファ320に保持する。一方、メモリセルアレイ310がレディ状態を示すサブページのデータについては、メモリセルアレイ310に転送される。このサブページバッファ320の保持状態はBufstat信号としてコントローラインターフェース回路390に供給される。
サブページアドレスバッファ330は、サブページバッファ320に保持されているデータのメモリセルアレイ310上のアドレスを保持するバッファである。すなわち、このサブページアドレスバッファ330は、どのページのどのサブページのデータであるかを示す。
分配器340は、ライトリクエストに係るページに含まれるサブページのデータまたはサブページバッファ320に保持されるサブページのデータを、メモリセルアレイ310上の対応するサブページのアドレスに分配するものである。ライトリクエストに係るページに含まれるサブページのデータを分配する際には、ライトリクエストに係るアドレスが参照される。サブページバッファ320に保持されるサブページのデータを分配する際には、サブページアドレスバッファ330に保持されるアドレスが参照される。
コントローラインターフェース回路390は、メモリコントローラ200との間のやりとりを司る回路である。このコントローラインターフェース回路390は、メモリコントローラ200によって生成されたライトリクエストを、リクエスト/アドレス信号線(Rqt/Adr)およびデータ信号線(Data)により受け取る。その前提として、メモリコントローラ200は、ホストコンピュータ100からライトコマンドが発行されると、Bufstat信号およびBusy0乃至3信号に基づいてメモリセルアレイ310に対するライト単位のライトリクエストを生成する。すなわち、Bufstat信号がfull状態を示している場合には、ライトリクエストを生成しない。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、ライトリクエストを生成しない。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、ライトリクエストを生成する。なお、ライトリクエストを生成しない場合には、Bufstat信号およびBusy0乃至3信号が上述の条件を満たすまで待機することになる。また、コントローラインターフェース回路390は、Bufstat信号およびBusy0乃至3信号をメモリコントローラ200に伝達する。
また、コントローラインターフェース回路390は、ライト単位のライトリクエストがメモリコントローラ200によって生成されると、サブページのデータを制御する。すなわち、メモリセルアレイ310においてビジー状態を示すサブページのデータをサブページバッファ320に保持させる。また、メモリセルアレイ310においてレディ状態を示すサブページのデータをメモリセルアレイ310に転送する。そして、コントローラインターフェース回路390は、ビジー状態が解消されたサブページについて、次のデータがサブページバッファ320に保持されている場合にはそのデータをサブページバッファ320からメモリセルアレイ310に転送する。
なお、上述の機能構成において、メモリセルアレイ31は、メモリセルアレイ310の機能として実現される。また、部分単位バッファ32は、サブページバッファ320の機能として実現される。また、リクエスト生成部21は、メモリコントローラ200の機能として実現される。また、ライト制御部35は、コントローラインターフェース回路390および分配器340の機能として実現される。
図4は、本技術の第1の実施の形態におけるメモリ300のページアドレスの配置例を示す図である。この第1の実施の形態におけるメモリ300では、全てのメモリ空間はページを単位としてリニアなアドレス空間となっている。そして、このページを4つに分割したものがサブページとなる。
[動作タイミング]
図5は、本技術の第1の実施の形態における動作タイミング例を示す図である。Data信号線において転送されるページデータData0はPage0、Data1はPage1、Data2はPage2というように、連続的にページ書込みが行われる動作を示している。メモリ300は、ページデータを受信した後に全てのサブページで一斉にライト処理を開始し、全てのサブページのBusy0乃至3信号が、書込み動作中であることを示すビジー状態となる。
この例では、Data0の書込みにおいてサブページ2のライトビジーが長くなるが、サブページバッファ320があるために、他のサブページの書込みが終わったタイミングで、メモリコントローラ200から次のページデータData1がメモリ300に対して転送される。このとき、Data1に含まれるサブページ2のデータは、サブページバッファ320に保持され、その書込み先を示すアドレス情報はサブページアドレスバッファ330に保持される。その結果、Bufstat信号は、サブページバッファ320がフル状態であることを示すHigh状態に変化する。
Data0のサブページ2への書込みが終了すると、直ちにサブページバッファ320上に保持されていたData1のサブページデータを、メモリセルアレイ310のサブページ2の位置にアドレス情報とともに転送して、次のライト処理を開始する。その際、空になったサブページバッファ320の状態を示すBufstat信号はLow状態に変化する。
Data2の書込みでは、サブページ1のライトビジーが長くなるが、サブページバッファ320は空状態であるため、メモリコントローラ200は次のページデータData3をメモリ300に転送する。Data3に含まれるサブページ1のデータは、サブページバッファ320に保持され、その書込み先を示すアドレス情報はサブページアドレスバッファ330に保持される。
図6は、本技術の第1の実施の形態における効果の概要を示す図である。なお、ここではメモリセルアレイ310やサブページバッファ320へのデータ転送時間は含まれていない。
ここでは、4つのサブページに分割された各ページに対して並列かつ連続に4回の書込みを行った場合を想定する。同図におけるaに示すように、従来の手法では、各書込みで1つのサブページのライトビジーが長くなっており、その書込み時間によって全体の書込みパフォーマンスが決まる。ここで、通常のビジー時間の2倍のビジー時間になると仮定すると、全部で8回分のビジー時間となる。一方、ライトビジーが長くなったサブページのデータをサブページバッファ320に受信できるとすれば、先に書込みの終わったサブページは次のページデータの書込みが可能となる。書込み時間が長くなるメモリセルが1つのサブページに集中することがないという前提では、同図におけるbに示すように、6回分のビジー時間で書込みを完了することができ、パフォーマンスは改善する。
[処理手順]
図7は、本技術の第1の実施の形態におけるライトコマンド受信時の処理手順例を示す流れ図である。このライトコマンド受信時の処理は、メモリコントローラ200によって実行される。ここでは、サブページバッファ320には1つのサブページのデータが保持可能であると想定している。
まず、ライトコマンドに係る先頭ページ番号が変数pに設定される(ステップS911)。この変数pには、1つのページに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS916)。
メモリコントローラ200は、Bufstat信号およびBusy0乃至3信号を参照して、ライトリクエストを生成するか否かを判断する(ステップS912)。すなわち、Bufstat信号がfull状態を示している場合には、ライトリクエストを生成せずに待機するものと判断する。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、ライトリクエストを生成せずに待機するものと判断する。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、ライトリクエストを生成するものと判断する。
ライトリクエストを生成せずに待機するものと判断された場合には(ステップS912:No)、ライトリクエスト生成の条件を満たすまで待機する。一方、ライトリクエストを生成するものと判断された場合には(ステップS912:Yes)、ページ単位のライトリクエストを生成する(ステップS913)。その際、ライトリクエストのパラメータも併せて転送される。そして、ページデータがメモリコントローラ200からメモリインターフェース202を介してメモリ300へ転送される(ステップS914)。
処理されたページの次のページもライトコマンドの対象である場合には(ステップS915:Yes)、変数pを1つ増加して(ステップS916)、次のページの処理を繰り返す。次のページがライトコマンドの対象でない場合には(ステップS915:No)、処理を終了する。
図8は、本技術の第1の実施の形態におけるライトリクエスト処理の処理手順例を示す流れ図である。このライトリクエストの処理は、コントローラインターフェース回路390および分配器340によって実行される。
ライトリクエストが生成されると、ライトリクエストに係る先頭サブページ番号が変数sに設定される(ステップS921)。ここでは、先頭サブページ番号として「0」を想定する。この変数sには、1つのサブページに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS929)。
メモリセルアレイ310においてサブページsがビジー状態でなければ(ステップS922:No)、メモリセルアレイ310にデータおよびアドレスが転送されて(ステップS923)、サブページsのライト動作が開始される(ステップS924)。
一方、メモリセルアレイ310においてサブページsがビジー状態である場合(ステップS922:Yes)、サブページバッファ320がフル状態か否かが判定される(ステップS925)。サブページバッファ320がフル状態であれば(ステップS925:Yes)、ステップS922以降の処理を繰り返す。サブページバッファ320がフル状態でなければ(ステップS925:No)、サブページバッファ320にデータを保持し、サブページアドレスバッファ330にサブページ番号sおよびアドレスを保持する(ステップS926)。そして、サブページバッファ320の空状態を解除してフル状態にする(ステップS927)。これにより、Bufstat信号がfull状態になる。
処理されたサブページの次のサブページもライトリクエストの対象である場合には(ステップS928:Yes)、変数sを1つ増加して(ステップS929)、次のサブページの処理を繰り返す。次のサブページがライトリクエストの対象でない場合には(ステップS928:No)、処理を終了する。
なお、ここでは便宜上、各サブページに関する処理を逐次的に行うように説明したが、各サブページに関する処理を並列に実行してもよい。
図9は、本技術の第1の実施の形態におけるサブページバッファ320の解放処理の処理手順例を示す流れ図である。このサブページバッファ320の解放処理は、コントローラインターフェース回路390および分配器340によって実行される。
メモリセルアレイ310において何れかのサブページのライト処理が完了すると、その完了したサブページのサブページ番号eが取得される(ステップS931)。そして、サブページバッファ320にサブページeのデータが保持されている場合には(ステップS932:Yes)、以下の処理を実行する。
すなわち、サブページバッファ320からデータを転送し、サブページアドレスバッファ330からアドレスを転送する(ステップS933)。そして、サブページバッファ320のフル状態を解除して、空状態にする(ステップS934)。これにより、Bufstat信号がempty状態になる。その後、サブページeについてメモリセルアレイ310においてライト処理が開始される(ステップS935)。
一方、サブページバッファ320にサブページeのデータが保持されていない場合には(ステップS932:No)、処理を終了する。
このように、本技術の第1の実施の形態によれば、ライト対象ページの一部のサブページについてメモリセルアレイ310においてビジー状態となっていても、サブページバッファ320が利用可能である限りライト処理を継続することができる。
<2.第2の実施の形態>
[メモリの構成]
図10は、本技術の第2の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、メモリセルアレイ311と、ページバッファ321と、ページアドレスバッファ331と、分配器341と、コントローラインターフェース回路391とを備える。
メモリセルアレイ311は、不揮発性メモリからなるメモリセルの集合であり、同時に複数のページを書き込むことができるように構成される。この例では、メモリセルアレイ311は4つのバンクに分割されており、それぞれ1ページ分のデータが別々に書き込まれるようになっている。このメモリセルアレイ311におけるバンク毎のビジー状態は、それぞれBusy0乃至3信号としてコントローラインターフェース回路391に供給される。この第2の実施の形態は、このようなマルチバンク構成における各バンクのライトビジー時間のばらつきに着目したものである。
ページバッファ321は、ページのデータを保持するバッファである。メモリセルアレイ311に対するライトリクエストが生成された際、一部のバンクについてメモリセルアレイ311がビジー状態を示す場合には、そのバンクに対応するページのデータをページバッファ321に保持する。一方、メモリセルアレイ311がレディ状態を示すバンクに対応するページのデータについては、メモリセルアレイ311に転送される。このページバッファ321の保持状態はBufstat信号としてコントローラインターフェース回路391に供給される。
ページアドレスバッファ331は、ページバッファ321に保持されているデータのメモリセルアレイ311上のアドレスを保持するバッファである。すなわち、このページアドレスバッファ331は、どのページのデータであるかを示す。
分配器341は、ライトリクエストに係るページのデータまたはページバッファ321に保持されるページのデータを、メモリセルアレイ311上の対応するバンクのアドレスに分配するものである。ライトリクエストに係るページのデータを分配する際には、ライトリクエストに係るアドレスが参照される。ページバッファ321に保持されるページのデータを分配する際には、ページアドレスバッファ331に保持されるアドレスが参照される。
コントローラインターフェース回路391は、メモリコントローラ200との間のやりとりを司る回路である。このコントローラインターフェース回路391は、メモリコントローラ200によって生成されたライトリクエストを、リクエスト/アドレス信号線(Rqt/Adr)およびデータ信号線(Data)により受け取る。その前提として、メモリコントローラ200は、ホストコンピュータ100からライトコマンドが発行されると、Bufstat信号およびBusy0乃至3信号に基づいてメモリセルアレイ311に対するライト単位のライトリクエストを生成する。すなわち、Bufstat信号がfull状態を示している場合には、ライトリクエストを生成しない。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、ライトリクエストを生成しない。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、ライトリクエストを生成する。なお、ライトリクエストを生成しない場合には、Bufstat信号およびBusy0乃至3信号が上述の条件を満たすまで待機することになる。また、コントローラインターフェース回路391は、Bufstat信号およびBusy0乃至3信号をメモリコントローラ200に伝達する。
また、コントローラインターフェース回路391は、ライト単位のライトリクエストがメモリコントローラ200によって生成されると、ライトリクエストに係るページのデータを制御する。すなわち、メモリセルアレイ311においてビジー状態を示すバンクに対応するページのデータをページバッファ321に保持させる。また、メモリセルアレイ311においてレディ状態を示すバンクに対応するページのデータをメモリセルアレイ311に転送する。そして、コントローラインターフェース回路391は、ビジー状態が解消されたバンクについて、次のデータがページバッファ321に保持されている場合にはそのデータをページバッファ321からメモリセルアレイ311に転送する。
なお、上述の機能構成において、メモリセルアレイ31は、メモリセルアレイ311の機能として実現される。また、部分単位バッファ32は、ページバッファ321の機能として実現される。また、リクエスト生成部21は、メモリコントローラ200の機能として実現される。また、ライト制御部35は、コントローラインターフェース回路391および分配器341の機能として実現される。
図11は、本技術の第2の実施の形態におけるメモリ300のページアドレスの配置例を示す図である。この第2の実施の形態におけるメモリ300は、各バンクのメモリ空間はページを共通単位としたアドレス空間を有しており、外部からはバンク0からバンク3の方向にページ列毎に繰り返すアドレス空間として把握される。このため、連続ページ書込みの際には、4ページのデータが並行して4つのバンクに書き込まれることにより高速化される。
また、それぞれのバンクにおいて共通するアドレス位置のページをページグループと称する。例えば、ページ0乃至3はページグループ0、ページ4乃至7はページグループ1、ページ8乃至11はページグループ2となる。
[動作タイミング]
図12は、本技術の第2の実施の形態における動作タイミング例を示す図である。Data信号線において転送されるページデータData0はBank0、Data1はBank1、Data2はBank2、Data3はBank3、そしてData4はBank0というように、連続的にページ書込みが行われる。全バンク分に相当する4ページ単位で書込みデータを受信した後に、4バンクのページについて一斉にライト処理が開始され、全てのサブページのBusy0乃至3信号が、書込み動作中であることを示すビジー状態となる。
この例では、ページデータData0乃至3の書込みでバンク2のData2のライトビジーが長くなるが、ページバッファ321があるために、他のバンクの書込みが終わったタイミングで、メモリコントローラ200より次のページデータData4乃至7がメモリ300に対して転送される。この時、バンク2の書込みページデータであるData6はページバッファ321に保持され、その書込み先であるバンク2とそのページアドレス情報はページアドレスバッファ331に保持される。その結果、Bufstat信号は、ページバッファ321がフル状態であることを示すHigh状態に変化する。
ページデータData2の書込み中であるバンク2のライトビジーが終了すると、直ちにページバッファ321に保持されていた次のページデータData6をバンク2にページアドレス情報とともに転送して、次のライト処理を開始する。その際、空になったページバッファ321の状態を示すBufstat信号はLow状態に変化する。
ページデータData8乃至11の書込みではバンク1のData9のライトビジーが長くなるが、既にページバッファ321は空であるため、メモリコントローラ200は次のページデータData12乃至15を転送する。書込み中であるバンク1の書込みページデータData13はページバッファ321に保持され、その書込み先であるバンク1とそのページアドレス情報はページアドレスバッファ331に保持される。
[処理手順]
図13は、本技術の第2の実施の形態におけるライトコマンド受信時の処理手順例を示す流れ図である。このライトコマンド受信時の処理は、メモリコントローラ200によって実行される。ここでは、ページバッファ321には1つのページのデータが保持可能であると想定している。
まず、ライトコマンドに係る先頭ページグループ番号が変数pに設定され、ライト対象の先頭バンク番号である「0」が変数bに設定される(ステップS941)。変数bには、1つのバンクに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS946)。また、変数pには、1つのページグループに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS948)。
メモリコントローラ200は、Bufstat信号およびBusy0乃至3信号を参照して、ライトリクエストを生成するか否かを判断する(ステップS942)。すなわち、Bufstat信号がfull状態を示している場合には、ライトリクエストを生成せずに待機するものと判断する。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、ライトリクエストを生成せずに待機するものと判断する。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、ライトリクエストを生成するものと判断する。
ライトリクエストを生成せずに待機するものと判断された場合には(ステップS942:No)、ライトリクエスト生成の条件を満たすまで待機する。一方、ライトリクエストを生成するものと判断された場合には(ステップS942:Yes)、ページ単位のライトリクエストを生成する(ステップS943)。その際、ライトリクエストのパラメータも併せて転送される。そして、ページデータが転送される(ステップS944)。
処理されたページの次のページも同じページグループ内にある場合には(ステップS945:Yes)、変数bを1つ増加して(ステップS946)、次のページの処理を繰り返す。次のページが同じページグループ内にない場合には(ステップS945:No)、次のページグループがライトコマンドの対象であるか否かが判断される(ステップS947)。
次のページグループがライトコマンドの対象である場合には(ステップS947:Yes)、変数pを1つ増加するとともに、変数bに先頭バンク番号である「0」を設定して(ステップS948)、次のページグループの処理を繰り返す。次のページグループがライトコマンドの対象でない場合には(ステップS947:No)、処理を終了する。
なお、ここでは便宜上、各バンクに関する処理を逐次的に行うように説明したが、各バンクに関する処理を並列に実行してもよい。
図14は、本技術の第2の実施の形態におけるライトリクエスト処理の処理手順例を示す流れ図である。このライトリクエストの処理は、コントローラインターフェース回路391および分配器341によって実行される。
ライトリクエストが生成されると、ライトリクエストに係る先頭バンク番号が変数bに設定される(ステップS951)。ここでは、先頭バンク番号として「0」を想定する。この変数bには、1つのバンクに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS959)。
メモリセルアレイ311におけるバンクbがビジー状態でなければ(ステップS952:No)、メモリセルアレイ311にデータおよびアドレスが転送されて(ステップS953)、バンクbのライト動作が開始される(ステップS954)。
一方、メモリセルアレイ311においてバンクbがビジー状態である場合(ステップS952:Yes)、ページバッファ321がフル状態か否かが判定される(ステップS955)。ページバッファ321がフル状態であれば(ステップS955:Yes)、ステップS952以降の処理を繰り返す。ページバッファ321がフル状態でなければ(ステップS955:No)、ページバッファ321にデータを保持し、ページアドレスバッファ331にバンク番号bおよびアドレスを保持する(ステップS956)。そして、ページバッファ321の空状態を解除してフル状態にする(ステップS957)。これにより、Bufstat信号がfull状態になる。
処理されたバンクの次のバンクもライトリクエストの対象である場合には(ステップS958:Yes)、変数bを1つ増加して(ステップS959)、次のバンクの処理を繰り返す。次のバンクがライトリクエストの対象でない場合には(ステップS958:No)、処理を終了する。
なお、ここでは便宜上、各バンクに関する処理を逐次的に行うように説明したが、各バンクに関する処理を並列に実行してもよい。
図15は、本技術の第2の実施の形態におけるページバッファ321の解放処理の処理手順例を示す流れ図である。このページバッファ321の解放処理は、コントローラインターフェース回路391および分配器341によって実行される。
メモリセルアレイ311において何れかのバンクのライト処理が完了すると、その完了したバンクのバンク番号eが取得される(ステップS961)。そして、ページバッファ321にバンクeのデータが保持されている場合には(ステップS962:Yes)、以下の処理を実行する。
すなわち、ページバッファ321からデータを転送し、ページアドレスバッファ331からアドレスを転送する(ステップS963)。そして、ページバッファ321のフル状態を解除して、空状態にする(ステップS964)。これにより、Bufstat信号がempty状態になる。その後、バンクeについてメモリセルアレイ311においてライト処理が開始される(ステップS965)。
一方、ページバッファ321にバンクeのデータが保持されていない場合には(ステップS962:No)、処理を終了する。
このように、本技術の第2の実施の形態によれば、ライト対象の一部のページについてメモリセルアレイ311においてビジー状態となっていても、ページバッファ321が利用可能である限りライト処理を継続することができる。
<3.第3の実施の形態>
[メモリの構成]
図16は、本技術の第3の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、メモリセルアレイ311と、ページバッファ321と、ページアドレスバッファ331と、分配器341と、コントローラインターフェース回路392と、ビジー信号生成回路351とを備える。この第3の実施の形態のメモリ300は、上述の第2の実施の形態とほぼ同様の構成を有するが、ビジー信号生成回路351を備える点で第2の実施の形態とは異なっている。
ビジー信号生成回路351は、Bufstat信号およびBusy0乃至3信号に基づいて、ライトリクエストを生成する際に参照されるBusy信号を生成するものである。すなわち、Bufstat信号がfull状態を示している場合には、Busy信号をHigh状態(ビジー状態)にする。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、Busy信号をHigh状態(ビジー状態)にする。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、Busy信号をLow状態(レディ状態)にする。このBusy信号の真理値表を図17に示す。
このビジー信号生成回路351によって生成されたBusy信号は、コントローラインターフェース回路392を介してメモリコントローラ200に供給される。メモリコントローラ200は、このBusy信号を参照して、次のページグループのライトリクエストを生成するか否かを判断する。すなわち、Busy信号がレディ状態であればライトリクエストを生成するが、Busy信号がビジー状態であればライトリクエストを生成しない。
第3の実施の形態ではビジー信号生成回路351を設けたことにより、第2の実施の形態においてBufstat信号およびBusy0乃至3信号を4本の信号線により供給していたものを、1本の信号線で済ませることができる。すなわち、メモリインターフェース202の本数を削減することができる。
なお、上述の機能構成において、メモリセルアレイ31は、メモリセルアレイ311の機能として実現される。また、部分単位バッファ32は、ページバッファ321の機能として実現される。また、リクエスト生成部21は、メモリコントローラ200の機能として実現される。また、ライト制御部35は、コントローラインターフェース回路392および分配器341の機能として実現される。
[動作タイミング]
図18は、本技術の第3の実施の形態における動作タイミング例を示す図である。この第3の実施の形態では、ビジー信号生成回路351によって、Bufstat信号およびBusy0乃至3信号からBusy信号を生成する。そのため、メモリコントローラ200では、このBusy信号に基づいて、ライトリクエストを生成するか否かを判断する。
[処理手順]
図19は、本技術の第3の実施の形態におけるライトコマンド受信時の処理手順例を示す流れ図である。このライトコマンド受信時の処理は、コントローラインターフェース回路392によって実行される。
まず、ライトコマンドに係る先頭ページ番号が変数pに設定される(ステップS971)。変数pには、1つのページに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS976)。
ビジー信号生成回路351は、Bufstat信号およびBusy0乃至3信号を参照して、Busy信号を生成する。そして、メモリコントローラ200は、Busy信号を参照して、ライトリクエストを生成するか否かを判断する(ステップS972)。すなわち、Bufstat信号がfull状態を示している場合には、Busy信号はビジー状態であり、ライトリクエストを生成せずに待機するものと判断する。また、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号の少なくとも2つがビジー状態を示している場合も、Busy信号はビジー状態であり、ライトリクエストを生成せずに待機するものと判断する。一方、Bufstat信号がempty状態を示していて、かつ、Busy0乃至3信号のうちビジー状態を示すものが1つ以下である場合には、Busy信号はレディ状態であり、ライトリクエストを生成するものと判断する。
ライトリクエストを生成せずに待機するものと判断された場合には(ステップS972:No)、ライトリクエスト生成の条件を満たすまで待機する。一方、ライトリクエストを生成するものと判断された場合には(ステップS972:Yes)、ページ単位のライトリクエストを生成する(ステップS973)。その際、ライトリクエストのパラメータも併せて転送される。そして、ページデータが転送される(ステップS974)。
処理されたページの次のページもライトコマンドの対象である場合には(ステップS975:Yes)、変数pを1つ増加して(ステップS976)、次のページの処理を繰り返す。次のページがライトコマンドの対象でない場合には(ステップS975:No)、処理を終了する。
図20は、本技術の第3の実施の形態におけるライトリクエスト処理の処理手順例を示す流れ図である。このライトリクエストの処理は、コントローラインターフェース回路392および分配器341によって実行される。
ライトリクエストが生成されると、ライトリクエストに係る先頭バンク番号が変数bに設定される(ステップS981)。ここでは、先頭バンク番号として「0」を想定する。この変数bには、1つのバンクに関する処理が終了するたびに1つずつ増加した値が設定されていく(ステップS989)。
メモリセルアレイ311におけるバンクbがビジー状態でなければ(ステップS982:No)、メモリセルアレイ311にデータおよびアドレスが転送されて(ステップS983)、バンクbのライト動作が開始される(ステップS984)。
一方、メモリセルアレイ311においてバンクbがビジー状態である場合(ステップS982:Yes)、ページバッファ321がフル状態か否かが判定される(ステップS985)。ページバッファ321がフル状態であれば(ステップS985:Yes)、ステップS982以降の処理を繰り返す。ページバッファ321がフル状態でなければ(ステップS985:No)、ページバッファ321にデータを保持し、ページアドレスバッファ331にバンク番号bおよびアドレスを保持する(ステップS986)。そして、ページバッファ321の空状態を解除してフル状態にする(ステップS987)。これにより、Bufstat信号がfull状態になる。
処理されたバンクの次のバンクもライトリクエストの対象である場合には(ステップS988:Yes)、変数bを1つ増加して(ステップS989)、次のバンクの処理を繰り返す。次のバンクがライトリクエストの対象でない場合には(ステップS988:No)、処理を終了する。
なお、ここでは便宜上、各バンクに関する処理を逐次的に行うように説明したが、各バンクに関する処理を並列に実行してもよい。
図21は、本技術の第3の実施の形態におけるページバッファ321の解放処理の処理手順例を示す流れ図である。このページバッファ321の解放処理は、コントローラインターフェース回路392および分配器341によって実行される。
メモリセルアレイ311において何れかのバンクのライト処理が完了すると、その完了したバンクのバンク番号eが取得される(ステップS991)。そして、ページバッファ321にバンクeのデータが保持されている場合には(ステップS992:Yes)、以下の処理を実行する。
すなわち、ページバッファ321からデータを転送し、ページアドレスバッファ331からアドレスを転送する(ステップS993)。そして、ページバッファ321のフル状態を解除して、空状態にする(ステップS994)。これにより、Bufstat信号がempty状態になる。その後、バンクeについてメモリセルアレイ311においてライト処理が開始される(ステップS995)。
一方、ページバッファ321にバンクeのデータが保持されていない場合には(ステップS992:No)、処理を終了する。
このように、本技術の第3の実施の形態によれば、マルチバンク構成において、ビジー信号生成回路351を設けることにより、メモリインターフェース202の本数を削減することができる。
<4.第4の実施の形態>
[メモリの構成]
図22は、本技術の第4の実施の形態におけるメモリ300およびメモリコントローラ200の構成例を示す図である。この第4の実施の形態では、ページバッファ220と、ページアドレスバッファ230と、ビジー信号生成回路250とがメモリコントローラ200に設けられている。それぞれの動作については、上述の第3の実施の形態と同様である。
このように、本技術の第4の実施の形態によれば、メモリインターフェース202からBufstat信号の信号線を省いて、メモリインターフェース202の本数を削減することができる。
<5.第5の実施の形態>
[メモリの構成]
図23は、本技術の第5の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、第2の実施の形態と同様に、メモリセルアレイ311と、分配器344と、コントローラインターフェース回路394とを備える。ただし、2つのページバッファA322およびB323と、それぞれに対応するページアドレスバッファA332およびB333とを備える点が異なる。
この第5の実施の形態では、第2の実施の形態と比べて、ページバッファの容量を増やすことにより、バンクビジーに起因する処理の遅延を改善するものである。性能上必要となるページバッファの数は、その対象となるメモリのライトビジー時間のばらつき特性に依存する。この例では、4バンクのライト処理を行った場合に、2バンク以下のライトビジーが長くなることを前提とした構成となる。
このように、本技術の第5の実施の形態によれば、ページバッファの容量を増やすことにより、バンクビジーに起因する処理の遅延を改善することができる。
<6.第6の実施の形態>
[メモリの構成]
図24は、本技術の第6の実施の形態におけるメモリ300の構成例を示す図である。このメモリ300は、メモリセルアレイを2つのメモリセルアレイ312および313に分割し、それぞれに対して、ページバッファA322およびB323と、ページアドレスバッファA332およびB333と、分配器342および343とを設けている。
この第6の実施の形態では、第5の実施の形態と同様にページバッファの容量を増しているが、ページバッファに接続されるメモリセルアレイバンクを限定することにより、チップ上の配置を容易にする。
このように、本技術の実施の形態によれば、部分単位バッファ32(サブページバッファ320、ページバッファ321等)を設けることにより、ライト単位の一部についてビジー状態となっていても可能な限りライト処理を継続することができる。これにより、ビジー時間のランダムなばらつきが原因となって発生するライトパフォーマンスの低下を改善することができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
なお、本技術は以下のような構成もとることができる。
(1)メモリに対するライト単位を分割した部分単位のデータを少なくとも1つ保持する部分単位バッファと、
前記部分単位の何れかについて前記メモリにおいてビジー状態を示す場合であっても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態であれば前記メモリに対する前記ライト単位のライトリクエストを生成するリクエスト生成部と
を具備する記憶制御装置。
(2)前記ライトリクエストが生成された場合、前記メモリがビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、前記メモリがビジー状態を示さない前記部分単位のデータを前記メモリに転送するライト制御部をさらに具備する前記(1)に記載の記憶制御装置。
(3)前記ライト制御部は、ビジー状態が解消された前記部分単位について次のデータが前記部分単位バッファに保持されている場合にはそのデータを前記部分単位バッファから前記メモリに転送する前記(2)に記載の記憶制御装置。
(4)前記メモリにおいてビジー状態を示す前記部分単位が存在し、かつ、当該部分単位のデータを前記部分単位バッファにおいて保持できない状態である場合にはビジー状態である旨を示し、前記部分単位バッファに空きがあり、かつ、前記部分単位の何れも前記メモリにおいてビジー状態を示さない場合、または、前記メモリにおいてビジー状態を示す前記部分単位が存在しても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態である場合にはレディ状態である旨を示す信号を生成する信号生成部をさらに具備し、
前記リクエスト生成部は、前記信号がレディ状態である旨を示す場合に前記ライト単位のライトリクエストを生成する
前記(1)から(3)のいずれかに記載の記憶制御装置。
(5)前記部分単位バッファは、前記部分単位のデータを複数保持する前記(1)から(4)のいずれかに記載の記憶制御装置。
(6)ライト単位を複数の部分単位に分割してデータを記憶するメモリセルアレイと、
前記部分単位のデータを少なくとも1つ保持する部分単位バッファと、
前記部分単位の何れかについて前記メモリセルアレイにおいてビジー状態を示す場合であっても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態であれば前記メモリセルアレイに対する前記ライト単位のライトリクエストを生成するリクエスト生成部と、
前記ライトリクエストが生成された場合、ビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、ビジー状態を示さない前記部分単位のデータを前記メモリセルアレイに転送するライト制御部と
を具備する記憶装置。
(7)前記メモリセルアレイは、不揮発性メモリ素子からなるメモリセルを含む前記(6)に記載の記憶装置。
(8)ライト単位を複数の部分単位に分割してデータを記憶するメモリセルアレイと、
前記ライト単位のライトコマンドを発行するホストコンピュータと、
前記部分単位のデータを少なくとも1つ保持する部分単位バッファと、
前記ライトコマンドが発行された際に、前記部分単位の何れかについて前記メモリセルアレイにおいてビジー状態を示す場合であっても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態であれば前記メモリセルアレイに対する前記ライト単位のライトリクエストを生成するリクエスト生成部と、
前記ライトリクエストが生成された場合、ビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、ビジー状態を示さない前記部分単位のデータを前記メモリセルアレイに転送するライト制御部と
を具備する情報処理システム。
(9)メモリのライト単位を分割した部分単位の何れかについて前記メモリにおいてビジー状態を示す場合であっても当該部分単位のデータを部分単位バッファにおいて保持できる状態であれば前記メモリに対する前記ライト単位のライトリクエストを生成するリクエスト生成手順と、
前記ライトリクエストが生成された場合、ビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、ビジー状態を示さない前記部分単位のデータを前記メモリに転送するライト制御手順と
を具備する記憶制御方法。
21 リクエスト生成部
31 メモリセルアレイ
32 部分単位バッファ
35 ライト制御部
100 ホストコンピュータ
200 メモリコントローラ
201 ホストインターフェース
202 メモリインターフェース
300 メモリ
310〜312 メモリセルアレイ
320 サブページバッファ
220、321 ページバッファ
230、330 サブページアドレスバッファ
331 ページアドレスバッファ
340〜344 分配器
250、351 ビジー信号生成回路
390〜394 コントローラインターフェース回路
400 メモリシステム

Claims (8)

  1. メモリに対するライト単位を分割した部分単位のデータを少なくとも1つ保持する部分単位バッファと、
    前記部分単位の何れかについて前記メモリにおいてビジー状態を示す場合であっても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態であれば前記メモリに対する前記ライト単位のライトリクエストを生成するリクエスト生成部と
    前記ライトリクエストが生成された場合、前記メモリがビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、前記メモリがビジー状態を示さない前記部分単位のデータを前記メモリに転送するライト制御部と
    を具備する記憶制御装置。
  2. 前記ライト制御部は、ビジー状態が解消された前記部分単位について次のデータが前記部分単位バッファに保持されている場合にはそのデータを前記部分単位バッファから前記メモリに転送する請求項記載の記憶制御装置。
  3. 前記メモリにおいてビジー状態を示す前記部分単位が存在し、かつ、当該部分単位のデータを前記部分単位バッファにおいて保持できない状態である場合にはビジー状態である旨を示し、前記部分単位バッファに空きがあり、かつ、前記部分単位の何れも前記メモリにおいてビジー状態を示さない場合、または、前記メモリにおいてビジー状態を示す前記部分単位が存在しても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態である場合にはレディ状態である旨を示す信号を生成する信号生成部をさらに具備し、
    前記リクエスト生成部は、前記信号がレディ状態である旨を示す場合に前記ライト単位のライトリクエストを生成する
    請求項1記載の記憶制御装置。
  4. 前記部分単位バッファは、前記部分単位のデータを複数保持する請求項1記載の記憶制御装置。
  5. ライト単位を複数の部分単位に分割してデータを記憶するメモリセルアレイと、
    前記部分単位のデータを少なくとも1つ保持する部分単位バッファと、
    前記部分単位の何れかについて前記メモリセルアレイにおいてビジー状態を示す場合であっても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態であれば前記メモリセルアレイに対する前記ライト単位のライトリクエストを生成するリクエスト生成部と、
    前記ライトリクエストが生成された場合、ビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、ビジー状態を示さない前記部分単位のデータを前記メモリセルアレイに転送するライト制御部と
    を具備する記憶装置。
  6. 前記メモリセルアレイは、不揮発性メモリ素子からなるメモリセルを含む請求項記載の記憶装置。
  7. ライト単位を複数の部分単位に分割してデータを記憶するメモリセルアレイと、
    前記ライト単位のライトコマンドを発行するホストコンピュータと、
    前記部分単位のデータを少なくとも1つ保持する部分単位バッファと、
    前記ライトコマンドが発行された際に、前記部分単位の何れかについて前記メモリセルアレイにおいてビジー状態を示す場合であっても当該部分単位のデータを前記部分単位バッファにおいて保持できる状態であれば前記メモリセルアレイに対する前記ライト単位のライトリクエストを生成するリクエスト生成部と、
    前記ライトリクエストが生成された場合、ビジー状態を示す前記部分単位のデータを前記部分単位バッファに保持させ、ビジー状態を示さない前記部分単位のデータを前記メモリセルアレイに転送するライト制御部と
    を具備する情報処理システム。
  8. メモリのライト単位を分割した部分単位の何れかについて前記メモリにおいてビジー状態を示す場合であっても当該部分単位のデータを部分単位バッファにおいて保持できる状態であれば前記メモリに対する前記ライト単位のライトリクエストをリクエスト生成部が生成するリクエスト生成手順と、
    前記ライトリクエストが生成された場合、ビジー状態を示す前記部分単位のデータをライト制御部が前記部分単位バッファに保持させ、ビジー状態を示さない前記部分単位のデータを前記ライト制御部が前記メモリに転送するライト制御手順と
    を具備する記憶制御方法。
JP2013045125A 2013-03-07 2013-03-07 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 Active JP5853973B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013045125A JP5853973B2 (ja) 2013-03-07 2013-03-07 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US14/189,362 US9455017B2 (en) 2013-03-07 2014-02-25 Storage control device, storage device, information processing system, and storage control method
CN201410069124.5A CN104035878B (zh) 2013-03-07 2014-02-27 存储控制器件、存储器件、信息处理系统及存储控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013045125A JP5853973B2 (ja) 2013-03-07 2013-03-07 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法

Publications (2)

Publication Number Publication Date
JP2014174659A JP2014174659A (ja) 2014-09-22
JP5853973B2 true JP5853973B2 (ja) 2016-02-09

Family

ID=51466650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013045125A Active JP5853973B2 (ja) 2013-03-07 2013-03-07 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法

Country Status (3)

Country Link
US (1) US9455017B2 (ja)
JP (1) JP5853973B2 (ja)
CN (1) CN104035878B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786400B (zh) * 2014-12-25 2020-01-31 研祥智能科技股份有限公司 一种异构混合内存组件、系统及存储方法
US9761312B1 (en) 2016-03-16 2017-09-12 Micron Technology, Inc. FeRAM-DRAM hybrid memory
WO2017191706A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 メモリ制御回路、メモリ、記憶装置、および、情報処理システム
JP6862951B2 (ja) * 2017-03-15 2021-04-21 富士通株式会社 メモリ制御装置、情報処理装置およびメモリ制御方法
US10825526B1 (en) * 2019-06-24 2020-11-03 Sandisk Technologies Llc Non-volatile memory with reduced data cache buffer
KR20210066631A (ko) * 2019-11-28 2021-06-07 삼성전자주식회사 메모리에 데이터를 기입하기 위한 장치 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3092566B2 (ja) * 1997-10-30 2000-09-25 日本電気株式会社 パイプライン方式のバスを用いたメモリ制御方式
JP2000132983A (ja) * 1998-10-26 2000-05-12 Sony Corp 情報記録媒体素子、情報記録装置及び情報記録方法、並びに情報再生装置及び情報再生方法
JP2000132982A (ja) * 1998-10-26 2000-05-12 Sony Corp 情報記録媒体素子、情報記録装置及び情報記録方法、並びに情報再生装置及び情報再生方法
JP2001266579A (ja) * 2000-01-12 2001-09-28 Hitachi Ltd 不揮発性半導体記憶装置および半導体ディスク装置
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
US6687158B2 (en) * 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
US6687791B2 (en) * 2002-01-07 2004-02-03 Sun Microsystems, Inc. Shared cache for data integrity operations
KR100713984B1 (ko) * 2005-09-15 2007-05-04 주식회사 하이닉스반도체 멀티-플레인 구조를 갖는 비휘발성 메모리 장치의 프로그램방법
CN101278352B (zh) * 2005-09-30 2012-05-30 莫塞德技术公司 菊花链级联设备和方法
US20090172335A1 (en) * 2007-12-31 2009-07-02 Anand Krishnamurthi Kulkarni Flash devices with raid
US8645617B2 (en) * 2008-12-09 2014-02-04 Rambus Inc. Memory device for concurrent and pipelined memory operations
TWI403897B (zh) * 2009-07-30 2013-08-01 Silicon Motion Inc 記憶裝置及其資料管理方法
JP2013137713A (ja) * 2011-12-28 2013-07-11 Toshiba Corp メモリコントローラ、メモリシステムおよびメモリ書込み方法

Also Published As

Publication number Publication date
US9455017B2 (en) 2016-09-27
CN104035878B (zh) 2018-02-09
JP2014174659A (ja) 2014-09-22
CN104035878A (zh) 2014-09-10
US20140258606A1 (en) 2014-09-11

Similar Documents

Publication Publication Date Title
JP5853973B2 (ja) 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
JP6447629B2 (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
JP5929790B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP5839048B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP5929456B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP6102632B2 (ja) 記憶制御装置、ホストコンピュータ、情報処理システムおよび記憶制御装置の制御方法
US10387047B2 (en) Memory circuit with improved read and write access
CN103995756A (zh) 存储控制器、存储设备、信息处理系统和存储控制方法
JP6891817B2 (ja) メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法
JP6520576B2 (ja) メモリ、情報処理システムおよびメモリの制御方法
US20170372797A1 (en) Method for screening bad column in data storage medium
JP2014086062A (ja) 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
JP2015011421A (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
WO2016017321A1 (ja) メモリコントローラ、記憶装置、情報処理システム、および、メモリコントローラ制御方法
JP5867264B2 (ja) 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法
JP6493062B2 (ja) メモリコントローラ、メモリシステムおよび情報処理システム
JP6107625B2 (ja) 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法
CN103365783A (zh) 存储控制装置、存储装置、信息处理系统和处理方法
WO2016035451A1 (ja) 記憶制御装置、記憶装置、および、記憶制御方法
WO2017073127A1 (ja) メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
JP5853843B2 (ja) 記憶制御装置、記憶装置、および、それらにおける処理方法
JP2014013635A (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
WO2019244417A1 (ja) 記憶制御装置、記憶装置および記憶制御方法
JP2017021877A (ja) 不揮発メモリ、メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法
CN116324736A (zh) 存储器控制电路、存储器以及存储器模块

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151014

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: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151123

R151 Written notification of patent or utility model registration

Ref document number: 5853973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250