TOP特許意匠商標
特許ウォッチ Twitter
10個以上の画像は省略されています。
公開番号2025043580
公報種別公開特許公報(A)
公開日2025-04-01
出願番号2023150937
出願日2023-09-19
発明の名称メモリシステム
出願人キオクシア株式会社
代理人弁理士法人スズエ国際特許事務所
主分類G06F 12/06 20060101AFI20250325BHJP(計算;計数)
要約【課題】リードバッファを効率的に利用することによりリード処理の性能を向上できるメモリシステムを実現する。
【解決手段】メモリシステムのコントローラは、リード対象データのうちの先頭の第1のデータを第1のメモリダイから読み出すための第1のメモリリード要求を第1のメモリダイに発行する。コントローラは、第1のデータに後続する残りのデータがリード対象データに含まれている場合、第1のコマンドキューから、残りのデータのうちの先頭の第2のデータが記憶されている第2のメモリダイに対応する第2のコマンドキューに、第1の識別子を転送する。コントローラは、第1の識別子を第2のコマンドキューに転送したことに応じ、第2のデータを第2のメモリダイから読み出すための第2のメモリリード要求を第2のメモリダイに発行する。
【選択図】図5
特許請求の範囲【請求項1】
ホストに接続可能なメモリシステムであって、
複数のメモリダイを含む不揮発性メモリと、
前記複数のメモリダイを制御するように構成されたコントローラと、を具備し、
前記コントローラは、
リード対象データの読み出しを要求する第1のリードコマンドを前記ホストから受信したことに応じ、前記リード対象データを複数のクラスタに対応する複数のデータ部分に分割し、対応するデータ部分が記憶されている前記不揮発性メモリの記憶位置を示すメモリアドレス情報をそれぞれが含む複数のリード要求を生成し、
前記複数のクラスタの先頭のクラスタに対応するリード要求から前記複数のクラスタの最後のクラスタに対応するリード要求までの前記複数のリード要求を、この順序で前記複数のリード要求が連結されるように、前記第1のリードコマンドに付与された第1の識別子に関連付けられた第1のリード要求キューに格納し、
前記先頭のクラスタに対応する第1のデータ部分が記憶されている第1のメモリダイに対応する第1のコマンドキューに、前記第1の識別子を格納し、
前記第1の識別子を前記第1のコマンドキューに格納したことに応じ、前記第1のリード要求キューに格納されている前記複数のリード要求を前記先頭のクラスタに対応するリード要求から参照することによって、前記第1のデータ部分を少なくとも含む、前記リード対象データのうちの先頭の第1のデータが記憶されている前記第1のメモリダイの第1の記憶領域を特定し、
前記第1のデータを前記第1のメモリダイの前記第1の記憶領域から読み出すための第1のメモリリード要求を生成し、
前記第1のメモリリード要求を前記第1のメモリダイに対し発行し、
前記第1のデータに後続する残りのデータが前記リード対象データに含まれている場合、前記第1のコマンドキューから、前記残りのデータに対応する一つ以上のクラスタの先頭のクラスタに対応する第2のデータ部分が記憶されている第2のメモリダイに対応する第2のコマンドキューに、前記第1の識別子を転送し、
前記第1の識別子を前記第2のコマンドキューに転送したことに応じ、前記第1のリード要求キューに格納されている未処理のリード要求を前記一つ以上のクラスタの先頭のクラスタに対応するリード要求から参照することによって、前記第2のデータ部分を少なくとも含む、前記残りのデータのうちの先頭の第2のデータが記憶されている前記第2のメモリダイの第2の記憶領域を特定し、
前記第2のデータを前記第2のメモリダイの前記第2の記憶領域から読み出すための第2のメモリリード要求を生成し、
前記第2のメモリリード要求を前記第2のメモリダイに発行するように構成されている、
メモリシステム。
続きを表示(約 3,400 文字)【請求項2】
前記コントローラは、
先頭のクラスタのリード処理がまだ開始されていないリードコマンドの識別子を格納するための第1のリーディングキューと、先頭のクラスタのリード処理が既に開始されているリードコマンドの識別子を格納するための第1のフォローイングキューと、を前記第1のメモリダイに対応する前記第1のコマンドキューとして管理し、
先頭のクラスタのリード処理がまだ開始されていないリードコマンドの識別子を格納するための第2のリーディングキューと、先頭のクラスタのリード処理が既に開始されているリードコマンドの識別子を格納するための第2のフォローイングキューと、を前記第2のメモリダイに対応する前記第2のコマンドキューとして管理し
前記第1のメモリダイに対応する前記第1のリーディングキューに前記第1の識別子を格納し、
前記第1のメモリダイに対応する前記第1のリーディングキューから、前記第2のメモリダイに対応する前記第2のフォローイングキューに前記第1の識別子を転送し、
前記第2のメモリダイに対応する前記第2のフォローイングキューに転送された前記第1の識別子に基づいて前記第2のメモリリード要求を生成する処理を、前記第2のメモリダイに対応する前記第2のリーディングキューに格納されている識別子に基づいて他のデータを前記第2のメモリダイから読み出すための他のメモリリード要求を生成する処理よりも優先して実行するようにさらに構成されている、
請求項1に記載のメモリシステム。
【請求項3】
前記コントローラは、
前記ホストのメモリ上の複数のサブミッションキューにそれぞれ対応する複数の第1のリーディングキューを、前記第1のメモリダイに対応する前記第1のリーディングキューとして管理し、
前記複数のサブミッションキューにそれぞれ対応する複数の第2のリーディングキューを、前記第2のメモリダイに対応する前記第2のリーディングキューとして管理し、
前記第1のリードコマンドが前記複数のサブミッションキューのうちの第1のサブミッションキューからフェッチされた場合、前記複数の第1のリーディングキューから前記第1のサブミッションキューに対応する一つの第1のリーディングキューを選択し、前記第1の識別子を前記一つの第1のリーディングキューに格納し、
前記複数の第1のリーディングキューから、識別子がフェッチされるべきリーディングキューを選択するアービトレーション処理を実行し、
前記一つの第1のリーディングキューから前記第1の識別子がフェッチされた場合、前記第1のメモリリード要求を生成し、
前記第1のメモリリード要求を前記第1のメモリダイに発行するようにさらに構成されている、
請求項2に記載のメモリシステム。
【請求項4】
前記コントローラは、
一つのドメインに前記複数のサブミッションキューのうちの一つ以上のサブミッションキューが属するように複数のドメインと前記複数のサブミッションキューとの間の対応関係を管理し、
前記第1のメモリダイに関しては、前記複数のドメインに対応する複数の第1のドメインキューを管理し、
前記第2のメモリダイに関しては、前記複数のドメインに対応する複数の第2のドメインキューを管理し、
前記第1のメモリリード要求を生成したことに応じ、前記複数の第1のドメインキューから前記第1のサブミッションキューが属する一つのドメインに対応する一つの第1のドメインキューを選択し、前記第1のメモリリード要求を前記一つの第1のドメインキューに格納し、
前記複数のドメインに関連付けられた複数の重みに基づいて、前記複数の第1のドメインキューから、メモリリード要求がフェッチされるべきドメインキューを選択するアービトレーション処理を実行し、
前記一つの第1のドメインキューから前記第1のメモリリード要求がフェッチされた場合、前記第1のメモリリード要求を前記第1のメモリダイに発行するようにさらに構成されている、
請求項3に記載のメモリシステム。
【請求項5】
前記コントローラは、
前記第2のメモリリード要求を生成したことに応じ、前記複数の第2のドメインキューから前記第1のサブミッションキューが属する一つのドメインに対応する一つの第2のドメインキューを選択し、前記第2のメモリリード要求を前記一つの第2のドメインキューに格納し、
前記複数の重みに基づいて、前記複数の第2のドメインキューから、メモリリード要求がフェッチされるべきドメインキューを選択するアービトレーション処理を実行し、
前記一つの第2のドメインキューから前記第2のメモリリード要求がフェッチされた場合、前記第2のメモリリード要求を前記第2のメモリダイに発行するようにさらに構成されている、
請求項4に記載のメモリシステム。
【請求項6】
前記コントローラは、
前記第1のデータに含まれる複数のデータ部分のうちの前記第1のデータ部分が前記第1のメモリダイから読み出されたことに応じ、前記第1のデータ部分をリードバッファに格納する処理と、前記第1のデータ部分を前記ホストのメモリに転送する処理と、を実行し、
前記ホストの前記メモリへの前記第1のデータ部分の転送の終了に応じ、前記第1のデータ部分が格納されていた前記リードバッファの領域を解放し、
前記第1のデータに含まれる複数のデータ部分のうちの2番目のデータ部分が前記第1のメモリダイから読み出されたことに応じ、前記2番目のデータ部分を前記リードバッファに格納する処理と、前記2番目のデータ部分を前記ホストの前記メモリに転送する処理と、を実行し、
前記ホストの前記メモリへの前記2番目のデータ部分の転送の終了に応じ、前記2番目のデータ部分が格納されていた前記リードバッファの領域を解放し、
前記第1のデータに含まれる複数のデータ部分のうちの最後のデータ部分が前記第1のメモリダイから読み出されたことに応じ、前記最後のデータ部分を前記リードバッファに格納する処理と、前記最後のデータ部分を前記ホストの前記メモリに転送する処理と、を実行し、
前記ホストの前記メモリへの前記最後のデータ部分の転送の終了に応じ、前記最後のデータ部分が格納されていた前記リードバッファの領域を解放し、
前記最後のデータ部分が前記ホストの前記メモリに転送された後に前記第2のデータに含まれる前記第2のデータ部分が前記第2のメモリダイから読み出されたことに応じ、前記第2のデータ部分を前記リードバッファに格納する処理と、前記第2のデータ部分を前記ホストの前記メモリに転送する処理と、を実行し、
前記ホストの前記メモリへの前記第2のデータ部分の転送の終了に応じ、前記第2のデータ部分が格納されていた前記リードバッファの領域を解放するようにさらに構成されている、
請求項1に記載のメモリシステム。
【請求項7】
前記コントローラは、スタティックRAMに第1のサイズ以上の利用可能記憶領域が存在する場合、前記スタティックRAMの記憶領域を前記リードバッファとして割り当てるようにさらに構成されている、
請求項6に記載のメモリシステム。
【請求項8】
前記コントローラは、前記スタティックRAMに前記第1のサイズ以上の利用可能記憶領域が存在しない場合、ダイナミックRAMの記憶領域を前記リードバッファとして割り当てるようにさらに構成されている、
請求項7に記載のメモリシステム。
【請求項9】
前記コントローラは、前記第1のリード要求キューに格納されている前記複数のリード要求を、前記先頭のクラスタに対応するリード要求から前記最後のクラスタに対応するリード要求の順序で前記複数のリード要求を連結するための連結リストを使用して管理するように構成されている
請求項1に記載のメモリシステム。

発明の詳細な説明【技術分野】
【0001】
本発明の実施形態は、メモリシステムに関する。
続きを表示(約 3,100 文字)【背景技術】
【0002】
近年広く普及しているメモリシステムとして、不揮発性メモリと、この不揮発性メモリを制御するコントローラと、を備えるソリッドステートドライブ(SSD)が知られている。
【0003】
コントローラは、外部のホストから受信したリードコマンドに基づいて、不揮発性メモリからリード対象データを読み出し、読み出したリード対象データを外部のホストに送信する。リードコマンドによって指定される転送長(リード対象データのサイズ)が比較的大きい場合には、リード対象のメモリダイが、不揮発性メモリの複数のメモリダイに渡る場合がある。この場合、同じリードコマンドに基づく複数のリード動作が複数のメモリダイにおいて並列に実行されるため、リード対象データに含まれる複数のデータ部分が、これらデータ部分の論理アドレスの順序とは無関係の順序で、複数のメモリダイから読み出される。
【0004】
また、ホストによっては、ホストによって発行されたリードコマンドによって指定されるリード対象データを、論理アドレス順に、つまり、その先頭の論理アドレスに対応するデータ部分からその最後の論理アドレスに対応するデータ部分の順序でホストに転送することをSSDに求める場合がある。リード対象データを論理アドレス順にホストに転送するケースにおいては、複数のメモリダイから読み出された複数のデータ部分には、読み出された直後ではホストに転送できないデータ部分が存在し得る。このようなデータ部分は、リードバッファに滞留する。多くのデータ部分がリードバッファに滞留してしまうと、後続するリードコマンドの処理において利用可能なリードバッファの容量が減少するため、メモリシステムのリード処理の性能を低下させる要因となる。
【0005】
したがって、SSDのようなメモリシステムにおいては、リードバッファを効率的に利用することによりリード処理の性能を向上できる技術が必要とされている。
【先行技術文献】
【特許文献】
【0006】
米国特許出願公開第2022/0253248号明細書
米国特許第7506114号明細書
米国特許第6581111号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の一実施形態が解決しようとする課題は、リードバッファを効率的に利用することによりリード処理の性能を向上できるメモリシステムを提供することである。
【課題を解決するための手段】
【0008】
実施形態によれば、メモリシステムは、ホストに接続可能である。メモリシステムは、複数のメモリダイを含む不揮発性メモリと、前記複数のメモリダイを制御するように構成されたコントローラと、を具備する。前記コントローラは、リード対象データの読み出しを要求する第1のリードコマンドを前記ホストから受信したことに応じ、前記リード対象データを複数のクラスタに対応する複数のデータ部分に分割し、対応するデータ部分が記憶されている前記不揮発性メモリの記憶位置を示すメモリアドレス情報をそれぞれが含む複数のリード要求を生成する。前記コントローラは、前記複数のクラスタの先頭のクラスタに対応するリード要求から前記複数のクラスタの最後のクラスタに対応するリード要求までの前記複数のリード要求を、この順序で前記複数のリード要求が連結されるように、前記第1のリードコマンドに付与された第1の識別子に関連付けられた第1のリード要求キューに格納する。前記コントローラは、前記先頭のクラスタに対応する第1のデータ部分が記憶されている第1のメモリダイに対応する第1のコマンドキューに、前記第1の識別子を格納する。前記コントローラは、前記第1の識別子を前記第1のコマンドキューに格納したことに応じ、前記第1のリード要求キューに格納されている前記複数のリード要求を前記先頭のクラスタに対応するリード要求から参照することによって、前記第1のデータ部分を少なくとも含む、前記リード対象データのうちの先頭の第1のデータが記憶されている前記第1のメモリダイの第1の記憶領域を特定する。前記コントローラは、前記第1のデータを前記第1のメモリダイの前記第1の記憶領域から読み出すための第1のメモリリード要求を生成する。前記コントローラは、前記第1のメモリリード要求を前記第1のメモリダイに発行する。前記コントローラは、前記第1のデータに後続する残りのデータが前記リード対象データに含まれている場合、前記第1のコマンドキューから、前記残りのデータに対応する一つ以上のクラスタの先頭のクラスタに対応する第2のデータ部分が記憶されている第2のメモリダイに対応する第2のコマンドキューに、前記第1の識別子を転送する。前記コントローラは、前記第1の識別子を前記第2のコマンドキューに転送したことに応じ、前記第1のリード要求キューに格納されている未処理のリード要求を前記一つ以上のクラスタの先頭のクラスタに対応するリード要求から参照することによって、前記第2のデータ部分を少なくとも含む、前記残りのデータのうちの先頭の第2のデータが記憶されている前記第2のメモリダイの第2の記憶領域を特定する。前記コントローラは、前記第2のデータを前記第2のメモリダイの前記第2の記憶領域から読み出すための第2のメモリリード要求を生成する。前記コントローラは、前記第2のメモリリード要求を前記第2のメモリダイに発行する。
【図面の簡単な説明】
【0009】
実施形態に係るメモリシステムを含む情報処理システムの構成例を示すブロック図。
実施形態に係るメモリシステムの不揮発性メモリの構成例を示すブロック図。
実施形態に係るメモリシステムの不揮発性メモリに含まれる複数のメモリダイの各々の構成例を示すブロック図。
実施形態に係るメモリシステムのクラスタリード要求生成部において実行される処理を示す図。
実施形態に係るメモリシステムのリンクドリスト管理部と、コマンドディスパッチャとの構成例の概要を示すブロック図。
実施形態に係るメモリシステムのリンクドリスト管理部で管理されるリンクドリストの構成例を示す図。
実施形態に係るメモリシステムにおいて使用されるリンクドリスト管理部と、コマンドディスパッチャとのより詳細な構成例について、リード実行時の処理を例に説明するための図。
比較例に係るメモリシステムにおけるリードデータの管理の例を示す図。
実施形態に係るメモリシステムにおけるリードデータの管理の例を示す図。
実施形態に係るメモリシステムにおいて実行されるリード処理の手順を示すフローチャート。
実施形態に係るメモリシステムにおいて実行されるページリード要求発行処理の手順を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態を説明する。
図1は、実施形態に係るメモリシステムを含む情報処理システム1の構成例を示すブロック図である。情報処理システム1は、ホスト(ホストデバイス)2と、メモリシステムとしてのSSD(ソリッドステートドライブ)3とを含む。ホスト2と、SSD3とは、バス7を介して接続可能である。
(【0011】以降は省略されています)

この特許をJ-PlatPatで参照する
Flag Counter

関連特許

キオクシア株式会社
半導体装置の製造方法
2日前
個人
プログラム
1か月前
株式会社理研
演算装置
1か月前
個人
日本語入力支援システム
1か月前
個人
情報検索システム
10日前
個人
確率場データ同化演算手法
22日前
個人
AI旅行最適化プラグイン
1か月前
キヤノン株式会社
電子機器
9日前
シャープ株式会社
電子機器
23日前
個人
納骨堂システム
29日前
キヤノン株式会社
電子機器
9日前
キヤノン株式会社
電子機器
9日前
個人
技術実行管理システム
24日前
キヤノン電子株式会社
通信システム
2日前
個人
不動産情報提供システム
19日前
株式会社イノベイト
広告装置
12日前
キヤノン株式会社
情報処理装置
1か月前
合同会社IPマネジメント
内部不正対策
17日前
トヨタ自動車株式会社
電気自動車
1か月前
個人
ダブルオークションシステム
1か月前
個人
ネイルスキルテストシステム
23日前
株式会社イズミ
総合代行システム
1か月前
富士通株式会社
予測
1か月前
トヨタ自動車株式会社
作業評価装置
2日前
トヨタ自動車株式会社
管理システム
4日前
TDK株式会社
等価回路
4日前
ローム株式会社
半導体集積回路
1か月前
株式会社SUBARU
車両用操作装置
1か月前
株式会社TIMEWELL
情報処理システム
1か月前
株式会社NURSY
再就職の支援装置
3日前
西松建設株式会社
計測システム
8日前
トヨタ自動車株式会社
電池性能推定方法
1か月前
マクセル株式会社
リーダライタ用ホルダ
1か月前
個人
収納装置および収納システム
1か月前
個人
外国為替証拠金取引定期自動売買システム
15日前
個人
公益寄付インタラクティブシステム
2日前
続きを見る