(57)【要約】【課題】メモリチップに品質の差がある場合においても、性能を低減することなく不揮発化処理を実行する。【解決手段】メモリシステム１００は、不揮発性の複数のメモリチップ２０８と各メモリチップの動作を制御するメモリコントローラ２００とを備える。メモリコントローラは、ホスト１０と接続され、不揮発化データ発行部２０１とＮＡＮＤコントローラ２０７とを備える。不揮発化データ発行部は、前記メモリチップの所定の単位における各不揮発化処理の調停期間がメモリチップ毎に設定された調停期間設定パラメータセットを保持し、複数のメモリチップに対する不揮発化処理を指示する際に調停期間設定パラメータセットを発行する。ＮＡＮＤコントローラは、ホストから転送される書き込み用データを複数のメモリチップに対して不揮発化する不揮発化処理を実行する際に、発行された調停期間設定パラメータセットに設定されている所定の単位毎の調停期間に従って、所定の単位毎に不揮発化処理を調停する。【選択図】図１
2020154503.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性の複数のメモリチップと、
前記複数のメモリチップと接続されて各メモリチップの動作を制御するメモリコントローラとを備え、
前記メモリコントローラは、
前記メモリチップの所定の単位における各不揮発化処理の調停期間が、前記メモリチップ毎に設定された調停期間設定パラメータセットを保持し、前記複数のメモリチップに対する不揮発化処理を指示する際に前記調停期間設定パラメータセットを発行する不揮発化データ発行部と、
ホストから転送される書き込み用データを前記複数のメモリチップに対して不揮発化する前記不揮発化処理を実行する際に、前記不揮発化データ発行部から発行された前記調停期間設定パラメータセットに設定されている前記所定の単位毎の調停期間に従って、前記所定の単位毎に前記不揮発化処理を調停するコントローラと
を備える、メモリシステム。
【請求項２】
前記所定の単位は、前記メモリチップのチップ単位である、請求項１に記載のメモリシステム。
【請求項３】
前記所定の単位は、各々のメモリチップ内の複数の物理領域のうちの１つの物理領域単位である、請求項１に記載のメモリシステム。
【請求項４】
前記コントローラは、前記不揮発化処理の対象となるメモリチップの調停期間内に、前記不揮発化処理に用いるデータが揃い且つ前記不揮発化処理の対象となるメモリチップの直前の周回の不揮発化処理が完了していれば、当該メモリチップに関する不揮発化処理を続行する、請求項１に記載のメモリシステム。
【請求項５】
前記コントローラは、前記不揮発化処理の対象となるメモリチップの調停期間内に、前記不揮発化処理に用いるデータが揃わないか、若しくは前記不揮発化処理の対象となるメモリチップの直前の周回の不揮発化処理が完了していない場合に、当該メモリチップに関する不揮発化処理をスキップする、請求項１に記載のメモリシステム。
【請求項６】
当該メモリチップに関する前記不揮発化処理をスキップすることにより、当該メモリチップとは別のメモリチップに対する不揮発化処理を実行する、請求項５に記載のメモリシステム。
【請求項７】
前記調停期間設定パラメータセットは、前記所定の単位毎に、どの調停期間を使用するのかを示すインデックス値を備える、請求項１に記載のメモリシステム。
【請求項８】
前記コントローラは、
前記インデックス値と前記調停において用いられる前記調停期間の値とを対応付けて保持するレジスタと、
前記調停期間設定パラメータセットの前記インデックス値を参照して、前記レジスタ内に保持されている前記調停期間の値を前記所定の単位毎に選択するセレクタと
を備える、請求項７に記載のメモリシステム。
【請求項９】
前記調停期間の長さは、前記不揮発化処理の実行時間の長さに応じて設定される、請求項１に記載のメモリシステム。
【請求項１０】
前記不揮発化処理の実行時間の長さは、前記メモリチップの不揮発化処理の実行時間である、請求項９に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリのような不揮発性半導体メモリにおいて、複数のメモリチップに品質の差があると、不揮発化処理に要する時間にも差が生じる場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９１８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、複数のメモリチップを搭載したメモリシステムにおいて、個々のメモリチップに品質の差がある場合においても、性能を低減することなく不揮発化処理を実行可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態によれば、メモリシステムは、ホストと接続可能なメモリコントローラと、不揮発性の複数のメモリチップとを備える。メモリコントローラは、不揮発化データ発行部とコントローラとを備え、複数のメモリチップと接続されて各メモリチップの動作を制御する。不揮発化データ発行部は、メモリチップの所定の単位における各不揮発化処理の調停期間がメモリチップ毎に設定された調停期間設定パラメータセットを保持し、複数のメモリチップに対する不揮発化処理を指示する際に調停期間設定パラメータセットをコントローラに発行する。コントローラは、ホストから転送される書き込み用データを複数のメモリチップに対して不揮発化する不揮発化処理を実行する際に、不揮発化データ発行部から発行された調停期間設定パラメータセットに設定されている所定の単位毎の調停期間に従って、所定の単位毎に不揮発化処理を調停する。
【図面の簡単な説明】
【０００６】
【図１】実施の形態に係るメモリシステム及びメモリコントローラの模式的ブロック構成図。
【図２】実施の形態に係るメモリコントローラにおける調停期間設定パラメータセットの転送方式と情報選択の一例を示す説明図。
【図３】複数セットの調停期間設定パラメータセットを用いた場合の処理手順例を示す説明図。
【図４】実施の形態に係るメモリコントローラによる不揮発化制御処理例を示すフローチャート。
【図５】実施の形態に係るメモリコントローラによる不揮発化制御処理例を示すフローチャート。
【図６】比較例における不揮発化制御処理（不揮発化処理が完了したケース）の一例を示すタイミングチャート。
【図７】比較例における不揮発化制御処理（周回遅れが発生したケース）の一例を示すタイミングチャート。
【図８】実施の形態における不揮発化制御処理の一例を示すタイミングチャート。
【図９】実施の形態における不揮発化制御処理の別の一例を示すタイミングチャート。
【図１０】実施の形態における不揮発化制御処理の一例を示すタイミングチャート。
【図１１】実施の形態における調停期間設定パラメータセットの設定例を示す説明図。
【図１２】実施の形態における調停期間設定パラメータセットの設定処理例を示すフローチャート。
【図１３】実施の形態に係るメモリコントローラにおいて用いられる論物チップ番号変換テーブルの一例を示す説明図。
【図１４】実施の形態に係るメモリコントローラにおいて用いられる論物アドレス変換テーブルの一例を示す説明図。
【図１５】実施の形態に係るメモリコントローラによる不揮発化制御処理の後処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００７】
次に、図面を参照して、本実施の形態について説明する。以下に説明する図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。但し、図面は模式的なものであり、各構成部品の厚みと平面寸法との関係等は現実のものとは異なることに留意すべきである。従って、具体的な厚みや寸法は以下の説明を参酌して判断すべきものである。また、図面の相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【０００８】
また、以下に示す実施の形態は、技術的思想を具体化するための装置や方法を例示するものであって、各構成部品の材質、形状、構造、配置等を特定するものではない。この実施の形態は、特許請求の範囲において、種々の変更を加えることができる。
【０００９】
［実施の形態］
ソリッドステートドライブ（ＳＳＤ：Solid State Drive）などの不揮発性のストレージデバイス（メモリシステムとも呼ばれる）を構成する場合、複数の不揮発性メモリチップが使用されることがある。不揮発性メモリとしては、例えば、ＮＡＮＤ型フラッシュメモリ、抵抗変化型メモリ（ＲｅＲＡＭ（Resistive Random Access Memory））、強誘電体メモリ（ＦｅＲＡＭ（Ferroelectric Random Access Memory））、磁気抵抗メモリ（ＭＲＡＭ（Magnetoresistive Random Access Memory））などが挙げられる。
【００１０】
例えば、新製品のＮＡＮＤ型フラッシュメモリチップを使用する場合、製品の品質ばらつきが存在する。ＤＲＡＭ（Dynamic Random Access Memory）などを用いた大容量バッファを搭載した場合、品質のばらつきをバッファ容量の大きさで隠蔽可能である。例えば、ホストから常時最高速度で不揮発化データを転送する場合、ＮＡＮＤ型フラッシュメモリ側で不揮発化処理の性能が不足していたとしても、大容量バッファを有していれば、ＤＲＡＭの転送性能がＮＡＮＤ型フラッシュメモリの転送性能より高いため、大容量バッファ分のサイズまではホストからのデータを高速に受信可能である。従って、見かけ上ＮＡＮＤ型フラッシュメモリの品質ばらつきを隠蔽することができる。
【００１１】
一方、大容量バッファを搭載しない場合には、メモリコントローラに内蔵される限られたメモリを使用しつつ、いかに滞りなく不揮発化処理を実行していくかがストレージデバイスの性能を左右する。
【００１２】
例えば、ストレージデバイスのコントローラには、ＮＡＮＤ型フラッシュメモリの不揮発化処理に対応するために、チップ単位の不揮発化処理を円滑に実行するための調停（アービトレーション）機能がある。
【００１３】
通常、チップ単位に順番に（例えば、チップ番号の昇順に）不揮発化処理を行うメモリチップを切り替えていくが、本来の順番によれば不揮発化処理の対象となるメモリチップにおける以前の不揮発化処理が完了していなければ、そのメモリチップは、所定の調停期間経過後に不揮発化処理の対象から外され、不揮発化処理が後回し（例えば周回遅れ）になってしまうことがある。
【００１４】
組み合されるメモリチップの品質が均一な状態であれば、各メモリチップに同一に設定された調停期間が用いられても、このような周回遅れのメモリチップが出現しないように、不揮発化処理をスケジューリングすることができる。しかしながら、メモリチップ毎の品質が揃っていなければ、各メモリチップに同一に設定された調停期間が用いられると、周回遅れのメモリチップが出現し、結果として、ストレージデバイス全体の性能が低下する。
【００１５】
そこで、本実施の形態では、ＮＡＮＤ型フラッシュメモリのメモリチップ毎の不揮発化処理に要する時間（不揮発化実行時間）のばらつきに注目し、不揮発化実行時間が比較的長く掛かるメモリチップが、不揮発化実行時間が比較的短い、すなわち品質の良い他のメモリチップの性能を犠牲にすることがないように、所定の単位（例えばメモリチップ単位）に不揮発化調停期間を設定できるように構成する。これにより、不揮発化調停期間に間に合わないような事象を発生しにくくし、ストレージデバイスの性能を維持するようにする。
【００１６】
不揮発化調停期間は、調停期間とも称される。不揮発化調停期間は、不揮発化猶予期間若しくは猶予期間、又は、不揮発化待機期間若しくは待機期間と称しても良い。
【００１７】
（メモリシステム及びメモリコントローラ）
実施の形態に係るメモリシステム１００及びメモリコントローラ２００の模式的ブロック構成は、図１に示すように表される。
【００１８】
実施の形態に係るメモリシステム１００は、図１に示すように、メモリコントローラ２００と、複数のメモリチップ２０８とを備える。メモリシステム１００は、より詳細には、ソリッドステートドライブ（ＳＳＤ）などのストレージデバイスを構成し、ホスト１０と接続可能である。メモリコントローラ２００は、複数のメモリチップ２０８と接続されて各メモリチップ２０８の動作を制御する。複数のメモリチップ２０８は、不揮発性半導体メモリ２１０を構成するメモリチップ群である。以下では、メモリチップ２０８をＮＡＮＤ型フラッシュメモリチップと呼び、不揮発性半導体メモリ２１０をＮＡＮＤ型フラッシュメモリ２１０と呼ぶ。
【００１９】
実施の形態に係るメモリコントローラ２００は、図１に示すように、ホスト１０と接続可能であり、複数のメモリチップ（ＮＡＮＤ型フラッシュメモリチップ）２０８と接続されて各メモリチップ２０８の動作を制御する。
【００２０】
ホスト１０としては、例えば、サーバー、ノートＰＣ、デスクトップＰＣ、タブレットＰＣ、携帯電話、スキャナ、プリンタ、カメラ、ホームシアタ、ゲーム機器、セットトップボックス、ナビゲーションシステム、電子楽器など、幅広い電子機器等が対象となる。
【００２１】
実施の形態に係るメモリコントローラ２００は、図１に示すように、不揮発化データ発行部２０１と、ダイレクトメモリアクセス（ＤＭＡ：Direct Memory Access）コントローラ２０２と、制御部（ＣＰＵ）２０３と、内部メモリ２０５と、データバッファ２０６と、ＮＡＮＤコントローラ２０７と、ホストインタフェース（Ｉ／Ｆ）部２０９と、誤り訂正符号（ＥＣＣ：Error Correction Code）部２１８と、メモリコントローラ２００内の各部、すなわち不揮発化データ発行部２０１、ＤＭＡコントローラ２０２、制御部２０３、内部メモリ２０５、データバッファ２０６、ＮＡＮＤコントローラ２０７、ホストＩ／Ｆ部２０９、誤り訂正符号部２１８を相互に繋ぐ内部バスマトリックス２０４とを備える。メモリコントローラ２００の各機能は、例えば、ＳｏＣ（System-on-a-Chip）として、専用のハードウェアで実現してもよく、ＣＰＵ２０３がファームウェアを実行することにより実現してもよい。
【００２２】
ホストＩ／Ｆ部２０９は、外部のホスト１０との接続を行うインターフェース部である。ホストＩ／Ｆ部２０９は、例えば、ＳＡＴＡ（Serial AT Attachment）、ＳＡＳ（Serial Attached SCSI）、ＰＣＩｅ（PCI Express）、ＮＶＭｅ（NVM Express）などに準拠する。ＤＭＡコントローラ２０２は、データ転送を実施するコントローラである。ＣＰＵ２０３は、メモリコントローラ２００の各部の制御・動作設定を行う制御処理ユニットである。内部バスマトリックス２０４は、メモリコントローラ２００の内部の各機能ブロック間を接続するバス信号線である。内部メモリ２０５は、例えばＳＲＡＭ（Static Random Access Memory）であり、例えばＣＰＵ２０３用の作業のメモリである。内部メモリ２０５には、図１３及び１４を参照して後述する論物チップ変換テーブル２５１及び論物アドレス変換テーブル２５２が格納される。データバッファ２０６は、例えばＤＲＡＭ（Dynamic Random Access Memory）であり、ホスト１０から転送されたメモリチップ２０８への書き込み用データを一時的に格納しておくためのメモリである。データバッファ２０６は、メモリコントローラ２００の外部に設けられても良い。誤り訂正符号部２１８は、メモリチップ２０８から読み出したデータの誤り訂正処理を行う処理ブロックである。誤り訂正処理に用いられる誤り訂正符号としては、例えば、リード・ソロモン（ＲＳ（Reed-Solomon））符号、ＢＣＨ（Bose-Chaudhuri-Hocquenghem）符号、低密度パリティ検査（ＬＤＰＣ（Low-Density Parity-Check））符号などが挙げられる。
【００２３】
不揮発化データ発行部２０１は、不揮発化処理に必要なデータがデータバッファ２０６にバッファリングされた場合に、ＮＡＮＤコントローラ２０７に対して、不揮発化アドレス情報や、書き込み時に必要なその他属性情報を生成して、不揮発化指示を送信する機能を備える。不揮発化データ発行部２０１は、シーケンサ２１１と、パラメータテーブル２１２と、パラメータ転送部２１３と、プログラムジェネレータ２１４とを備える。
【００２４】
パラメータ転送部２１３は、所定の単位毎にＮＡＮＤコントローラ２０７が参照する設定値（不揮発化調停期間）を選び出す際に用いられるインデックス（Index）値を、不揮発化処理の開始前に予めＮＡＮＤコントローラ２０７に送信する。ここで、メモリチップ２０８の「所定の単位」とは、メモリチップ２０８の単位或いは各々のメモリチップ２０８内の複数の物理領域のうちの１つの物理領域単位で定義される。また、不揮発化処理の「シーケンス」とは、所定の単位毎に順番に（例えば、チップ番号の昇順に）実行される一連の不揮発化処理である。
【００２５】
不揮発化データ発行部２０１は、ホスト１０から転送されてデータバッファ２０６に格納されている書き込み用データや、図１３及び１４を参照して後述する、更新されて内部メモリ２０５に格納されている論物チップ変換テーブル２５１、論物アドレス変換テーブル２５２を、不揮発化対象データとして、ＮＡＮＤコントローラ２０７に送信する。不揮発化データ発行部２０１は、不揮発化処理のシーケンスにおける所定の単位の不揮発化処理で用いられる調停期間が設定された調停期間設定パラメータセットをパラメータテーブル２１２に保持する。
【００２６】
図２に示すように、パラメータテーブル２１２内に保持される調停期間設定パラメータセットには、所定の単位毎に、どの調停期間番号（Arbitration_Period No.）の調停期間を使用するのかを示すインデックス（Index）値が含まれる。インデックス値は、０〜ｎ（ｎは１以上の整数）の値をとり得る。調停期間設定パラメータセットは、不揮発化調停期間の番号に対応するインデックス値を１セットにまとめた構成を有する。「１セット」とは、一例として、ＮＡＮＤ型フラッシュメモリ２１０が８つのメモリチップ２０８で構成されている場合、チップ０〜チップ７にそれぞれ対応して設定されている不揮発化調停期間の番号に対応するインデックス値（Index0〜Index7）を、１回分の不揮発化処理のシーケンス用にまとめたものである。
【００２７】
不揮発化データ発行部２０１は、複数のメモリチップ２０８の不揮発化処理を指示する際に、プログラムジェネレータ２１４を用いて、パラメータ転送部２１３を介して、パラメータテーブル２１２内のインデックス値をＮＡＮＤコントローラ２０７に送信する。
【００２８】
ＮＡＮＤコントローラ２０７は、不揮発化データ発行部２０１により指示された複数のメモリチップ２０８に対する不揮発化処理を実行する際に、不揮発化データ発行部２０１から送信されたインデックス値に対応する調停期間番号が示す調停期間に従って、所定の単位毎に不揮発化処理を調停する。
【００２９】
すなわち、不揮発化データ発行部２０１は、所定の単位毎に順番に実行される一連の不揮発化処理毎に設定が可能である調停期間設定をＮＡＮＤコントローラ２０７に供給する。これにより、メモリチップ２０８毎に品質のばらつきがある場合においても、周回遅れのメモリチップ２０８が出現しないように不揮発化処理を調停することができる。そのため、メモリチップ２０８毎の品質の差による影響を最小化することができ、ストレージデバイスの性能を低減することなく不揮発化処理を実行することができる。
【００３０】
ここで、ＮＡＮＤコントローラ２０７は、不揮発化処理の対象となるメモリチップ２０８の調停期間内に、不揮発化処理に用いるデータが揃い且つ不揮発化処理の対象となるメモリチップ２０８の直前の周回の不揮発化処理が完了していれば、当該メモリチップ２０８に関する不揮発化処理を続行する。
【００３１】
一方で、ＮＡＮＤコントローラ２０７は、不揮発化処理の対象となるメモリチップ２０８の調停期間内に、不揮発化処理に用いるデータが揃わないか、不揮発化処理の対象となるメモリチップ２０８の直前の周回の不揮発化処理が完了していない場合に、当該メモリチップ２０８に関する不揮発化処理をスキップする。
【００３２】
また、ＮＡＮＤコントローラ２０７は、不揮発化データ発行部２０１から送信されてきたインデックス値２７０と、不揮発化対象のチップ番号を格納する不揮発化対象チップ番号表２７２と、インデックス値と調停期間番号とを対応付けて保持するレジスタ２７１と、不揮発化対象チップ番号表２７２のチップ番号に対応して選択されたインデックス値２７０を参照して、レジスタ２７１内に保持されている調停期間番号を所定の単位毎に選択するセレクタ２７３と、調停期間設定部２７５と、を備える。
【００３３】
ＮＡＮＤコントローラ２０７は、メモリチップ２０８に対して、データ不揮発化処理及びその調停などの制御を行う機能ブロックである。ＮＡＮＤコントローラ２０７は、不揮発化調停期間のインデックス値２７０をメモリチップ２０８のチップ番号単位で選択して、レジスタ２７１内のインデックス値に対応付ける。レジスタ２７１とセレクタ２７３は、インデックス値２７０を所定の単位毎に切り替えるために用いられる。ＮＡＮＤコントローラ２０７は、所定の単位毎に例えば、不揮発化対象チップ番号表２７２のチップ番号とレジスタ２７１内のインデックス値とに対応してセレクタ２７３によって選択された調停期間番号を調停期間設定部２７５に渡す。調停期間設定部２７５は、所定の単位毎の調停期間番号に従って、所定の単位毎にメモリチップ２０８の不揮発化処理を調停する。
【００３４】
図２において、パラメータテーブル２１２内に保持される調停期間設定パラメータセットの値は、メモリチップ２０８毎のＩＤＸ（インデックス値）を示す。例えば、図２のパラメータテーブル２１２内に保持される調停期間設定パラメータセットの値（「０」「０」「１」「２」「０」「１」「２」「０」）は、左から、チップ（０）用のインデックス値（ＩＤＸ０＝０）、チップ（１）用のインデックス値（ＩＤＸ１＝０）、チップ（２）用のインデックス値（ＩＤＸ２＝１）、チップ（３）用のインデックス値（ＩＤＸ３＝２）、…、チップ（７）用のインデックス値（ＩＤＸ７＝０）に対応している。ＮＡＮＤコントローラ２０７は、例えば不揮発化対象のメモリチップ２０８がチップ（２）であれば、インデックス値２７０の中から不揮発化対象チップ番号表２７２の上から３番目のチップ番号「２」に対応するインデックス値である「１」を選択し、レジスタ２７１内のインデックス値＝１に対応する調停期間番号（Arbitration_Period No.1）に設定された調停期間の値をセレクタ２７３によって選択し、調停期間設定部２７５に渡す。
【００３５】
尚、インデックス値の並びは、メモリチップ２０８の番号順（図２の例では昇順）に限らず、任意の順番にすることができる。
【００３６】
尚、不揮発化データ発行部２０１のパラメータテーブル２１２内に保持されてＮＡＮＤコントローラ２０７に送信される調停期間設定パラメータセットは、１セットのみに限定されるわけではない。例えば、同一のチップ内でも、メモリアドレス（記憶領域）が変わると特性も変わる可能性もあるため、メモリチップ２０８の複数の物理領域単位にそれぞれ対応して複数の調停期間設定パラメータセットを用意することもできる。
【００３７】
複数セットの調停期間設定パラメータセットを用いた場合の処理手順例は、図３に示すように表される。図３に示す例は、各メモリチップ（０〜７）について、ｎ＋１周分（ｎは２以上の整数）の不揮発化処理を実行するための調停期間設定パラメータセット（０〜ｎ）の一例を示す。以降、ｎ＋１周目の調停期間設定パラメータセットを示す番号（ｎ）を、パラメータセット番号（ＰＡＲＡＭ＿ＳＥＴ＿ＮＵＭ）と称する。本実施の形態では、設定可能な周回数は特に限定されない。実際に、メモリコントローラ２００のファームウェア等が周回数を設定する場合には、ファームウェアに過度な負荷をかけないようにある程度余裕を持たせた周回数分のパラメータセットを設定しても良い。
【００３８】
図３に示すように、調停期間設定パラメータセット（０）は、１周目の不揮発化処理に用いられ、調停期間設定パラメータセット（１）は、２周目の不揮発化処理に用いられ、調停期間設定パラメータセット（２）は、３周目の不揮発化処理に用いられ、調停期間設定パラメータセット（ｎ）は、ｎ＋１周目の不揮発化処理に用いられるようにしても良い。
【００３９】
（不揮発化制御処理：不揮発化データ発行部）
実施の形態に係るメモリコントローラ２００の不揮発化データ発行部２０１による不揮発化制御処理例のフローチャートは、図４に示すように表される。
【００４０】
（ａ）まず、ステップＳ１００において、動作が開始されると、不揮発化データ発行部２０１は、予めパラメータテーブル２１２内に調停期間設定パラメータセットを設定する。
【００４１】
（ｂ）次に、ステップＳ１０１において、不揮発化データ発行部２０１は、転送指示とともに、パラメータテーブル２１２内のインデックス値を含む調停期間パラメータセットを、ＮＡＮＤコントローラ２０７に転送する。
【００４２】
（ｃ）次に、ステップＳ１０２において、不揮発化処理の開始指示、例えば、ホスト１０からの不揮発化コマンドの受領待ちの状態に移行する。
【００４３】
（ｄ）次に、ステップＳ１０３において、ホスト１０からホストＩ／Ｆ部２０９を介して不揮発化処理の開始コマンドを受けると（すなわちステップＳ１０３の判定の結果ＹＥＳの場合）、ステップＳ１０４に移行し、ＣＰＵ２０３は、ＮＡＮＤコントローラ２０７に対して、不揮発化対象データを転送し始める。より具体的には、ＣＰＵ２０３から不揮発化処理の開始指示を受けた不揮発化データ発行部２０１は、ＤＭＡコントローラ２０２を使用してＮＡＮＤコントローラ２０７に対して不揮発化対象データを転送するようにしても良い。
【００４４】
それに呼応して、ＮＡＮＤコントローラ２０７は、以下の図５に例示するような不揮発化制御処理を実行する。
【００４５】
（不揮発化制御処理：ＮＡＮＤコントローラ）
実施の形態に係るメモリコントローラ２００のＮＡＮＤコントローラ２０７による不揮発化制御処理例を示すフローチャートは、図５に示すように表される。
【００４６】
（Ａ）まず、１周目の処理開始時は、ＮＡＮＤコントローラ２０７は、不揮発化データ発行部２０１から予め転送されていたパラメータセット番号が０であり（ステップＳ２００）且つ不揮発化チップ番号が０である（ステップＳ２０１）調停期間設定パラメータセットから処理を開始する。
【００４７】
（Ｂ）次に、ステップＳ２０２において、ＮＡＮＤコントローラ２０７は、チップ番号が０であるメモリチップに対応する不揮発化対象のデータを待つ状態に移行する。
【００４８】
（Ｃ）次に、ステップＳ２０３において、不揮発化対象データが到着すると（すなわちステップＳ２０２の判定の結果ＹＥＳの場合）、ＮＡＮＤコントローラ２０７は、対応するメモリチップ２０８に対して、不揮発化処理の調停の判断を行う。ここでいう「調停の判断」とは、対応するメモリチップ２０８に対する不揮発化処理が可能であるか否かの判断である。その際に使用する調停期間は、前述のように、調停期間設定パラメータセットのインデックス値と不揮発化対象チップ番号表２７２とから決まる「調停期間番号（Arbitration_Period No.）」に応じて設定される期間である。より具体的には、パラメータセット番号（PARAM_SET_NUM）（ステップＳ２００）で示されるパラメータセットのうち不揮発化対象チップ番号（NAND_CHIP_NUM）（ステップＳ２０１）で示されるインデックス値を用いて調停期間番号が選択される。そして、その調停期間番号で示される調停期間値を選択して、調停の判断を行う。
【００４９】
（Ｄ）次に、ステップＳ２０４及びＳ２０５において、１周目の不揮発化処理の場合には、不揮発化データが到着すると、該当のメモリチップ２０８に対する不揮発化処理が可能であるので、つまり、最初の周回では不揮発化処理の完了待ちの状態になっていることはないので、ステップＳ２０７に進んで、ＮＡＮＤコントローラ２０７は、直ちに不揮発化処理を実行する。すなわち、１周目の不揮発化処理に関しては、その前には不揮発化処理が行われていないので、ＮＡＮＤチップ自体の不揮発化実行時間の影響はない。そのため、不揮発化データが到着していれば直ちに不揮発化を実行することができる。
【００５０】
（Ｅ）次に、ステップＳ２０５において、不揮発化データが到着していない場合、ステップＳ２０６に進み、ＮＡＮＤコントローラ２０７は、不揮発化データの到着を所定の時間待機した後、ステップＳ２０３に戻って、調停期間が過ぎるまでリトライする。
【００５１】
（Ｆ）次に、該当のメモリチップ２０８に対する１周目の不揮発化処理が終わると、ステップＳ２０８に進み、ＮＡＮＤコントローラ２０７は、不揮発化対象チップ番号に１を加算して（すなわち、次のメモリチップ２０８を新たな対象として）、ステップＳ２０３〜ステップＳ２０７の処理を行う。これを、メモリチップ２０８の構成数の分繰り返す（ステップＳ２０９）。
【００５２】
（Ｇ）次に、２周目以降に関しては、その前の不揮発化処理が完了していない場合には、不揮発化データが到着していたとしても、メモリチップ２０８自体の不揮発化実行時間の影響を受ける可能性がある。
【００５３】
（Ｈ）ステップＳ２０４の判定処理において、調停期間を過ぎるまでは（すなわちステップＳ２０４の判定の結果ＮＯの場合）、ＮＡＮＤコントローラ２０７は、該当のメモリチップ２０８に対して不揮発化処理が可能かどうかを判断し（ステップＳ２０５）、不揮発化可能な条件が揃わなければ（すなわちステップＳ２０５の判定の結果ＮＯの場合）、調停期間が過ぎるまで、不揮発化条件を満たすか否かを判定し続ける（ステップＳ２０５）。不揮発化処理の実行が可能になれば（すなわちステップＳ２０５の判定の結果ＹＥＳの場合）、ＮＡＮＤコントローラ２０７は、直ちに不揮発化を実行する（ステップＳ２０７）。
【００５４】
（Ｉ）ステップＳ２０４の判定処理において、調停期間を過ぎてしまった場合（すなわちステップＳ２０４の判定の結果ＹＥＳの場合）には、そのメモリチップ２０８については、ステップＳ２０５〜ステップＳ２０７の処理をスキップして（すなわち、該当メモリチップ２０８は周回遅れとなる）、ステップＳ２０８に進み、ＮＡＮＤコントローラ２０７は、次のメモリチップ２０８への不揮発化処理に移行する。周回遅れとなったメモリチップ２０８については、次の周回時に不揮発化処理をリトライすることになる。
【００５５】
（Ｊ）ステップＳ２０９において、不揮発化対象チップ番号（すなわち、不揮発化処理済みのチップ数）が、搭載されているメモリチップ２０８数を超えると（すなわちステップＳ２０９の判定の結果ＹＥＳの場合）、ステップＳ２１０において、ＮＡＮＤコントローラ２０７は、使用する調停期間設定パラメータセットを指定するパラメータセット番号（PARAM_SET_NUM）に１を加算して、次のパラメータセットを選択する。
【００５６】
（Ｋ）次に、ステップＳ２１１において、パラメータセット番号（PARAM_SET_NUM）が、設定可能なパラメータセット数を超えていなければ（すなわちステップＳ２１１の判定の結果ＮＯの場合）、ステップＳ２０１に戻り、ＮＡＮＤコントローラ２０７は、次のパラメータセットを用いて不揮発化処理を行う。
【００５７】
（Ｌ）ステップＳ２１１において、パラメータセット番号（PARAM_SET_NUM）が、設定可能なパラメータセット数を超えていれば（すなわちステップＳ２１１の判定の結果ＹＥＳの場合）、ステップＳ２００に戻って、ＮＡＮＤコントローラ２０７は、パラメータセット番号（PARAM_SET_NUM）を「０」（初期値）に戻す（すなわち１周目の処理に戻る）。
【００５８】
（比較例による不揮発化制御処理の例）
比較例における不揮発化制御処理（不揮発化処理が完了したケース）のタイミングチャートは、図６に示すように表され、比較例における不揮発化制御処理（周回遅れが発生したケース）のタイミングチャートは、図７に示すように表される。
【００５９】
図中、「ISSUE」は、不揮発化対象のデータをデータバッファ２０６に格納し、さらにＮＡＮＤコントローラ２０７転送している期間を示している。また、図中、「PROG」は、該当のメモリチップ２０８に対して不揮発化処理を実行している期間（PROG_PERIOD）を示している。
【００６０】
比較例では、図６及び図７に示すように、どのメモリチップに対しても同一の調停期間が設定されている。ｎ＋１周目の不揮発化データの転送は、ｎ＋１周目の調停期間内に完了していなければならない。あるメモリチップ２０８に対するｎ＋１周目の不揮発化データの転送が完了すると、直ちに次のメモリチップ２０８のｎ＋１周目の不揮発化データの転送が開始される。
【００６１】
周回遅れの問題が起きないケースでは、図６に示すように、対象のメモリチップ２０８がｎ＋１周目の不揮発化対象として選択されたときに、当該メモリチップ２０８のｎ周目の不揮発化処理が完了しており、且つｎ＋１周目の不揮発化対象のデータが、対応するＮＡＮＤコントローラ２０７に転送可能な状態である。例えば、チップ０では、ｎ＋１周目の「ISSUE」期間の開始（時刻ｔ８）の前に、ｎ周目の「PROG」処理が完了しており、チップ１では、ｎ＋１周目の「ISSUE」期間の開始（時刻ｔ９）の前に、ｎ周目の「PROG」処理が完了しており、以降同様に、チップ７では、ｎ＋１周目の「ISSUE」期間の開始（時刻ｔ１５）の前に、ｎ周目の「PROG」処理が完了している。この場合には、不揮発化処理の対象チップを昇順に切り替えながら、滞りなく不揮発化を実施していくことができる。
【００６２】
周回遅れの問題が起きるケースでは、図７に示すように、対象のメモリチップ２０８がｎ＋１周目の不揮発化対象として選択されたときに、当該メモリチップ２０８のｎ周目不揮発化処理が完了していない。例えば、図７に示すように、チップ０のｎ＋１周目の調停期間の終了時刻（時刻ｔ９）になってもチップ０のｎ周目の「PROG」処理が完了していないため、結果として、チップ０のｎ＋１周目の不揮発化処理はスキップされることになる（すなわち、周回遅れとなる）。
【００６３】
複数のチップによりＲＡＩＤを構成する場合、あるチップに対するエラー訂正用のパリティ情報を生成するためには、例えば、ある周回におけるすべての不揮発化対象データについて不揮発化処理が完了している必要がある。周回毎にパリティ情報の生成を行う場合、例えば、チップ２の２周目で周回遅れを起こして、不揮発化処理が完了していない不揮発化対象データが残っている時点では、２周目の不揮発化処理の対象データを用いたエラー訂正用のパリティ情報も生成できなくなる。２周目のエラー訂正用のパリティ情報を生成できない状態では、３周目以降の不揮発化対象データについての不揮発化処理はできなくなる。なぜなら、２周目のエラー訂正用のパリティ情報を生成するためには、２周目の不揮発化対象データをデータバッファ２０６に残しておく必要があるため、結果的にデータバッファ２０６のメモリが不足し、３周目以降の不揮発化処理を行うのが困難になるからである。
【００６４】
比較例においては、調停期間の長さは各チップで同一であるため、チップ０の周回遅れを回避するためにチップ０の不揮発化実行期間に合わせて調停期間を長く設定すると、他のすべてのメモリチップ２０８の調停期間が長くなり、性能の低下に繋がる。
【００６５】
（実施の形態による不揮発化制御処理の例）
実施の形態における不揮発化制御処理の一例を示すタイミングチャートは、図８に示すように表され、実施の形態における不揮発化制御処理の別の一例を示すタイミングチャートは、図９に示すように表される。
【００６６】
実施の形態では、所定の単位毎に調停期間が設定される。比較例では、どのチップに対しても一様の長さの調停期間を用いたが、実施の形態では、図８に示すように、例えばチップ０に対するｎ＋１周目の調停期間には、時刻ｔ８〜ｔ９＿１までの長さに相当する期間が割り当てられている。
【００６７】
ここで割り当てる調停期間は、例えば、図１１に例示するように、メモリチップ２０８毎の品質に応じて複数種類（図１１の例では３種類）に区分化されている。即ち、長さがＰ１であるARBIT_PERIOD[0]と、長さがＰ３であるARBIT_PERIOD[1]と、長さがＰ２であるARBIT_PERIOD[2]とが用意され、各メモリチップ２０８に割り当てられる。ここで、Ｐ１＜Ｐ２＜Ｐ３である。尚、調停期間は、図１１に示したような３種類に限らず、２種類でも４種類以上でも構わない。また、調停期間の長さについても、メモリチップ２０８の性能に応じて、適宜調整することができる。
【００６８】
図８に示すように、ｎ＋１周目の調停期間（時刻ｔ８〜ｔ９＿１まで）の間に、チップ０に対するｎ周目の不揮発化処理が完了していれば、チップ０に対するｎ＋１周目の不揮発化処理を実行することができる。そのため、チップ０のｎ＋１周目には、時刻ｔ８〜ｔ９＿０に相当する長さのARBIT_PERIOD[０]や、時刻ｔ８〜ｔ１０に相当する長さのARBIT_PERIOD[１]ではなく、最適な長さである時刻ｔ８〜ｔ９＿１までに相当する長さのARBIT_PERIOD[２]を割り当てるほうが好ましい。
【００６９】
それに対し、図９に示すように、チップ０に対するｎ周目の不揮発化処理が時刻ｔ９＿２まで掛かるような場合には、周回遅れを防止するため、ｎ＋１周目の調停期間には、時刻ｔ８〜ｔ９＿１までに相当する長さのARBIT_PERIOD[２]ではなく、時刻ｔ８〜ｔ１０までに相当する長さのARBIT_PERIOD[１]を割り当てるほうが好ましい。
【００７０】
実施の形態では、これらの調停期間の設定を所定の単位、すなわちメモリチップ２０８のチップ単位或いは各々のメモリチップ２０８の複数の物理領域単位毎に設定する。これにより、他のメモリチップよりも性能が劣り、不揮発化処理が長く掛かるメモリチップには、適当な調停期間を設定することができる。
【００７１】
実施の形態における不揮発化制御処理の一例を示すタイミングチャートは、図１０に示すように表される。
【００７２】
図１０の例では、図１１に示すような３種類に区分化された調停期間、即ち、ARBIT_PERIOD[0]とARBIT_PERIOD[1]とARBIT_PERIOD[2]とが用意され、各メモリチップ２０８に対して調停期間が割り当てられる。但し、１周目については、各チップ０〜７に対して同一の調停期間（ARBIT_PERIOD[0]）が設定されている。
【００７３】
２周目以降については、チップ０にはARBIT_PERIOD[2]が設定され、チップ３にはARBIT_PERIOD[1]が設定され、それ以外のチップ１〜２，４〜７にはABIT_PERIOD[0]が設定されている。前述のように、ARBIT_PERIOD[0]が最も短い期間（Ｐ１）であり、ARBIT_PERIOD[1]が最も長い期間（Ｐ３）であり、ARBIT_PERIOD[2]がＰ１とＰ３との間の長さの期間（Ｐ２）となっている。従って、不揮発化処理の実行時間が短いチップ１〜２，４〜７にはARBIT_PERIOD[0]が設定され、不揮発化処理の実行時間が長いチップ３にはARBIT_PERIOD[1]が設定され、次に不揮発化処理の実行時間が長いチップ０にはARBIT_PERIOD[2]が設定されている。
【００７４】
そのため、図１０に示すように、不揮発化処理の実行時間が長いチップ３についても、次に不揮発化処理の実行時間が長いチップ０についても、個別に調整して設定した調停期間（ARBIT_PERIOD[1]とARBIT_PERIOD[2]）によって、それぞれ、周回遅れになるのを回避することができる。即ち、チップ０については、２周回の調停期間（ARBIT_PERIOD[2]に等しい時刻ｔ８〜ｔ１０）内に１周目の不揮発化処理が完了している。同様に、チップ３についても、２周回の調停期間（ARBIT_PERIOD[1]に等しい時刻ｔ１１〜ｔ１３＿１）内に１周目の不揮発化処理が完了している。
【００７５】
尚、図１０における各調停期間の起点は、図１０の最上段の不揮発化対象チップ番号が切り替わったときを起点とする。すなわち、例えばチップ０に対するｎ＋１周目の調停期間の起点は、チップ０〜チップ７のすべてに対するｎ周目の調停期間が完了したときである。また、図１０に示した例において、同じ調停期間（例えばARBIT_PERIOD[0]）を設定しているのにも関わらず長さが異なる場合があるのは、データの不揮発化処理が完了するタイミングによって次のチップの不揮発化処理が開始されるタイミングが異なるからである。
【００７６】
（調停期間の設定処理例）
実施の形態における調停期間設定パラメータセットの設定処理例を示すフローチャートは、図１２に示すように表される。図１２に示すように、例えば、メモリチップ２０８の初期化（フォーマット）などの際に実行する不揮発化処理の結果を基に、その際に掛かった不揮発化処理時間から、所定の単位、すなわちメモリチップ２０８のチップ単位或いは各々のメモリチップ２０８の複数の物理領域単位毎に調停期間を算出して設定する。尚、不揮発化処理時間を取得するタイミングは、メモリチップ２０８の初期化に限らず、例えば、メモリチップ２０８のバックアップ時や通常のリード・ライト時など、様々なタイミングが想定される。
【００７７】
（ａ）まず、ステップＳ３０１において、メモリコントローラ２００は、メモリチップ２０８の初期化処理を開始する。
【００７８】
（ｂ）次に、ステップＳ３０２において、メモリコントローラ２００は、初期化処理の過程で実行する不揮発化処理の結果を基に、その際に掛かった不揮発化処理時間から、所定の単位毎に調停期間を算出する。
【００７９】
（ｃ）次に、ステップＳ３０３において、メモリコントローラ２００は、ステップＳ３０２で算出した所定の単位毎の調停期間を調停期間格納部３００に格納しておく。この調停期間格納部３００は、メモリチップ２０８内に設けても良いし、メモリコントローラ２００内に設けても良い。或いは、必要なときにアクセス可能な外部の媒体（図示せず）に格納しておいても良い。
【００８０】
（ｄ）一方で、メモリコントローラ２００は、不揮発化処理を実行する際に（ステップＳ４０１）、調停期間格納部３００に予め格納されている所定の単位毎の調停期間を用いて（ステップＳ４０２）、不揮発化処理を実行する。不揮発化処理を実行する際には、調停期間格納部３００から読み出した所定の単位毎の調停期間の情報を、不揮発化の対象チップのインデックス値に対応付けて調停期間番号（Arbitration_Period No.）に設定する。また、使用するＮＡＮＤチップのアドレス情報が変わる度に、それに適応した調停期間番号を設定する。
【００８１】
ステップＳ３０２における算出方法としては、例えば、所定の単位毎に不揮発化処理に要する時間を算出しておき、標準的な（或いは高品質のチップの）不揮発化処理時間との差分を用いて、所定の単位毎に調停期間を算出することができる。
【００８２】
（不揮発化制御処理の後処理）
実施の形態に係るメモリコントローラにおいて用いられる論物チップ変換テーブル２５１の一例は、図１３に示すように表され、論物アドレス変換テーブル２５２の一例は、図１４に示すように表される。
【００８３】
論物チップ変換テーブル２５１は、メモリコントローラ内で識別している仮想的なチップ番号と、メモリチップ２０８の物理チップ番号との対応を示す論物チップ変換テーブルであり、不揮発化処理を、メモリチップ２０８のチップ単位に実行する際に用いられる。
【００８４】
また、論物アドレス変換テーブル２５２は、ホスト１０が発行するコマンドにおける論理アドレスと、メモリチップ２０８の物理アドレスとの対応を示す論物アドレス変換テーブルであり、不揮発化処理を、各々のメモリチップ２０８の複数の物理領域単位に実行する際に用いられる。
【００８５】
また、実施の形態に係るメモリコントローラによる不揮発化制御処理の後処理の一例を示すフローチャートは、図１５に示すように表される。
【００８６】
（Ａ）まず、ステップＳ５０１において、メモリコントローラ２００は、メモリチップ２０８への書き込みデータの不揮発化処理を開始する。
【００８７】
（Ｂ）次に、ステップＳ５０２において、メモリコントローラ２００は、不揮発化処理を実行する。
【００８８】
（Ｃ）次に、不揮発化処理の実行が終わると、すなわち、論物チップ変換テーブル２５１及び論物アドレス変換テーブル２５２に関わるすべての書き込みデータの不揮発化処理が完了すると、ステップＳ５０３において、メモリコントローラ２００は、論物チップ変換テーブル２５１及び論物アドレス変換テーブル２５２の更新処理を実行する。例えば、全メモリチップ２０８に対してそれぞれ１回ずつの書き込みデータの不揮発化処理を行う処理を、複数回完了した時点で、メモリコントローラ２００は、論物チップ変換テーブル２５１及び論物アドレス変換テーブル２５２を更新する。
【００８９】
（Ｄ）次に、論物チップ変換テーブル２５１及び論物アドレス変換テーブル２５２の更新処理が終わると、ステップＳ５０４において、メモリコントローラ２００は、エラー訂正用データの生成処理を実行する。エラー訂正用データの生成処理（ステップＳ５０４）は、メモリチップ２０８からデータをリードした際にエラーが発生した場合に用いる復元用パリティ情報等のエラー訂正用データを生成する処理であり、メモリコントローラ２００内のＥＣＣ部２１８によって実行される。
【００９０】
（Ｅ）次に、エラー訂正用データの生成処理が終わると、ステップＳ５０５において、メモリコントローラ２００は、不揮発化処理を終了する。
【００９１】
論物アドレス変換テーブルの更新処理（ステップＳ５０３）は、論物アドレス変換テーブル２５２を更新する。例えば、同一の論理アドレスにデータを書き込む場合、実際に書き込まれるメモリチップ２０８の物理アドレスは、書き込みの度に変化していく。そのため、ステップＳ５０２の不揮発化処理を実行後に、メモリコントローラ２００は、論物アドレス変換テーブル２５２を更新する。論物アドレス変換テーブル２５２は、内部メモリ２０５内のキャッシュメモリに格納され、メモリコントローラ２００による次回の不揮発化処理に用いられる。尚、ステップＳ５０３で更新された論物アドレス変換テーブル２５２は、更新後すぐに不揮発化される必要はない。例えば、内部メモリ２０５内のキャッシュメモリが飽和するまでは、更新された論物アドレス変換テーブル２５２キャッシュメモリに保持しても良い。キャッシュメモリ内に更新された論物アドレス変換テーブル２５２が保持されている間は、メモリチップ２０８に対してデータのリードが高速に実行できる。
【００９２】
また、論物アドレス変換テーブルの更新処理（ステップＳ５０３）において、論物チップ変換テーブル２５１を更新する際に、例えば、１周分として配置された論理チップ番号「０」〜「７」の７つのメモリチップ２０８群のうち１つのメモリチップ２０８が不良ブロックを有する場合に、その不良ブロックを有するメモリチップ２０８を論理チップ番号「７」に設定し、それ以外の不良ブロックがないメモリチップ２０８を論理チップ番号「０」〜「６」に設定するようにしても良い。
【００９３】
メモリチップ２０８の不揮発化処理において、周回遅れのメモリチップ２０８が出現すると、全体の性能の劣化に繋がり、更には、論物アドレス変換テーブルの生成処理（ステップＳ５０３）及びエラー訂正用データの生成処理（ステップＳ５０４）にも影響が及ぶ。
【００９４】
しかしながら、本実施の形態によれば、周回遅れのメモリチップ２０８の出現を極力回避することができるため、論物アドレス変換テーブルの更新処理（ステップＳ５０３）及びエラー訂正用データの生成処理（ステップＳ５０４）への影響も低減することができる。
【００９５】
以上説明したように、本実施の形態によれば、不揮発化実行時間が遅い特定のチップの不揮発化処理が周回遅れにならないようにすることができるため、その後に同一チップに対する不揮発化要求を発行できなくなるのを防ぎ、且つ関連情報の生成も滞ることがないようにすることができる。
【００９６】
従って、メモリチップに品質の差がある場合においても、性能を低減することなく不揮発化処理を実行することができるメモリシステムを提供することができる。
【００９７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００９８】
このように、本実施の形態は、ここでは記載していない様々な実施の形態等を含む。
【符号の説明】
【００９９】
２０１…不揮発化データ発行部、２０２…ダイレクトメモリアクセス（ＤＭＡ）コントローラ、２０３…制御部（ＣＰＵ）、２０５…内部メモリ、２０６…データバッファ、２０７…ＮＡＮＤコントローラ、２０８…メモリチップ、２０９…ホストインタフェース（Ｉ／Ｆ）部、２１８…誤り訂正符号（ＥＣＣ）部、２０４…内部バスマトリックス、２１１…シーケンサ、２１２…パラメータテーブル、２１３…パラメータ転送部、２１４…プログラムジェネレータ、２５１…論物チップ変換テーブル、２５２…論物アドレス変換テーブル、２７１…レジスタ
【図１】
2020154503.tif 000003
【図２】
2020154503.tif 000004
【図３】
2020154503.tif 000005
【図４】
2020154503.tif 000006
【図５】
2020154503.tif 000007
【図６】
2020154503.tif 000008
【図７】
2020154503.tif 000009
【図８】
2020154503.tif 000010
【図９】
2020154503.tif 000011
【図１０】
2020154503.tif 000012
【図１１】
2020154503.tif 000013
【図１２】
2020154503.tif 000014
【図１３】
2020154503.tif 000015
【図１４】
2020154503.tif 000016
【図１５】
2020154503.tif 000017