JP6133591B2 - 半導体記憶装置及びコンピュータシステム - Google Patents

半導体記憶装置及びコンピュータシステム Download PDF

Info

Publication number
JP6133591B2
JP6133591B2 JP2012280245A JP2012280245A JP6133591B2 JP 6133591 B2 JP6133591 B2 JP 6133591B2 JP 2012280245 A JP2012280245 A JP 2012280245A JP 2012280245 A JP2012280245 A JP 2012280245A JP 6133591 B2 JP6133591 B2 JP 6133591B2
Authority
JP
Japan
Prior art keywords
data
content data
semiconductor memory
read
address
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
JP2012280245A
Other languages
English (en)
Other versions
JP2014123328A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2012280245A priority Critical patent/JP6133591B2/ja
Publication of JP2014123328A publication Critical patent/JP2014123328A/ja
Application granted granted Critical
Publication of JP6133591B2 publication Critical patent/JP6133591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、半導体記憶装置及びコンピュータシステムに関する。
メモリコントローラと、NAND型フラッシュメモリ等の半導体メモリとを備えた半導体記憶装置において、メモリコントローラは、ホスト装置から入力された読み出し要求に基づいて半導体メモリからデータを読み出し、読み出したデータをホスト装置に出力する。しかし、NAND型フラッシュメモリからデータを読み出す際には、レイテンシが発生する。そのため、ホスト装置から不連続の複数アドレスの読み出し要求を受けた場合には、NAND型フラッシュメモリから各データを読み出す度にレイテンシが発生し、その結果、トータルのレイテンシが大きくなってしまう。
下記特許文献1には、キャッシュ制御によってレイテンシを低減することを企図した半導体記憶装置が開示されている。半導体記憶装置は、NAND型フラッシュメモリ等の不揮発性メモリと、DRAM等の揮発性メモリとを備えて構成されている。不揮発性メモリに記憶されている複数のデータのうちアクセスされる可能性の高いデータが、過去のアクセス履歴に基づいて特定される。そして、当該アクセスされる可能性の高いデータが揮発性メモリに記憶されることにより、キャッシュ制御が実行される。
特開2012−64158号公報
しかし、上記特許文献1に開示された半導体記憶装置によると、揮発性メモリの記憶容量は無制限ではないため、読み出し対象のデータが揮発性メモリに記憶されていない状況(つまりキャッシュ・ミス・ヒット)が生じ得る。そして、キャッシュ・ミス・ヒットが生じた場合には、不揮発性メモリにアクセスすることによって、読み出し対象のデータを不揮発性メモリから読み出す必要がある。従って、その際にレイテンシが発生するため、上記特許文献1に開示された半導体記憶装置ではレイテンシの低減効果が十分でないという問題がある。
また、大容量の揮発性メモリを使用することにより、又は揮発性メモリを複数使用することにより、キャッシュ・ヒット率を向上することができるが、この場合には、製品のコストが上昇するとともに、コントローラによるキャッシュ制御が複雑化するという問題がある。
本発明はかかる問題を解決するために成されたものであり、半導体記憶装置に記憶されたデータをホスト装置が読み出す際のレイテンシを効果的に低減することが可能であり、しかも、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能な、半導体記憶装置及びコンピュータシステムを得ることを目的とする。
本発明の第1の態様に係る半導体記憶装置は、ホスト装置に接続される半導体記憶装置であって、コンテンツデータを記憶する半導体メモリと、前記半導体メモリを制御するメモリコントローラと、を備え、前記メモリコントローラは、それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、制御部と、を有し、前記制御部は、前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、前記パラメータ取得部が取得した複数の先行パラメータに基づいて設定される複数の読み出しアドレスの中から、特定のキャッシュ対象アドレスを選択するアドレス選択部をさらに備え、前記複数のデータバッファは、キャッシュ対象アドレスに対応するキャッシュ対象コンテンツデータを格納する第3のデータバッファをさらに含み、前記制御部は、前記アドレス設定部がキャッシュ対象アドレスを設定した場合には、前記半導体メモリからキャッシュ対象コンテンツデータを読み出して前記第3のデータバッファに格納し、当該キャッシュ対象コンテンツデータを前記第3のデータバッファからホスト装置に出力し、それ以降は、前記第3のデータバッファに格納されているキャッシュ対象コンテンツデータを、前記第3のデータバッファからホスト装置に出力することを特徴とするものである。
第1の態様に係る半導体記憶装置によれば、パラメータ取得部は、それぞれに読み出しアドレスを含む複数の先行パラメータをホスト装置から取得し、パラメータ保持部は、パラメータ取得部が取得した複数の先行パラメータを保持し、アドレス設定部は、パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定する。そして、制御部は、アドレス設定部が設定した第1の読み出しアドレスに基づいて、半導体メモリから第1のコンテンツデータを読み出して第1のデータバッファに格納し、当該第1のコンテンツデータを第1のデータバッファからホスト装置に出力する。また、制御部は、アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、半導体メモリから第2のコンテンツデータを読み出して第2のデータバッファに格納し、当該第2のコンテンツデータを第2のデータバッファからホスト装置に出力する。従って、たとえ第1の読み出しアドレスと第2の読み出しアドレスとが不連続の場合であっても、第1のデータバッファからホスト装置への第1のコンテンツデータの出力と、第2のデータバッファからホスト装置への第2のコンテンツデータの出力とを、レイテンシなく連続して実行することができる。その結果、半導体記憶装置に記憶されたデータ(特に第2のコンテンツデータ)をホスト装置が読み出す際のレイテンシを効果的に低減することが可能となる。また、キャッシュ・ヒット率の向上のために大容量のキャッシュメモリ又は複数のキャッシュメモリを使用する場合と比較すると、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能となる。
また、第1の態様に係る半導体記憶装置によれば、アドレス選択部は、パラメータ取得部が取得した複数の先行パラメータに基づいて設定される複数の読み出しアドレスの中から、特定のキャッシュ対象アドレスを選択する。そして、制御部は、アドレス設定部がキャッシュ対象アドレスを設定した場合には、半導体メモリからキャッシュ対象コンテンツデータを読み出して第3のデータバッファに格納し、当該キャッシュ対象コンテンツデータを第3のデータバッファからホスト装置に出力する。また、制御部は、第3のデータバッファへのキャッシュ対象コンテンツデータの格納が完了した以降は、第3のデータバッファに格納されているキャッシュ対象コンテンツデータを、第3のデータバッファからホスト装置に出力する。このように、第3のデータバッファをキャッシュ制御用のバッファとして使用することにより、第3のデータバッファに格納されているキャッシュ対象コンテンツデータに関する2回目以降の読み出しにおいては、半導体メモリへのアクセスが不要となる。その結果、レイテンシの発生を回避できるとともに、読み出しアクセスに起因してメモリセルに与えるダメージを回避することが可能となる。
本発明の第2の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記制御部は、前記第1のデータバッファへの第1のコンテンツデータの格納が完了すると、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力を開始するとともに、前記半導体メモリから前記第2のデータバッファへの第2のコンテンツデータの読み出しを開始することを特徴とするものである。
第2の態様に係る半導体記憶装置によれば、制御部は、第1のデータバッファへの第1のコンテンツデータの格納が完了すると、第1のデータバッファからホスト装置への第1のコンテンツデータの出力を開始する。従って、第1のコンテンツデータをホスト装置が読み出す際のレイテンシを、最小限に抑えることが可能となる。また、制御部は、第1のデータバッファへの第1のコンテンツデータの格納が完了すると、半導体メモリから第2のデータバッファへの第2のコンテンツデータの読み出しを開始する。このように、第2のコンテンツデータの読み出しを早期に開始することにより、第2のデータバッファへの第2のコンテンツデータの格納を、早期に完了することができる。その結果、第2のデータバッファからホスト装置へ第2のコンテンツデータを出力する際のレイテンシを、回避又は抑制することが可能となる。
本発明の第3の態様に係る半導体記憶装置は、第1又は第2の態様に係る半導体記憶装置において特に、前記制御部は、前記アドレス設定部が第2の読み出しアドレスより後に設定した第3の読み出しアドレスに基づいて、前記半導体メモリから第3のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第3のコンテンツデータを前記第1のデータバッファからホスト装置に出力することを特徴とするものである。
第3の態様に係る半導体記憶装置によれば、制御部は、アドレス設定部が第2の読み出しアドレスより後に設定した第3の読み出しアドレスに基づいて、半導体メモリから第3のコンテンツデータを読み出して第1のデータバッファに格納し、当該第3のコンテンツデータを第1のデータバッファからホスト装置に出力する。このように、第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了した後には、第1のデータバッファから第1のコンテンツデータを消去して、第3のコンテンツデータを第1のデータバッファに格納することにより、必要なデータバッファの個数を削減することが可能となる。
本発明の第4の態様に係る半導体記憶装置は、第3の態様に係る半導体記憶装置において特に、前記制御部は、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了すると同時に、前記半導体メモリから前記第1のデータバッファへの第3のコンテンツデータの格納を開始することを特徴とするものである。
第4の態様に係る半導体記憶装置によれば、制御部は、第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了すると同時に、半導体メモリから第1のデータバッファへの第3のコンテンツデータの格納を開始する。従って、第1のデータバッファへの第3のコンテンツデータの格納を、早期に完了することができる。その結果、第1のデータバッファからホスト装置へ第3のコンテンツデータを出力する際のレイテンシを、回避又は抑制することが可能となる。
本発明の第5の態様に係る半導体記憶装置は、第4の態様に係る半導体記憶装置において特に、前記アドレス設定部は、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了する前に、第3の読み出しアドレスを設定することを特徴とするものである。
第5の態様に係る半導体記憶装置によれば、アドレス設定部は、第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了する前に、第3の読み出しアドレスを設定する。このように、半導体メモリから第3のコンテンツデータを読み出すための準備を早期に開始しておくことにより、第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了すると、直ちに第1のデータバッファへの第3のコンテンツデータの格納を開始することが可能となる。
本発明の第6の態様に係る半導体記憶装置は、第1〜第5のいずれか一つの態様に係る半導体記憶装置において特に、先行パラメータは、データサイズをさらに含むことを特徴とするものである。
第6の態様に係る半導体記憶装置によれば、先行パラメータには、読み出しアドレス及びデータサイズが含まれる。従って、連続した複数のページを読み出す場合には、ページ数に応じたデータサイズを設定することによって先行パラメータは一つで足りるため、ページ毎に個別の先行パラメータを発行するという煩雑な処理を回避することが可能となる。
本発明の第7の態様に係る半導体記憶装置は、第1〜第6のいずれか一つの態様に係る半導体記憶装置において特に、前記アドレス選択部は、複数の先行パラメータを前記パラメータ取得部から前記パラメータ保持部に入力する際に、キャッシュ対象アドレスを選択することを特徴とするものである。
第7の態様に係る半導体記憶装置によれば、アドレス選択部は、複数の先行パラメータをパラメータ取得部からパラメータ保持部に入力する際に、キャッシュ対象アドレスを選択する。従って、パラメータ取得部が取得した複数の先行パラメータに基づいて設定される複数の読み出しアドレスのうちの最適な読み出しアドレスを、キャッシュ対象アドレスとして適切に選択することが可能となる。
本発明の第8の態様に係る半導体記憶装置は、第1〜第7のいずれか一つの態様に係る半導体記憶装置において特に、前記アドレス選択部は、先行パラメータを前記パラメータ保持部から前記アドレス設定部に入力する際に、キャッシュ対象アドレスを選択することを特徴とするものである。
第8の態様に係る半導体記憶装置によれば、アドレス選択部は、先行パラメータをパラメータ保持部からアドレス設定部に入力する際に、キャッシュ対象アドレスを選択する。従って、読み出しの進行状況に応じて各時点での最適な読み出しアドレスを、キャッシュ対象アドレスとして適切に選択することが可能となる。
本発明の第9の態様に係る半導体記憶装置は、第1〜第8のいずれか一つの態様に係る半導体記憶装置において特に、前記アドレス選択部は、コンテンツデータの属性に応じて設定される優先順位に基づいて、キャッシュ対象アドレスを選択することを特徴とするものである。
の態様に係る半導体記憶装置によれば、アドレス選択部は、コンテンツデータの属性に応じて設定される優先順位に基づいて、キャッシュ対象アドレスを選択する。従って、プログラムコード、静止画データ、音声データ、及び動画データ等のコンテンツデータの属性に応じて予め優先順位を設定しておくことにより、アドレス選択部は、優先順位の高いコンテンツデータに対応する読み出しアドレスを優先的にキャッシュ対象アドレスとして選択することができる。その結果、優先順位の高いコンテンツデータに対して、キャッシュ制御によるメリットを享受することが可能となる。
本発明の第10の態様に係る半導体記憶装置は、第9の態様に係る半導体記憶装置において特に、先行パラメータは、コンテンツデータの属性情報をさらに含み、前記アドレス選択部は、当該属性情報に基づいて優先順位を決定することを特徴とするものである。
第10の態様に係る半導体記憶装置によれば、アドレス選択部は、先行パラメータに含まれる属性情報に基づいて優先順位を決定する。このように、属性情報を先行パラメータに含めておくことにより、アドレス選択部は、当該属性情報に基づいてキャッシュ対象アドレスを適切に選択することが可能となる。
本発明の第11の態様に係る半導体記憶装置は、第9又は第10の態様に係る半導体記憶装置において特に、前記アドレス選択部は、読み出しアドレスの出現順序に基づいて、キャッシュ対象アドレスを選択することを特徴とするものである。
第11の態様に係る半導体記憶装置によれば、アドレス選択部は、読み出しアドレスの出現順序に基づいて、キャッシュ対象アドレスを選択する。従って、優先順位が最も高いコンテンツデータに対応する読み出しアドレスが複数存在する場合には、その中で最初に出現したアドレスをキャッシュ対象アドレスとして選択する等により、アドレス選択部によってキャッシュ対象アドレスを適切に選択することが可能となる。
本発明の第12の態様に係る半導体記憶装置は、第9第11のいずれか一つの態様に係る半導体記憶装置において特に、前記アドレス選択部は、読み出しアドレスの出現頻度に基づいて、キャッシュ対象アドレスを選択することを特徴とするものである。
第12の態様に係る半導体記憶装置によれば、アドレス選択部は、読み出しアドレスの出現頻度に基づいて、キャッシュ対象アドレスを選択する。従って、優先順位が最も高いコンテンツデータに対応する読み出しアドレスが複数存在する場合には、その中で出現頻度が最も高いアドレスをキャッシュ対象アドレスとして選択する等により、アドレス選択部によってキャッシュ対象アドレスを適切に選択することが可能となる。
本発明の第13の態様に係る半導体記憶装置は、ホスト装置に接続される半導体記憶装置であって、コンテンツデータを記憶する半導体メモリと、前記半導体メモリを制御するメモリコントローラと、を備え、前記メモリコントローラは、それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、制御部と、を有し、前記制御部は、前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、前記アドレス設定部が第2の読み出しアドレスより後に設定した第3の読み出しアドレスに基づいて、前記半導体メモリから第3のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第3のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了した後、第2のコンテンツデータのうち所定の遡及可能範囲に相当するデータが前記第2のデータバッファから出力された時点で、前記半導体メモリから前記第1のデータバッファへの第3のコンテンツデータの格納を開始することを特徴とするものである。
第13の態様に係る半導体記憶装置によれば、パラメータ取得部は、それぞれに読み出しアドレスを含む複数の先行パラメータをホスト装置から取得し、パラメータ保持部は、パラメータ取得部が取得した複数の先行パラメータを保持し、アドレス設定部は、パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定する。そして、制御部は、アドレス設定部が設定した第1の読み出しアドレスに基づいて、半導体メモリから第1のコンテンツデータを読み出して第1のデータバッファに格納し、当該第1のコンテンツデータを第1のデータバッファからホスト装置に出力する。また、制御部は、アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、半導体メモリから第2のコンテンツデータを読み出して第2のデータバッファに格納し、当該第2のコンテンツデータを第2のデータバッファからホスト装置に出力する。従って、たとえ第1の読み出しアドレスと第2の読み出しアドレスとが不連続の場合であっても、第1のデータバッファからホスト装置への第1のコンテンツデータの出力と、第2のデータバッファからホスト装置への第2のコンテンツデータの出力とを、レイテンシなく連続して実行することができる。その結果、半導体記憶装置に記憶されたデータ(特に第2のコンテンツデータ)をホスト装置が読み出す際のレイテンシを効果的に低減することが可能となる。また、キャッシュ・ヒット率の向上のために大容量のキャッシュメモリ又は複数のキャッシュメモリを使用する場合と比較すると、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能となる。
また、第13の態様に係る半導体記憶装置によれば、制御部は、アドレス設定部が第2の読み出しアドレスより後に設定した第3の読み出しアドレスに基づいて、半導体メモリから第3のコンテンツデータを読み出して第1のデータバッファに格納し、当該第3のコンテンツデータを第1のデータバッファからホスト装置に出力する。このように、第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了した後には、第1のデータバッファから第1のコンテンツデータを消去して、第3のコンテンツデータを第1のデータバッファに格納することにより、必要なデータバッファの個数を削減することが可能となる。
また、第13の態様に係る半導体記憶装置によれば、制御部は、第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了した後、第2のコンテンツデータのうち所定の遡及可能範囲に相当するデータが第2のデータバッファから出力された時点で、半導体メモリから第1のデータバッファへの第3のコンテンツデータの格納を開始する。従って、第2のコンテンツデータに関して遡及可能範囲のデータ出力が完了するまでの期間内においては、第1のデータバッファには第1のコンテンツデータが格納されている。そのため、その期間内にホスト装置から第1のコンテンツデータの読み出し要求を受けた場合には、半導体メモリへアクセスすることなく、第1のデータバッファからホスト装置に第1のコンテンツデータを出力することが可能となる。
本発明の第14の態様に係る半導体記憶装置は、第13の態様に係る半導体記憶装置において特に、先行パラメータは、コンテンツデータの属性情報をさらに含み、前記制御部は、当該属性情報に基づいて遡及可能範囲を決定することを特徴とするものである。
第14の態様に係る半導体記憶装置によれば、制御部は、先行パラメータに含まれる属性情報に基づいて遡及可能範囲を決定する。従って、プログラムコード、静止画データ、音声データ、及び動画データ等のコンテンツデータの属性に応じて、それぞれ最適な遡及可能範囲を設定することが可能となる。また、属性情報を先行パラメータに含めておくことにより、制御部は、当該属性情報に基づいてコンテンツデータの属性別の遡及可能範囲を適切に設定することが可能となる。
本発明の第15の態様に係る半導体記憶装置は、ホスト装置に接続される半導体記憶装置であって、コンテンツデータを記憶する半導体メモリと、前記半導体メモリを制御するメモリコントローラと、を備え、前記メモリコントローラは、それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、制御部と、を有し、前記制御部は、前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、前記複数のデータバッファからホスト装置にコンテンツデータが出力されている期間内に、前記半導体メモリのリフレッシュ処理を実行するリフレッシュ処理部をさらに備え、前記複数のデータバッファの必要段数、及び、前記パラメータ保持部の必要段数は、リフレッシュ処理の所要時間に基づいて予め設定されており、前記制御部は、前記複数のデータバッファへのコンテンツデータの格納が完了した後に、前記複数のデータバッファからホスト装置へのコンテンツデータの出力を開始することを特徴とするものである。
第15の態様に係る半導体記憶装置によれば、パラメータ取得部は、それぞれに読み出しアドレスを含む複数の先行パラメータをホスト装置から取得し、パラメータ保持部は、パラメータ取得部が取得した複数の先行パラメータを保持し、アドレス設定部は、パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定する。そして、制御部は、アドレス設定部が設定した第1の読み出しアドレスに基づいて、半導体メモリから第1のコンテンツデータを読み出して第1のデータバッファに格納し、当該第1のコンテンツデータを第1のデータバッファからホスト装置に出力する。また、制御部は、アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、半導体メモリから第2のコンテンツデータを読み出して第2のデータバッファに格納し、当該第2のコンテンツデータを第2のデータバッファからホスト装置に出力する。従って、たとえ第1の読み出しアドレスと第2の読み出しアドレスとが不連続の場合であっても、第1のデータバッファからホスト装置への第1のコンテンツデータの出力と、第2のデータバッファからホスト装置への第2のコンテンツデータの出力とを、レイテンシなく連続して実行することができる。その結果、半導体記憶装置に記憶されたデータ(特に第2のコンテンツデータ)をホスト装置が読み出す際のレイテンシを効果的に低減することが可能となる。また、キャッシュ・ヒット率の向上のために大容量のキャッシュメモリ又は複数のキャッシュメモリを使用する場合と比較すると、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能となる。
また、第15の態様に係る半導体記憶装置によれば、リフレッシュ処理部は、複数のデータバッファからホスト装置にコンテンツデータが出力されている期間内に、半導体メモリのリフレッシュ処理を実行する。このように、半導体メモリからデータバッファへのデータの読み出しが行われていない空き時間を利用して、半導体メモリのリフレッシュ処理を実行することにより、空き時間を有効に活用することが可能となる。
また、第15の態様に係る半導体記憶装置によれば、複数のデータバッファの必要段数、及び、パラメータ保持部の必要段数は、リフレッシュ処理の所要時間に基づいて予め設定されており、制御部は、複数のデータバッファへのコンテンツデータの格納が完了した後に、複数のデータバッファからホスト装置へのコンテンツデータの出力を開始する。従って、比較的長い空き時間を確保できるため、複数のデータバッファ内の格納データが全て枯渇してしまう前に、リフレッシュ処理を完了することができる。そのため、制御部は、リフレッシュ処理が完了した後に、データ出力済みのデータバッファへの次のコンテンツデータの格納を開始できるため、複数のデータバッファへの次のコンテンツデータの格納を早期に完了することができる。その結果、複数のデータバッファからホスト装置への次のコンテンツデータの出力を、早期に開始することが可能となる。
本発明の第16の態様に係る半導体記憶装置は、ホスト装置に接続される半導体記憶装置であって、コンテンツデータを記憶する半導体メモリと、前記半導体メモリを制御するメモリコントローラと、を備え、前記メモリコントローラは、それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、制御部と、を有し、前記制御部は、前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、前記複数のデータバッファからホスト装置にコンテンツデータが出力されている期間内に、前記半導体メモリの多重化処理を実行する多重化処理部をさらに備え、複数のデータバッファの必要段数、及び、前記パラメータ保持部の必要段数は、多重化処理の所要時間に基づいて予め設定されており、前記制御部は、前記複数のデータバッファへのコンテンツデータの格納が完了した後に、前記複数のデータバッファからホスト装置へのコンテンツデータの出力を開始することを特徴とするものである。
第16の態様に係る半導体記憶装置によれば、パラメータ取得部は、それぞれに読み出しアドレスを含む複数の先行パラメータをホスト装置から取得し、パラメータ保持部は、パラメータ取得部が取得した複数の先行パラメータを保持し、アドレス設定部は、パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定する。そして、制御部は、アドレス設定部が設定した第1の読み出しアドレスに基づいて、半導体メモリから第1のコンテンツデータを読み出して第1のデータバッファに格納し、当該第1のコンテンツデータを第1のデータバッファからホスト装置に出力する。また、制御部は、アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、半導体メモリから第2のコンテンツデータを読み出して第2のデータバッファに格納し、当該第2のコンテンツデータを第2のデータバッファからホスト装置に出力する。従って、たとえ第1の読み出しアドレスと第2の読み出しアドレスとが不連続の場合であっても、第1のデータバッファからホスト装置への第1のコンテンツデータの出力と、第2のデータバッファからホスト装置への第2のコンテンツデータの出力とを、レイテンシなく連続して実行することができる。その結果、半導体記憶装置に記憶されたデータ(特に第2のコンテンツデータ)をホスト装置が読み出す際のレイテンシを効果的に低減することが可能となる。また、キャッシュ・ヒット率の向上のために大容量のキャッシュメモリ又は複数のキャッシュメモリを使用する場合と比較すると、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能となる。
また、第16の態様に係る半導体記憶装置によれば、多重化処理部は、複数のデータバッファからホスト装置にコンテンツデータが出力されている期間内に、半導体メモリの多重化処理を実行する。このように、半導体メモリからデータバッファへのデータの読み出しが行われていない空き時間を利用して、半導体メモリの多重化処理を実行することにより、空き時間を有効に活用することが可能となる。
また、第16の態様に係る半導体記憶装置によれば、複数のデータバッファの必要段数、及び、パラメータ保持部の必要段数は、多重化処理の所要時間に基づいて予め設定されており、制御部は、複数のデータバッファへのコンテンツデータの格納が完了した後に、複数のデータバッファからホスト装置へのコンテンツデータの出力を開始する。従って、比較的長い空き時間を確保できるため、複数のデータバッファ内の格納データが全て枯渇してしまう前に、多重化処理を完了することができる。そのため、制御部は、多重化処理が完了した後に、データ出力済みのデータバッファへの次のコンテンツデータの格納を開始できるため、複数のデータバッファへの次のコンテンツデータの格納を早期に完了することができる。その結果、複数のデータバッファからホスト装置への次のコンテンツデータの出力を、早期に開始することが可能となる。
本発明の第17の態様に係るコンピュータシステムは、ホスト装置と、第1〜第16のいずれか一つの態様に係る半導体記憶装置とを備えることを特徴とするものである。
第17の態様に係るコンピュータシステムによれば、半導体記憶装置に記憶されたデータをホスト装置が読み出す際のレイテンシを効果的に低減することが可能となる。また、キャッシュ・ヒット率の向上のために大容量のキャッシュメモリ又は複数のキャッシュメモリを使用する場合と比較すると、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能となる。
本発明によれば、半導体記憶装置に記憶されたデータをホスト装置が読み出す際のレイテンシを効果的に低減することが可能であり、しかも、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能な、半導体記憶装置及びコンピュータシステムを得ることができる。
コンピュータシステムの構成を簡略化して示す図である。 メモリコントローラの構成を簡略化して示す図である。 パラメータ保持部及びアドレス設定部の構成を簡略化して示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 メモリコントローラの構成を簡略化して示す図である。 優先順位設定情報の一例を示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リード開始時のキャッシュ対象アドレスを選択するための具体的なアルゴリズムを示すフローチャートである。 先行リード開始時のキャッシュ対象アドレスを選択するための具体的なアルゴリズムを示すフローチャートである。 先行リード実行中のキャッシュ対象アドレスを選択するための具体的なアルゴリズムを示すフローチャートである。 遡及可能範囲設定情報の一例を示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 メモリコントローラの構成を簡略化して示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 先行リードの処理シーケンスを示す図である。 メモリコントローラの構成を簡略化して示す図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
<実施の形態1>
図1は、本発明の実施の形態1に係るコンピュータシステム1の構成を簡略化して示す図である。コンピュータシステム1は、CPU等のホスト装置2と、ホスト装置2に接続される半導体記憶装置3とを備えている。半導体記憶装置3は、メモリコントローラ4と、メモリコントローラ4によって制御される半導体メモリ5とを備えている。半導体メモリ5は、例えばNAND型フラッシュメモリによって構成されている。半導体メモリ5の記憶領域は複数のブロックに分割されており、各ブロックには複数のページが含まれている。NAND型フラッシュメモリにおいて、ページはデータの書き込み及び読み出しの最小単位であり、ブロックはデータの消去の最小単位である。なお、以下の例においては、1ページが8kByteのNAND型フラッシュメモリを並列に4台使用することにより、半導体メモリ5のページサイズを32kbyteとする。
半導体メモリ5には、プログラムコード、静止画データ、音声データ、及び動画データ等の、様々な属性のコンテンツデータが記憶されている。ホスト装置2は、メモリコントローラ4に読み出しコマンドを入力することにより、メモリコントローラ4によって半導体メモリ5から読み出された所望のコンテンツデータを、メモリコントローラ4から取得する。
不連続のアドレスを含む複数のコンテンツデータをシーケンシャルに読み出す場合(以下「先行リード」と称す)には、ホスト装置2は、先行パラメータの入力コマンド及び先行リードの実行コマンドをメモリコントローラ4に入力することにより、半導体メモリ5から読み出された複数のコンテンツデータをメモリコントローラ4からシーケンシャルに取得する。本実施の形態の例において、先行パラメータには、読み出し対象のコンテンツデータに関する読み出しアドレスとデータサイズとが含まれる。以下の例では、説明の便宜上、読み出しアドレス及びデータサイズはいずれもページ単位で指定されるものとする。従って、読み出しアドレスはページアドレスを示し、データサイズはページ数を示す。但し、読み出しアドレス及びデータサイズは、ページ単位以外で指定されても良い。
また、ホスト装置2は、先行リードの停止コマンドをメモリコントローラ4に入力することにより、先行リードを停止することができる。また、ホスト装置2は、先行パラメータの全削除コマンドをメモリコントローラ4に入力することにより、メモリコントローラ4が保持している全ての先行パラメータを削除することができる。また、ホスト装置2は、先行パラメータの一部削除コマンドをメモリコントローラ4に入力することにより、メモリコントローラ4が保持している全ての先行パラメータのうちの一部の先行パラメータを削除することができる。一部削除コマンドには、削除対象の先行パラメータを特定するための情報(後述するパラメータ保持部22内のFIFOのインデックス番号)が含まれる。また、ホスト装置2は、先行パラメータの変更コマンドをメモリコントローラ4に入力することにより、メモリコントローラ4が保持している全ての先行パラメータのうちの一部の先行パラメータを変更することができる。変更コマンドには、変更対象の先行パラメータを特定するための情報(FIFOのインデックス番号)と、変更内容(本実施の形態の例では変更後の読み出しアドレス及びデータサイズ)とが含まれる。
図2は、メモリコントローラ4の構成を簡略化して示す図である。図2の接続関係で示すように、メモリコントローラ4は、データバッファ11,12、パラメータ取得部21、パラメータ保持部22、アドレス設定部23、及び制御部24を備えている。各データバッファ11,12の記憶容量は、半導体メモリ5のページサイズと同一の32kByteである。
図3は、パラメータ保持部22及びアドレス設定部23の構成を簡略化して示す図である。アドレス設定部23は、レジスタ40を備えている。また、本実施の形態の例において、パラメータ保持部22は、8段構成のFIFO31〜38を備えている。
図4〜17は、先行リードの処理シーケンスを示す図である。ホスト装置2は、先行パラメータの入力コマンド及び先行リードの実行コマンドを、メモリコントローラ4に入力する。メモリコントローラ4に入力された先行パラメータは、パラメータ取得部21によって取得される。
図4を参照して、パラメータ取得部21は、ホスト装置2から取得した先行パラメータをパラメータ保持部22に入力する。この例では、「A1S2」「A5S1」「A6S3」「A5S2」なる4個の先行パラメータが、パラメータ保持部22に入力される。ここで、「A」の後の数字はページアドレスを示し、「S」の後の数字はページ数を示している。例えば先行パラメータ「A1S2」は、ページアドレスが「A1」でページ数が「2」であることを意味している。従って、先行パラメータ「A1S2」によって、半導体メモリ5内のページアドレス「A1」に記憶されているコンテンツデータ(便宜上、ページアドレスと同じ数字を用いてコンテンツデータD1と表記する)と、次のページアドレス「A2」に記憶されているコンテンツデータD2とが、読み出し対象のコンテンツデータとして指定される。図4に示すように、先行パラメータ「A1S2」「A5S1」「A6S3」「A5S2」は、それぞれFIFO31,32,33,34に入力されることにより、パラメータ保持部22によって保持される。
次に図5を参照して、アドレス設定部23は、先行パラメータ「A1S2」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A1S2」に基づいて、読み出しアドレス「A1」をレジスタ40に設定する。
次に図6を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A1」に基づいて半導体メモリ5からコンテンツデータD1を読み出し、読み出したコンテンツデータD1をデータバッファ11に格納する。
データバッファ11へのコンテンツデータD1の格納が完了すると、次に図7を参照して、制御部24は、ステータスの通知又はバスウェイトの解除等によって、データバッファ11からホスト装置2へのコンテンツデータD1の出力を開始する。図中の太線の矢印は、データバッファの左端から右端に向かって進行するリードポインタを示している。リードポインタが右端に到達することにより、データバッファからのデータ出力が完了したこととなる。
また、データバッファ11へのコンテンツデータD1の格納が完了すると、次に図8を参照して、アドレス設定部23は、先行パラメータ「A1S2」に基づいて、次の読み出しアドレス「A2」をレジスタ40に設定する。
次に図9を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A2」に基づいて半導体メモリ5からコンテンツデータD2を読み出し、読み出したコンテンツデータD2をデータバッファ12に格納する。本実施の形態の例では、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットよりも、半導体メモリ5からデータバッファ11,12へのデータ転送処理のスループットの方が高い場合を想定している。従って、データバッファ12へのコンテンツデータD2の格納が完了した時点においても、データバッファ11からホスト装置2へのコンテンツデータD1の出力は完了していない。
データバッファ12へのコンテンツデータD2の格納が完了すると、次に図10を参照して、アドレス設定部23は、次の先行パラメータ「A5S1」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A5S1」に基づいて、次の読み出しアドレス「A5」をレジスタ40に設定する。なお、本実施の形態の例では、この時点においても、データバッファ11からホスト装置2へのコンテンツデータD1の出力は完了していない。
次に図11を参照して、データバッファ11からホスト装置2へのコンテンツデータD1の出力が完了する。
次に図12を参照して、制御部24は、データバッファ12からホスト装置2へのコンテンツデータD2の出力を開始する。データバッファ12にはコンテンツデータD2がすでに格納されているため、制御部24は、データバッファ11からホスト装置2へのコンテンツデータD1の出力が完了すると同時に、データバッファ12からホスト装置2へのコンテンツデータD2の出力を開始することができる。また、制御部24は、データバッファ11からコンテンツデータD1を消去する。なお、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットよりも、半導体メモリ5からデータバッファ11,12へのデータ転送処理のスループットの方が低い場合等においては、データバッファ11からホスト装置2へのコンテンツデータD1の出力が完了した時点で、データバッファ12へのコンテンツデータD2の格納がまだ完了していない状況が生じ得る。この場合には、制御部24がバスウェイトを出力すること等によって、データバッファ12へのコンテンツデータD2の格納が完了するまでホスト装置2を待機させる。
次に図13を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A5」に基づいて半導体メモリ5からコンテンツデータD5を読み出し、読み出したコンテンツデータD5をデータバッファ11に格納する。
データバッファ11へのコンテンツデータD5の格納が完了すると、次に図14を参照して、アドレス設定部23は、次の先行パラメータ「A6S3」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A6S3」に基づいて、次の読み出しアドレス「A6」をレジスタ40に設定する。
次に図15を参照して、データバッファ12からホスト装置2へのコンテンツデータD2の出力が完了する。
次に図16を参照して、制御部24は、データバッファ11からホスト装置2へのコンテンツデータD5の出力を開始する。データバッファ11にはコンテンツデータD5がすでに格納されているため、制御部24は、データバッファ12からホスト装置2へのコンテンツデータD2の出力が完了すると同時に、データバッファ11からホスト装置2へのコンテンツデータD5の出力を開始することができる。また、制御部24は、データバッファ12からコンテンツデータD2を消去する。なお、データバッファ12からホスト装置2へのコンテンツデータD2の出力が完了した時点で、データバッファ11へのコンテンツデータD5の格納がまだ完了していない場合には、制御部24がバスウェイトを出力すること等によって、データバッファ11へのコンテンツデータD5の格納が完了するまでホスト装置2を待機させる。
次に図17を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A6」に基づいて半導体メモリ5からコンテンツデータD6を読み出し、読み出したコンテンツデータD6をデータバッファ12に格納する。
以降は、パラメータ保持部22が保持している全ての先行パラメータについての処理が完了するまで、上記と同様の処理を繰り返す。
なお、以上の説明では、制御部24は、データバッファ11へのコンテンツデータD1の格納が完了すると同時に、データバッファ11からホスト装置2へのコンテンツデータD1の出力を開始したが(図6,7)、システム全体のスペックに応じてデータ出力の開始タイミングを調整しても良い。例えば、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットよりも、半導体メモリ5からデータバッファ11,12へのデータ転送処理のスループットの方が低い場合等においては、データバッファ11,12へのコンテンツデータD1,D2の格納が完了した時点(図9)で、データバッファ11からホスト装置2へのコンテンツデータD1の出力を開始しても良い。これにより、最初のレイテンシは大きくなるが、先行リードの処理途中におけるバスウェイトの発生を回避又は抑制することができる。
また、先行リードの処理途中で先行パラメータを変更する必要が生じた場合には、ホスト装置2は、まず停止コマンドを発行することによって先行リードを停止させ、次に変更コマンドを発行することによって先行パラメータを変更し、次に実行コマンドを発行することによって先行リードを再開する。同様の方法により、先行リードの処理途中で先行パラメータを追加又は削除することもできる。
このように本実施の形態に係る半導体記憶装置3(及びコンピュータシステム1)によれば、パラメータ取得部21は、それぞれに読み出しアドレスを含む複数の先行パラメータをホスト装置2から取得し、パラメータ保持部22は、パラメータ取得部21が取得した複数の先行パラメータを保持し、アドレス設定部23は、パラメータ保持部22が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定する。そして、制御部24は、アドレス設定部23が設定した第1の読み出しアドレス(例えば読み出しアドレス「A1」)に基づいて、半導体メモリ5から第1のコンテンツデータ(例えばコンテンツデータD1)を読み出して第1のデータバッファ(例えばデータバッファ11)に格納し、当該第1のコンテンツデータを第1のデータバッファからホスト装置2に出力する。また、制御部24は、アドレス設定部23が第1の読み出しアドレスの次に設定した第2の読み出しアドレス(例えば読み出しアドレス「A2」)に基づいて、半導体メモリ5から第2のコンテンツデータ(例えばコンテンツデータD2)を読み出して第2のデータバッファ(例えばデータバッファ12)に格納し、当該第2のコンテンツデータを第2のデータバッファからホスト装置2に出力する。従って、たとえ第1の読み出しアドレスと第2の読み出しアドレスとが不連続の場合であっても、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力と、第2のデータバッファからホスト装置2への第2のコンテンツデータの出力とを、レイテンシなく連続して実行することができる。その結果、半導体記憶装置3に記憶されたデータ(特に第2のコンテンツデータ)をホスト装置2が読み出す際のレイテンシを効果的に低減することが可能となる。また、キャッシュ・ヒット率の向上のために大容量のキャッシュメモリ又は複数のキャッシュメモリを使用する場合と比較すると、製品コストの上昇及びキャッシュ制御の複雑化を回避又は抑制することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、制御部24は、第1のデータバッファへの第1のコンテンツデータの格納が完了すると、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力を開始する。従って、第1のコンテンツデータをホスト装置2が読み出す際のレイテンシを、最小限に抑えることが可能となる。また、制御部24は、第1のデータバッファへの第1のコンテンツデータの格納が完了すると、半導体メモリ5から第2のデータバッファへの第2のコンテンツデータの読み出しを開始する。このように、第2のコンテンツデータの読み出しを早期に開始することにより、第2のデータバッファへの第2のコンテンツデータの格納を、早期に完了することができる。その結果、第2のデータバッファからホスト装置2へ第2のコンテンツデータを出力する際のレイテンシを、回避又は抑制することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、制御部24は、アドレス設定部23が第2の読み出しアドレスより後に設定した第3の読み出しアドレス(例えば読み出しアドレス「A5」)に基づいて、半導体メモリ5から第3のコンテンツデータ(例えばコンテンツデータD5)を読み出して第1のデータバッファに格納し、当該第3のコンテンツデータを第1のデータバッファからホスト装置2に出力する。このように、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力が完了した後には、第1のデータバッファから第1のコンテンツデータを消去して、第3のコンテンツデータを第1のデータバッファに格納することにより、必要なデータバッファの個数を削減することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、制御部24は、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力が完了すると同時に、半導体メモリ5から第1のデータバッファへの第3のコンテンツデータの格納を開始する。従って、第1のデータバッファへの第3のコンテンツデータの格納を、早期に完了することができる。その結果、第1のデータバッファからホスト装置2へ第3のコンテンツデータを出力する際のレイテンシを、回避又は抑制することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス設定部23は、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力が完了する前に、第3の読み出しアドレスを設定する。このように、半導体メモリ5から第3のコンテンツデータを読み出すための準備を早期に開始しておくことにより、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力が完了すると、直ちに第1のデータバッファへの第3のコンテンツデータの格納を開始することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、先行パラメータには、読み出しアドレス及びデータサイズが含まれる。従って、連続した複数のページを読み出す場合には、ページ数に応じたデータサイズを設定することによって先行パラメータは一つで足りるため、ページ毎に個別の先行パラメータを発行するという煩雑な処理を回避することが可能となる。
<実施の形態2>
以下、上記実施の形態1との相違点を中心に、本発明の実施の形態2に係る半導体記憶装置3について説明する。
図18は、メモリコントローラ4の構成を簡略化して示す図である。図18の接続関係で示すように、メモリコントローラ4は、データバッファ11〜13、パラメータ取得部21、パラメータ保持部22、アドレス設定部23、制御部24、及びアドレス選択部50を備えている。各データバッファ11〜13の記憶容量は、半導体メモリ5のページサイズと同一の32kByteである。
アドレス選択部50は、アドレス設定部23によって設定される複数の読み出しアドレスの中から、キャッシュ用の特定の読み出しアドレス(以下「キャッシュ対象アドレス」と称す)を選択する。
データバッファ13は、アドレス選択部50によって選択されたキャッシュ対象アドレスに対応するコンテンツデータ(以下「キャッシュ対象コンテンツデータ」と称す)をキャッシュするためのデータバッファとして使用される。なお、キャッシュ用のデータバッファは複数設けられても良い。
図19は、コンテンツデータの属性と優先順位との対応関係を規定する優先順位設定情報の一例を示す図である。優先順位は、キャッシュ効果の高低、データの重要度、又は即時処理の必要性等に応じて、任意に設定することができる。例えば、キャッシュ効果の高いデータ(静止画データ等)ほど高い優先順位を設定し、また、重要度の高いデータ(プログラムコード等)ほど高い優先順位を設定し、また、即時処理の必要性が高いデータ(音声データ、プログラムコード等)ほど高い優先順位を設定する。また、優先順位は必ずしも固定である必要はなく、出現回数等に応じて変動させても良い。図19に示した例では、プログラムコード(C)、静止画データ(P)、音声データ(A)、動画データ(M)、その他のデータ(O)の順に、高い優先順位が設定されている。優先順位設定情報は、テーブル情報として予めメモリコントローラ4に教示されている。
先行リードを行う場合には、ホスト装置2は、先行パラメータの入力コマンド及び先行リードの実行コマンドをメモリコントローラ4に入力する。本実施の形態の例において、先行パラメータには、読み出し対象のコンテンツデータに関する読み出しアドレス及びデータサイズと、コンテンツデータの属性情報とが含まれる。
図20〜30は、先行リードの処理シーケンスを示す図である。パラメータ取得部21は、ホスト装置2から取得した先行パラメータをパラメータ保持部22に入力する。この例では、「A1S2M」「A5S1P」「A8S3C」「A5S1P」「A9S2C」なる5個の先行パラメータが、パラメータ保持部22に入力される。ここで、末尾に付加されたアルファベットはコンテンツデータの属性情報であり、読み出し対象のコンテンツデータがプログラムコードである場合は「C」、静止画データである場合は「P」、音声データである場合は「A」、動画データである場合は「M」、その他のデータである場合は「O」なる属性情報が付加される。図20に示すように、先行パラメータ「A1S2M」「A5S1P」「A8S3C」「A5S1P」「A9S2C」は、それぞれFIFO31,32,33,34,35に入力されることにより、パラメータ保持部22によって保持される。
また、先行パラメータは、パラメータ取得部21からパラメータ保持部22に入力される際にアドレス選択部50にも入力される。アドレス選択部50は、図19に示した優先順位設定情報と、パラメータ取得部21から入力された先行パラメータ「A1S2M」「A5S1P」「A8S3C」「A5S1P」「A9S2C」とに基づいて、先行リード開始時のキャッシュ対象アドレスを選択する。本実施の形態の例において、アドレス選択部50は、出現回数が複数回の読み出しアドレスのうち、優先順位が最も高いアドレス(当該アドレスが複数存在する場合は、その中で最初に出現したアドレス)を、キャッシュ対象アドレスとして選択する。図20に示した例では、複数回出現するのは読み出しアドレス「A5」「A9」「A10」であり、その三者のうちで優先順位が最も高いのは読み出しアドレス「A9」「A10」であり、その二者のうちで最初に出現するのは読み出しアドレス「A9」であるため、読み出しアドレス「A9」が、先行リード開始時のキャッシュ対象アドレスとして選択される。アドレス選択部50が先行リード開始時のキャッシュ対象アドレスを選択するための具体的なアルゴリズムを、図31,32に示す。
なお、上述したキャッシュ対象アドレスの選択手法は一例であり、優先順位、出現回数(出現頻度)、又は出現順序等の要素のうち、一以上の要素に基づいてキャッシュ対象アドレスを選択すれば良い。例えば、
・出現回数が最多のアドレス。当該アドレスが複数存在する場合は、その中で優先順位が最高のアドレス。当該アドレスが複数存在する場合は、その中で最初に出現したアドレス
・出現回数が最多のアドレス。当該アドレスが複数存在する場合は、その中で最初に出現したアドレス。当該アドレスが複数存在する場合は、その中で優先順位が最高のアドレス。
・出現回数が複数回のアドレス。当該アドレスが複数存在する場合は、その中で優先順位が最高のアドレス。当該アドレスが複数存在する場合は、その中で出現回数が最多のアドレス
等を、キャッシュ対象アドレスとして選択することができる。また、要素毎に重み付けの係数を異ならせた複数の要素に基づいて、キャッシュ対象アドレスを選択しても良い。
また、アドレス選択部50は、先行リードが開始された後、先行パラメータがパラメータ保持部22からアドレス設定部23に入力される度に、キャッシュ対象アドレスの選択を行う。つまり、図19に示した優先順位設定情報と、各時点においてパラメータ保持部22内に残っている先行パラメータと、各時点において現在設定されているキャッシュ対象アドレスとに基づいて、上記と同様に先行リード実行中のキャッシュ対象アドレスを選択する。そして、必要に応じてキャッシュ対象アドレスを更新する。アドレス選択部50が先行リード実行中のキャッシュ対象アドレスを選択するための具体的なアルゴリズムを、図33に示す。なお、本実施の形態の例では、キャッシュ対象コンテンツデータD9が最後にデータ出力された後には、出現回数が2回以上の読み出しアドレスは存在しないため、キャッシュ対象アドレスの更新は行われない。
図20を参照して、先行リードが開始されると、上記実施の形態1と同様の手順によって先行リードが進行する。レジスタ40には、読み出しアドレス「A1」「A2」「A5」「A8」「A9」がこの順に設定される。読み出しアドレス「A1」が設定されることにより、コンテンツデータD1がデータバッファ11からホスト装置2に出力される。読み出しアドレス「A2」が設定されることにより、コンテンツデータD2がデータバッファ12からホスト装置2に出力される。読み出しアドレス「A5」が設定されることにより、コンテンツデータD5がデータバッファ11からホスト装置2に出力される。読み出しアドレス「A8」が設定されることにより、コンテンツデータD8がデータバッファ12からホスト装置2に出力される。図20には、キャッシュ対象アドレスである読み出しアドレスA9がレジスタ40に設定された時点での状況を示している。データバッファ11にはコンテンツデータD5が格納されており、データバッファ12にはコンテンツデータD8が格納されている。
次に図21を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A9」に基づいて半導体メモリ5からコンテンツデータD9を読み出し、キャッシュ対象コンテンツデータであるコンテンツデータD9をデータバッファ13に格納する。
データバッファ13へのコンテンツデータD9の格納が完了すると、次に図22を参照して、アドレス設定部23は、次の読み出しアドレス「A10」をレジスタ40に設定する。
次に図23を参照して、データバッファ11からホスト装置2へのコンテンツデータD5の出力が完了すると、制御部24は、データバッファ11からコンテンツデータD5を消去するとともに、データバッファ12からホスト装置2へのコンテンツデータD8の出力を開始する。
次に図24を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A10」に基づいて半導体メモリ5からコンテンツデータD10を読み出し、読み出したコンテンツデータD10をデータバッファ11に格納する。
データバッファ11へのコンテンツデータD10の格納が完了すると、次に図25を参照して、アドレス設定部23は、次の先行パラメータ「A5S1P」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A5S1P」に基づいて、次の読み出しアドレス「A5」をレジスタ40に設定する。
次に図26を参照して、データバッファ12からホスト装置2へのコンテンツデータD8の出力が完了すると、制御部24は、データバッファ12からコンテンツデータD8を消去するとともに、データバッファ13からホスト装置2へのコンテンツデータD9の出力を開始する。
次に図27を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A5」に基づいて半導体メモリ5からコンテンツデータD5を読み出し、読み出したコンテンツデータD5をデータバッファ12に格納する。
データバッファ12へのコンテンツデータD5の格納が完了すると、次に図28を参照して、アドレス設定部23は、次の先行パラメータ「A9S2C」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A9S2C」に基づいて、次の読み出しアドレス「A10」をレジスタ40に設定する。ここで、読み出しアドレス「A9」に対応するコンテンツデータD9はキャッシュ用のデータバッファ13に格納されているため、レジスタ40への読み出しアドレス「A9」の設定は省略される。
次に図29を参照して、データバッファ11からホスト装置2へのコンテンツデータD10の出力が完了すると、制御部24は、データバッファ11からコンテンツデータD10を消去するとともに、データバッファ12からホスト装置2へのコンテンツデータD5の出力を開始する。
次に図30を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A10」に基づいて半導体メモリ5からコンテンツデータD10を読み出し、読み出したコンテンツデータD10をデータバッファ11に格納する。
その後、データバッファ12からホスト装置2へのコンテンツデータD5の出力が完了すると、制御部24は、データバッファ12からコンテンツデータD5を消去するとともに、データバッファ13からホスト装置2へのコンテンツデータD9の出力を開始する。その後、データバッファ13からホスト装置2へのコンテンツデータD9の出力が完了すると、制御部24は、データバッファ13からコンテンツデータD9を消去するとともに、データバッファ11からホスト装置2へのコンテンツデータD10の出力を開始する。なお、進行中の先行リードにおいてそれ以降もコンテンツデータD9の出力が必要な場合は、コンテンツデータD9は消去されずにデータバッファ13内に残される。また、進行中の先行リードにおいてそれ以降はコンテンツデータD9の出力が必要でない場合であっても、キャッシュ対象コンテンツデータがコンテンツデータD9から別のコンテンツデータに更新されるまでの間は、コンテンツデータD9をデータバッファ13内に残しても良い。さらに、データバッファ13は、キャッシュ対象コンテンツデータのみを格納するためのバッファ(キャッシュ専用バッファ)として用いるのではなく、データバッファ11,12と同様に任意のコンテンツデータを格納するためのバッファ(汎用バッファ)として用いても良い。つまり、制御部24は、キャッシュ対象アドレスが設定されていない場合にはデータバッファ13を汎用バッファとして使用し、その後にキャッシュ対象アドレスが設定されると、データバッファ13をキャッシュ専用バッファとして使用する。そして、全てのキャッシュ対象コンテンツデータの出力が完了した後に新たなキャッシュ対象アドレスが設定されない場合には、データバッファ13を再び汎用バッファとして使用する。
なお、以上の説明では、データの属性情報を先行パラメータに追加したが、属性情報に代えて、優先順位を直接的に示す情報を先行パラメータに追加しても良い。
このように本実施の形態に係る半導体記憶装置3(及びコンピュータシステム1)によれば、アドレス選択部50は、パラメータ取得部21が取得した複数の先行パラメータに基づいて設定される複数の読み出しアドレスの中から、特定のキャッシュ対象アドレスを選択する。そして、制御部24は、アドレス設定部23がキャッシュ対象アドレスを設定した場合には、半導体メモリ5からキャッシュ対象コンテンツデータを読み出して第3のデータバッファ(例えばデータバッファ13)に格納し、当該キャッシュ対象コンテンツデータを第3のデータバッファからホスト装置2に出力する。また、制御部24は、第3のデータバッファへのキャッシュ対象コンテンツデータの格納が完了した以降は、第3のデータバッファに格納されているキャッシュ対象コンテンツデータを、第3のデータバッファからホスト装置2に出力する。このように、第3のデータバッファをキャッシュ制御用のバッファとして使用することにより、第3のデータバッファに格納されているキャッシュ対象コンテンツデータに関する2回目以降の読み出しにおいては、半導体メモリ5へのアクセスが不要となる。その結果、レイテンシの発生を回避できるとともに、読み出しアクセスに起因してメモリセルに与えるダメージを回避することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス選択部50は、複数の先行パラメータをパラメータ取得部21からパラメータ保持部22に入力する際に、キャッシュ対象アドレスを選択する。従って、パラメータ取得部21が取得した複数の先行パラメータに基づいて設定される複数の読み出しアドレスのうちの最適な読み出しアドレスを、先行リード開始時のキャッシュ対象アドレスとして適切に選択することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス選択部50は、先行パラメータをパラメータ保持部22からアドレス設定部23に入力する際に、キャッシュ対象アドレスを選択する。従って、先行リードの進行状況に応じて各時点での最適な読み出しアドレスを、先行リード実行中のキャッシュ対象アドレスとして適切に選択することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス選択部50は、コンテンツデータの属性に応じて設定される優先順位に基づいて、キャッシュ対象アドレスを選択する。従って、プログラムコード、静止画データ、音声データ、及び動画データ等のコンテンツデータの属性に応じて予め優先順位を設定しておくことにより、アドレス選択部50は、優先順位の高いコンテンツデータに対応する読み出しアドレスを優先的にキャッシュ対象アドレスとして選択することができる。その結果、優先順位の高いコンテンツデータに対して、キャッシュ制御によるメリットを享受することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス選択部50は、先行パラメータに含まれる属性情報に基づいて優先順位を決定する。このように、属性情報を先行パラメータに含めておくことにより、アドレス選択部50は、当該属性情報に基づいてキャッシュ対象アドレスを適切に選択することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス選択部50は、読み出しアドレスの出現順序に基づいて、キャッシュ対象アドレスを選択する。従って、優先順位が最も高いコンテンツデータに対応する読み出しアドレスが複数存在する場合には、その中で最初に出現したアドレスをキャッシュ対象アドレスとして選択する等により、アドレス選択部によってキャッシュ対象アドレスを適切に選択することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、アドレス選択部50は、読み出しアドレスの出現頻度に基づいて、キャッシュ対象アドレスを選択する。従って、優先順位が最も高いコンテンツデータに対応する読み出しアドレスが複数存在する場合には、その中で出現頻度が最も高いアドレスをキャッシュ対象アドレスとして選択する等により、アドレス選択部50によってキャッシュ対象アドレスを適切に選択することが可能となる。
<実施の形態3>
以下、上記実施の形態1との相違点を中心に、本発明の実施の形態3に係る半導体記憶装置3について説明する。本実施の形態は、上記実施の形態2と組み合わせて適用することも可能である。
図34は、コンテンツデータの属性と遡及可能範囲との対応関係を規定する遡及可能範囲設定情報の一例を示す図である。遡及可能範囲は、データ出力の完了後にホスト装置2から当該データを再要求される可能性や、再要求が想定されるデータ範囲等に応じて、任意に設定することができる。図34に示した例では、動画データ(M)に対しては16kByte(つまり1/2ページ)、静止画データ(P)に対しては8kByte(つまり1/4ページ)、音声データ(A)に対しては4kByte(つまり1/8ページ)、プログラムコード(C)及びその他のデータ(O)に対しては0kByteの遡及可能範囲が、それぞれ設定されている。但し、遡及可能範囲は必ずしも固定である必要はなく、再要求の実績値等に応じて変動させても良い。遡及可能範囲設定情報は、テーブル情報として予めメモリコントローラ4に教示されている。
先行リードを行う場合には、ホスト装置2は、先行パラメータの入力コマンド及び先行リードの実行コマンドをメモリコントローラ4に入力する。本実施の形態の例において、先行パラメータには、読み出し対象のコンテンツデータに関する読み出しアドレス及びデータサイズと、コンテンツデータの属性情報とが含まれる。
図35〜45は、先行リードの処理シーケンスを示す図である。図35を参照して、パラメータ取得部21は、ホスト装置2から取得した先行パラメータをパラメータ保持部22に入力する。この例では、「A1S2M」「A5S1P」「A8S3C」「A5S2P」なる4個の先行パラメータが、パラメータ保持部22に入力される。
次に図36を参照して、アドレス設定部23は、先行パラメータ「A1S2M」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A1S2M」に基づいて、読み出しアドレス「A1」をレジスタ40に設定する。次に、制御部24は、レジスタ40に設定されている読み出しアドレス「A1」に基づいて半導体メモリ5からコンテンツデータD1を読み出し、読み出したコンテンツデータD1をデータバッファ11に格納する。データバッファ11へのコンテンツデータD1の格納が完了すると、制御部24は、データバッファ11からホスト装置2へのコンテンツデータD1の出力を開始する。また、制御部24は、先行パラメータ「A1S2M」に基づいてコンテンツデータD1の属性を判定する。そして、遡及可能範囲設定情報を参照することにより、コンテンツデータD1の属性に対応する遡及可能範囲を、データバッファ12に設定する。この例では、コンテンツデータD1の属性が動画データであるため、図中に破線で示す16kByteの遡及可能範囲がデータバッファ12に設定される。
また、データバッファ11へのコンテンツデータD1の格納が完了すると、次に図37を参照して、アドレス設定部23は、先行パラメータ「A1S2M」に基づいて次の読み出しアドレス「A2」をレジスタ40に設定する。次に、制御部24は、レジスタ40に設定されている読み出しアドレス「A2」に基づいて半導体メモリ5からコンテンツデータD2を読み出し、読み出したコンテンツデータD2をデータバッファ12に格納する。また、制御部24は、先行パラメータ「A1S2M」に基づいてコンテンツデータD2の属性を判定する。そして、遡及可能範囲設定情報を参照することにより、コンテンツデータD2の属性に対応する遡及可能範囲を、データバッファ11に設定する。この例では、コンテンツデータD2の属性が動画データであるため、図中に破線で示す16kByteの遡及可能範囲がデータバッファ11に設定される。なお、この例においてリードポインタがデータバッファ11の前半領域を進行している時にデータバッファ11に遡及可能範囲が設定された場合には、遡及可能範囲が設定された直後にリードポインタが当該遡及可能範囲に到達することとなるが、この時点ではデータバッファ12は消去可能状態に設定されていないため、データバッファ12内のコンテンツデータD2は消去されない。
データバッファ12へのコンテンツデータD2の格納が完了すると、次に図38を参照して、アドレス設定部23は、次の先行パラメータ「A5S1P」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A5S1P」に基づいて、次の読み出しアドレス「A5」をレジスタ40に設定する。
次に図39を参照して、データバッファ11からホスト装置2へのコンテンツデータD1の出力が完了すると、制御部24は、データバッファ11を消去待機状態に設定するとともに、データバッファ12からホスト装置2へのコンテンツデータD2の出力を開始する。ここで、データバッファ11からホスト装置2へのコンテンツデータD1の出力が完了しても、リードポインタがデータバッファ12の遡及可能範囲に到達するまでは、制御部24はデータバッファ11からコンテンツデータD1を消去しない。
次に図40を参照して、リードポインタがデータバッファ12の遡及可能範囲に到達した時点で、制御部24はデータバッファ11からコンテンツデータD1を消去する。また、制御部24は、コンテンツデータD1に対応してデータバッファ12に設定されていた遡及可能範囲を削除するとともに、データバッファ11に関する消去待機状態の設定を解除する。
次に図41を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A5」に基づいて半導体メモリ5からコンテンツデータD5を読み出し、読み出したコンテンツデータD5をデータバッファ11に格納する。また、制御部24は、先行パラメータ「A5S1P」に基づいてコンテンツデータD5の属性を判定する。そして、遡及可能範囲設定情報を参照することにより、コンテンツデータD5の属性に対応する遡及可能範囲を、データバッファ12に設定する。この例では、コンテンツデータD5の属性が静止画データであるため、図中に破線で示す8kByteの遡及可能範囲がデータバッファ12に設定される。なお、この例においてリードポインタがデータバッファ12の先頭領域を進行している時にデータバッファ12に遡及可能範囲が設定された場合には、遡及可能範囲が設定された直後にリードポインタが当該遡及可能範囲に到達することとなるが、この時点ではデータバッファ11は消去可能状態に設定されていないため、データバッファ11内のコンテンツデータD5は消去されない。
データバッファ11へのコンテンツデータD5の格納が完了すると、次に図42を参照して、アドレス設定部23は、次の先行パラメータ「A8S3C」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A8S3C」に基づいて、次の読み出しアドレス「A8」をレジスタ40に設定する。
次に図43を参照して、データバッファ12からホスト装置2へのコンテンツデータD2の出力が完了すると、制御部24は、データバッファ12を消去待機状態に設定するとともに、データバッファ11からホスト装置2へのコンテンツデータD5の出力を開始する。ここで、データバッファ12からホスト装置2へのコンテンツデータD2の出力が完了しても、リードポインタがデータバッファ11の遡及可能範囲に到達するまでは、制御部24はデータバッファ12からコンテンツデータD2を消去しない。
次に図44を参照して、リードポインタがデータバッファ11の遡及可能範囲に到達した時点で、制御部24はデータバッファ12からコンテンツデータD2を消去する。また、制御部24は、コンテンツデータD2に対応してデータバッファ11に設定されていた遡及可能範囲を削除するとともに、データバッファ12に関する消去待機状態の設定を解除する。
次に図45を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A8」に基づいて半導体メモリ5からコンテンツデータD8を読み出し、読み出したコンテンツデータD8をデータバッファ12に格納する。また、制御部24は、先行パラメータ「A8S3C」に基づいてコンテンツデータD8の属性を判定する。そして、遡及可能範囲設定情報を参照することにより、コンテンツデータD8の属性に対応する遡及可能範囲を、データバッファ11に設定する。この例では、コンテンツデータD8の属性がプログラムコードであるため、0kByteの遡及可能範囲がデータバッファ11に設定される。従って、コンテンツデータD8に関しては、データバッファ12からの出力が完了すると同時に、データバッファ12から消去されることとなる。
以降は、パラメータ保持部22が保持している全ての先行パラメータについての処理が完了するまで、上記と同様の処理を繰り返す。
なお、以上の説明では、データの属性情報を先行パラメータに追加したが、属性情報に代えて、遡及可能範囲を直接的に示す情報を先行パラメータに追加しても良い。
このように本実施の形態に係る半導体記憶装置3(及びコンピュータシステム1)によれば、制御部24は、第1のデータバッファからホスト装置2への第1のコンテンツデータの出力が完了した後、第2のコンテンツデータのうち所定の遡及可能範囲に相当するデータが第2のデータバッファから出力された時点で、半導体メモリ5から第1のデータバッファへの第3のコンテンツデータの格納を開始する。従って、第2のコンテンツデータに関して遡及可能範囲のデータ出力が完了するまでの期間内においては、第1のデータバッファには第1のコンテンツデータが格納されている。そのため、その期間内にホスト装置2から第1のコンテンツデータの読み出し要求を受けた場合には、半導体メモリ5へアクセスすることなく、第1のデータバッファからホスト装置2に第1のコンテンツデータを出力することが可能となる。例えば、MPEG動画のBフレームを処理する場合には、現フレームの直前フレーム及び直後フレームを参照する必要がある。直前フレームの動画データが第1のデータバッファに格納されており、現フレームの動画データが第2のデータバッファに格納されている場合には、ホスト装置2は、半導体メモリ5へアクセスすることなく第1のデータバッファから直前フレームの動画データを読み出すことが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、制御部24は、先行パラメータに含まれる属性情報に基づいて遡及可能範囲を決定する。従って、プログラムコード、静止画データ、音声データ、及び動画データ等のコンテンツデータの属性に応じて、それぞれ最適な遡及可能範囲を設定することが可能となる。また、属性情報を先行パラメータに含めておくことにより、制御部24は、当該属性情報に基づいてコンテンツデータの属性別の遡及可能範囲を適切に設定することが可能となる。
<実施の形態4>
以下、上記実施の形態1との相違点を中心に、本発明の実施の形態4に係る半導体記憶装置3について説明する。本実施の形態は、上記実施の形態2,3と組み合わせて適用することも可能である。
図46は、メモリコントローラ4の構成を簡略化して示す図である。図46の接続関係で示すように、メモリコントローラ4は、データバッファ11,12,14、パラメータ取得部21、パラメータ保持部22、アドレス設定部23、制御部24、及びリフレッシュ処理部60を備えている。各データバッファ11,12,14の記憶容量は、半導体メモリ5のページサイズと同一の32kByteである。
リフレッシュ処理部60は、データバッファ11,12,14からホスト装置2にコンテンツデータが出力されている期間内に、半導体メモリ5の空き時間を利用して半導体メモリ5のリフレッシュ処理を実行する。
リフレッシュ処理部60が実行するリフレッシュ処理の内容について説明する。まず、リフレッシュ処理部60は、各ブロックへのアクセス回数や、各ブロックにおけるリード中のエラービット数等に基づいて、リフレッシュ対象ブロックを決定する。次に、リフレッシュ処理部60は、リフレッシュ対象ブロックに格納されているデータを、消去済みの退避先ブロックにコピーする。次に、リフレッシュ処理部60は、リフレッシュ対象ブロックに格納されているデータをブロックイレースによって消去した後に、退避先ブロックに格納されているデータをリフレッシュ対象ブロックにコピーする。次に、リフレッシュ処理部60は、退避先ブロックに格納されているデータをブロックイレースによって消去する。
データバッファの必要段数、及びパラメータ保持部22内のFIFOの必要段数は、リフレッシュ処理に伴う時間に基づいて予め決定される。リフレッシュ処理に含まれる様々な処理の中で、中断が不能でかつ所要時間が最長の処理は、ブロックイレースである。例えば、ブロックイレースの所要時間が3msであり、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットが1ページあたり3msである場合には、データバッファの必要段数は最低1段となる。また、リフレッシュ処理の全体の所要時間が76msであり、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットが1ページあたり3msである場合において、リフレッシュ処理の実行中に先行リードでアクセスされないブロック(つまりリフレッシュ処理を行うことが可能なブロック)を特定するためには、パラメータ保持部22内のFIFOの必要段数は最低26段となる。本実施の形態の例では、データバッファの段数は「3段」とし、パラメータ保持部22内のFIFOの段数は「27段」とする。
図47〜56は、先行リードの処理シーケンスを示す図である。これらの図では、27段のFIFOのうちの8段分のFIFO31〜38のみが示されている。
図47を参照して、パラメータ取得部21は、ホスト装置2から取得した先行パラメータをパラメータ保持部22に入力する。この例では、「A1S8」「A5S6」「A6S5」「A5S7」なる4個の先行パラメータが、パラメータ保持部22に入力される。
次に図48を参照して、アドレス設定部23は、先行パラメータ「A1S8」をパラメータ保持部22から取得する。そして、取得した先行パラメータ「A1S8」に基づいて、読み出しアドレス「A1」をレジスタ40に設定する。
次に図49を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A1」に基づいて半導体メモリ5からコンテンツデータD1を読み出し、読み出したコンテンツデータD1をデータバッファ11に格納する。
データバッファ11へのコンテンツデータD1の格納が完了すると、次に図50を参照して、アドレス設定部23は、先行パラメータ「A1S8」に基づいて、次の読み出しアドレス「A2」をレジスタ40に設定する。
次に図51を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A2」に基づいて半導体メモリ5からコンテンツデータD2を読み出し、読み出したコンテンツデータD2をデータバッファ12に格納する。
データバッファ12へのコンテンツデータD2の格納が完了すると、次に図52を参照して、アドレス設定部23は、先行パラメータ「A1S8」に基づいて、次の読み出しアドレス「A3」をレジスタ40に設定する。
次に図53を参照して、制御部24は、レジスタ40に設定されている読み出しアドレス「A3」に基づいて半導体メモリ5からコンテンツデータD3を読み出し、読み出したコンテンツデータD3をデータバッファ14に格納する。
データバッファ14へのコンテンツデータD3の格納が完了すると、次に図54を参照して、制御部24は、ステータスの通知又はバスウェイトの解除等によって、データバッファ11からホスト装置2へのコンテンツデータD1の出力を開始する。また、リフレッシュ処理部60は、リフレッシュ処理を開始する。また、アドレス設定部23は、先行パラメータ「A1S8」に基づいて、次の読み出しアドレス「A4」をレジスタ40に設定する。
次に図55を参照して、データバッファ11からホスト装置2へのコンテンツデータD1の出力が完了すると、制御部24は、データバッファ12からホスト装置2へのコンテンツデータD2の出力を続けて開始する。また、リフレッシュ処理部60は、現在実行中の処理が完了した時点でリフレッシュ処理を中断する。
次に図56を参照して、制御部24は、データバッファ11からコンテンツデータD1を消去した後、レジスタ40に設定されている読み出しアドレス「A4」に基づいて半導体メモリ5からコンテンツデータD4を読み出し、読み出したコンテンツデータD4をデータバッファ11に格納する。その後、リフレッシュ処理部60は、中断していたリフレッシュ処理を再開する。
以降は、パラメータ保持部22が保持している全ての先行パラメータについての処理が完了するまで、上記と同様の処理を繰り返す。
このように本実施の形態に係る半導体記憶装置3(及びコンピュータシステム1)によれば、リフレッシュ処理部60は、複数のデータバッファ11,12,14からホスト装置2にコンテンツデータが出力されている期間内に、半導体メモリ5のリフレッシュ処理を実行する。このように、半導体メモリ5からデータバッファへのデータの読み出しが行われていない空き時間を利用して、半導体メモリ5のリフレッシュ処理を実行することにより、空き時間を有効に活用することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、制御部24は、複数のデータバッファへのコンテンツデータの格納が完了した後に、データバッファからホスト装置2へのコンテンツデータの出力を開始する。従って、比較的長い空き時間を確保できるため、複数のデータバッファ内の格納データが全て枯渇してしまう前に、リフレッシュ処理を完了することができる。そのため、制御部24は、リフレッシュ処理が完了した後に、データ出力済みのデータバッファへの次のコンテンツデータの格納を開始できるため、複数のデータバッファへの次のコンテンツデータの格納を早期に完了することができる。その結果、複数のデータバッファからホスト装置2への次のコンテンツデータの出力を、早期に開始することが可能となる。
<実施の形態5>
以下、上記実施の形態1との相違点を中心に、本発明の実施の形態5に係る半導体記憶装置3について説明する。本実施の形態は、上記実施の形態2〜4と組み合わせて適用することも可能である。
図57は、メモリコントローラ4の構成を簡略化して示す図である。図57の接続関係で示すように、メモリコントローラ4は、データバッファ11,12,14、パラメータ取得部21、パラメータ保持部22、アドレス設定部23、制御部24、及び多重化処理部70を備えている。各データバッファ11,12,14の記憶容量は、半導体メモリ5のページサイズと同一の32kByteである。
多重化処理部70は、データバッファ11,12,14からホスト装置2にコンテンツデータが出力されている期間内に、半導体メモリ5の空き時間を利用して半導体メモリ5の多重化処理を実行する。
多重化処理部70が実行する多重化処理の内容について説明する。まず、多重化処理部70は、各ブロックへのアクセス回数、各ブロックにおけるリード中のエラービット数、及び各ブロックに格納されているデータの属性等に基づいて、多重化対象ブロックを決定する。次に、多重化処理部70は、多重化対象ブロックに格納されているデータを、消去済みのスペアブロックにコピーする。次に、多重化処理部70は、メモリコントローラ4内の管理情報を更新する。
多重化対象ブロックを対象とするデータの読み出し要求がホスト装置2からメモリコントローラ4に入力されると、メモリコントローラ4は、多重化対象ブロックからのデータの読み出しと、スペアブロックからのデータの読み出しとを交互に行う。これにより、特定のブロックへの負荷の集中を回避することが可能となる。
データバッファの必要段数、及びパラメータ保持部22内のFIFOの必要段数は、多重化処理に伴う時間に基づいて予め決定される。多重化処理に含まれる様々な処理の中で、中断が不能でかつ所要時間が最長の処理は、データの書き込み処理である。例えば、データ書き込みの所要時間が550μsであり、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットが1ページあたり3msである場合には、データバッファの必要段数は最低1段となる。また、多重化処理の全体の所要時間が36msであり、メモリコントローラ4からホスト装置2へのデータ転送処理のスループットが1ページあたり3msである場合において、多重化処理の実行中に先行リードでアクセスされないブロック(つまり多重化処理を行うことが可能なブロック)を特定するためには、パラメータ保持部22内のFIFOの必要段数は最低12段となる。本実施の形態の例では、データバッファの段数は「3段」とし、パラメータ保持部22内のFIFOの段数は「13段」とする。
先行リードの処理シーケンスは、リフレッシュ処理が多重化処理に変更される点を除いて、上記実施の形態4と同様である。つまり、全てのデータバッファ11,12,14へのコンテンツデータの格納が完了した後に、ホスト装置2へのコンテンツデータの出力と、多重化処理部70による多重化処理とが開始される。また、データバッファ11からホスト装置2へのコンテンツデータの出力が完了した場合には、多重化処理部70は、現在実行中の処理が完了した時点で多重化処理を中断し、制御部24は、データバッファ11に次のコンテンツデータを格納する。その後、多重化処理部70は、中断していた多重化処理を再開する。
このように本実施の形態に係る半導体記憶装置3(及びコンピュータシステム1)によれば、多重化処理部70は、複数のデータバッファ11,12,14からホスト装置2にコンテンツデータが出力されている期間内に、半導体メモリ5の多重化処理を実行する。このように、半導体メモリ5からデータバッファへのデータの読み出しが行われていない空き時間を利用して、半導体メモリ5の多重化処理を実行することにより、空き時間を有効に活用することが可能となる。
また、本実施の形態に係る半導体記憶装置3によれば、制御部24は、複数のデータバッファへのコンテンツデータの格納が完了した後に、データバッファからホスト装置2へのコンテンツデータの出力を開始する。従って、比較的長い空き時間を確保できるため、複数のデータバッファ内の格納データが全て枯渇してしまう前に、多重化処理を完了することができる。そのため、制御部24は、多重化処理が完了した後に、データ出力済みのデータバッファへの次のコンテンツデータの格納を開始できるため、複数のデータバッファへの次のコンテンツデータの格納を早期に完了することができる。その結果、複数のデータバッファからホスト装置2への次のコンテンツデータの出力を、早期に開始することが可能となる。
1 コンピュータシステム
2 ホスト装置
3 半導体記憶装置
4 メモリコントローラ
5 半導体メモリ
11〜14 データバッファ
21 パラメータ取得部
22 パラメータ保持部
23 アドレス設定部
24 制御部
50 アドレス選択部
60 リフレッシュ処理部
70 多重化処理部

Claims (17)

  1. ホスト装置に接続される半導体記憶装置であって、
    コンテンツデータを記憶する半導体メモリと、
    前記半導体メモリを制御するメモリコントローラと、
    を備え、
    前記メモリコントローラは、
    それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、
    前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、
    前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、
    第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、
    制御部と、
    を有し、
    前記制御部は、
    前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、
    前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、
    前記パラメータ取得部が取得した複数の先行パラメータに基づいて設定される複数の読み出しアドレスの中から、特定のキャッシュ対象アドレスを選択するアドレス選択部をさらに備え、
    前記複数のデータバッファは、キャッシュ対象アドレスに対応するキャッシュ対象コンテンツデータを格納する第3のデータバッファをさらに含み、
    前記制御部は、
    前記アドレス設定部がキャッシュ対象アドレスを設定した場合には、前記半導体メモリからキャッシュ対象コンテンツデータを読み出して前記第3のデータバッファに格納し、当該キャッシュ対象コンテンツデータを前記第3のデータバッファからホスト装置に出力し、
    それ以降は、前記第3のデータバッファに格納されているキャッシュ対象コンテンツデータを、前記第3のデータバッファからホスト装置に出力する、半導体記憶装置。
  2. 前記制御部は、前記第1のデータバッファへの第1のコンテンツデータの格納が完了すると、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力を開始するとともに、前記半導体メモリから前記第2のデータバッファへの第2のコンテンツデータの読み出しを開始する、請求項1に記載の半導体記憶装置。
  3. 前記制御部は、前記アドレス設定部が第2の読み出しアドレスより後に設定した第3の読み出しアドレスに基づいて、前記半導体メモリから第3のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第3のコンテンツデータを前記第1のデータバッファからホスト装置に出力する、請求項1又は2に記載の半導体記憶装置。
  4. 前記制御部は、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了すると同時に、前記半導体メモリから前記第1のデータバッファへの第3のコンテンツデータの格納を開始する、請求項3に記載の半導体記憶装置。
  5. 前記アドレス設定部は、前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了する前に、第3の読み出しアドレスを設定する、請求項4に記載の半導体記憶装置。
  6. 先行パラメータは、データサイズをさらに含む、請求項1〜5のいずれか一つに記載の半導体記憶装置。
  7. 前記アドレス選択部は、複数の先行パラメータを前記パラメータ取得部から前記パラメータ保持部に入力する際に、キャッシュ対象アドレスを選択する、請求項1〜6のいずれか一つに記載の半導体記憶装置。
  8. 前記アドレス選択部は、先行パラメータを前記パラメータ保持部から前記アドレス設定部に入力する際に、キャッシュ対象アドレスを選択する、請求項1〜7のいずれか一つに記載の半導体記憶装置。
  9. 前記アドレス選択部は、コンテンツデータの属性に応じて設定される優先順位に基づいて、キャッシュ対象アドレスを選択する、請求項1〜8のいずれか一つに記載の半導体記憶装置。
  10. 先行パラメータは、コンテンツデータの属性情報をさらに含み、
    前記アドレス選択部は、当該属性情報に基づいて優先順位を決定する、請求項9に記載の半導体記憶装置。
  11. 前記アドレス選択部は、読み出しアドレスの出現順序に基づいて、キャッシュ対象アドレスを選択する、請求項9又は10に記載の半導体記憶装置。
  12. 前記アドレス選択部は、読み出しアドレスの出現頻度に基づいて、キャッシュ対象アドレスを選択する、請求項9〜11のいずれか一つに記載の半導体記憶装置。
  13. ホスト装置に接続される半導体記憶装置であって、
    コンテンツデータを記憶する半導体メモリと、
    前記半導体メモリを制御するメモリコントローラと、
    を備え、
    前記メモリコントローラは、
    それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、
    前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、
    前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、
    第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、
    制御部と、
    を有し、
    前記制御部は、
    前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、
    前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、
    前記アドレス設定部が第2の読み出しアドレスより後に設定した第3の読み出しアドレスに基づいて、前記半導体メモリから第3のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第3のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、
    前記第1のデータバッファからホスト装置への第1のコンテンツデータの出力が完了した後、第2のコンテンツデータのうち所定の遡及可能範囲に相当するデータが前記第2のデータバッファから出力された時点で、前記半導体メモリから前記第1のデータバッファへの第3のコンテンツデータの格納を開始する、半導体記憶装置。
  14. 先行パラメータは、コンテンツデータの属性情報をさらに含み、
    前記制御部は、当該属性情報に基づいて遡及可能範囲を決定する、請求項13に記載の半導体記憶装置。
  15. ホスト装置に接続される半導体記憶装置であって、
    コンテンツデータを記憶する半導体メモリと、
    前記半導体メモリを制御するメモリコントローラと、
    を備え、
    前記メモリコントローラは、
    それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、
    前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、
    前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、
    第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、
    制御部と、
    を有し、
    前記制御部は、
    前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、
    前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、
    前記複数のデータバッファからホスト装置にコンテンツデータが出力されている期間内に、前記半導体メモリのリフレッシュ処理を実行するリフレッシュ処理部をさらに備え、
    前記複数のデータバッファの必要段数、及び、前記パラメータ保持部の必要段数は、リフレッシュ処理の所要時間に基づいて予め設定されており、
    前記制御部は、前記複数のデータバッファへのコンテンツデータの格納が完了した後に、前記複数のデータバッファからホスト装置へのコンテンツデータの出力を開始する、半導体記憶装置。
  16. ホスト装置に接続される半導体記憶装置であって、
    コンテンツデータを記憶する半導体メモリと、
    前記半導体メモリを制御するメモリコントローラと、
    を備え、
    前記メモリコントローラは、
    それぞれに読み出しアドレスを含む複数の先行パラメータを、ホスト装置から取得するパラメータ取得部と、
    前記パラメータ取得部が取得した複数の先行パラメータを保持するパラメータ保持部と、
    前記パラメータ保持部が保持している複数の先行パラメータに基づいて、複数の読み出しアドレスを順に設定するアドレス設定部と、
    第1のデータバッファ及び第2のデータバッファを含む複数のデータバッファと、
    制御部と、
    を有し、
    前記制御部は、
    前記アドレス設定部が設定した第1の読み出しアドレスに基づいて、前記半導体メモリから第1のコンテンツデータを読み出して前記第1のデータバッファに格納し、当該第1のコンテンツデータを前記第1のデータバッファからホスト装置に出力し、
    前記アドレス設定部が第1の読み出しアドレスの次に設定した第2の読み出しアドレスに基づいて、前記半導体メモリから第2のコンテンツデータを読み出して前記第2のデータバッファに格納し、当該第2のコンテンツデータを前記第2のデータバッファからホスト装置に出力し、
    前記複数のデータバッファからホスト装置にコンテンツデータが出力されている期間内に、前記半導体メモリの多重化処理を実行する多重化処理部をさらに備え、
    前記複数のデータバッファの必要段数、及び、前記パラメータ保持部の必要段数は、多重化処理の所要時間に基づいて予め設定されており、
    前記制御部は、前記複数のデータバッファへのコンテンツデータの格納が完了した後に、前記複数のデータバッファからホスト装置へのコンテンツデータの出力を開始する、半導体記憶装置。
  17. ホスト装置と、
    請求項1〜16のいずれか一つに記載の半導体記憶装置と、
    を備える、コンピュータシステム。
JP2012280245A 2012-12-21 2012-12-21 半導体記憶装置及びコンピュータシステム Active JP6133591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012280245A JP6133591B2 (ja) 2012-12-21 2012-12-21 半導体記憶装置及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012280245A JP6133591B2 (ja) 2012-12-21 2012-12-21 半導体記憶装置及びコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2014123328A JP2014123328A (ja) 2014-07-03
JP6133591B2 true JP6133591B2 (ja) 2017-05-24

Family

ID=51403735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012280245A Active JP6133591B2 (ja) 2012-12-21 2012-12-21 半導体記憶装置及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JP6133591B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6479617B2 (ja) * 2015-09-15 2019-03-06 ラピスセミコンダクタ株式会社 不揮発性メモリのデータ回復方法及びメモリ制御装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005114898A (ja) * 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> 録音装置
JP2007257192A (ja) * 2006-03-22 2007-10-04 Toshiba Corp データ処理装置
JP5602984B2 (ja) * 2007-06-21 2014-10-08 株式会社メガチップス メモリコントローラ
JP2010026584A (ja) * 2008-07-15 2010-02-04 Panasonic Corp メモリコントローラおよび不揮発性記憶装置
JP2012128644A (ja) * 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
WO2012140813A1 (ja) * 2011-04-14 2012-10-18 パナソニック株式会社 データ転送装置
JP5629391B2 (ja) * 2011-04-28 2014-11-19 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法

Also Published As

Publication number Publication date
JP2014123328A (ja) 2014-07-03

Similar Documents

Publication Publication Date Title
JP4182993B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR100562906B1 (ko) 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
TWI662418B (zh) Information processing device and memory access method
JP5762930B2 (ja) 情報処理装置および半導体記憶装置
US20110078393A1 (en) Memory device and data access method
JP2008152464A (ja) 記憶装置
US20120290769A1 (en) Flash memory device, memory control device, memory control method, and storage system
US20140317341A1 (en) System and apparatus for flash memory data management
JP5914148B2 (ja) Ssd(ソリッドステートドライブ)装置
JP2012128815A (ja) メモリシステム
JP5287301B2 (ja) ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法
JP5874525B2 (ja) 制御装置、記憶装置、記憶制御方法
JP2010237907A (ja) ストレージ装置および記録方法
US20120265953A1 (en) Memory management device, memory management method, and control program
JP6133591B2 (ja) 半導体記憶装置及びコンピュータシステム
JP6072428B2 (ja) 制御装置、記憶装置、記憶制御方法
JP5108690B2 (ja) Dma装置及びdma転送方法
JP5907189B2 (ja) ストレージ制御装置、ストレージ制御方法、及び、プログラム
US9146858B2 (en) Control device, storage device, and storage control method
TWI417889B (zh) 快閃記憶體之寫入逾時控制方法及其記憶裝置
JP2020170477A (ja) 記憶装置、その制御方法、及びプログラム
JP2012208543A (ja) 制御装置、記憶装置、読出制御方法
US9146859B2 (en) Information processing apparatus, method, and program for improving use efficiency of a storage apparatus
US20090055574A1 (en) NAND Flash Memory Device And Related Method Thereof
JP2011175666A (ja) 半導体記憶装置及び半導体記憶装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161003

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170420

R150 Certificate of patent or registration of utility model

Ref document number: 6133591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250