(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-01
(45)【発行日】2023-05-12
(54)【発明の名称】シーケンス処理ユニットを備えたメモリ制御システム
(51)【国際特許分類】
G06F 12/06 20060101AFI20230502BHJP
G06F 13/16 20060101ALI20230502BHJP
G06F 15/78 20060101ALI20230502BHJP
【FI】
G06F12/06 550A
G06F13/16 510E
G06F15/78 513
(21)【出願番号】P 2021550040
(86)(22)【出願日】2019-05-05
(86)【国際出願番号】 CN2019085504
(87)【国際公開番号】W WO2020223849
(87)【国際公開日】2020-11-12
【審査請求日】2021-08-26
【前置審査】
(73)【特許権者】
【識別番号】519237948
【氏名又は名称】長江存儲科技有限責任公司
【氏名又は名称原語表記】Yangtze Memory Technologies Co.,Ltd.
【住所又は居所原語表記】No.88 Weilai 3rd Road,East Lake High-tech Development Zone,Wuhan,Hubei,China
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ファン・ペン・ジャン
(72)【発明者】
【氏名】シャン・フ
(72)【発明者】
【氏名】チ・ワン
(72)【発明者】
【氏名】ジ・チャオ・ドゥ
(72)【発明者】
【氏名】フア・ミン・カオ
(72)【発明者】
【氏名】シン・ユン・ファン
(72)【発明者】
【氏名】ウェン・ウェン・ドン
(72)【発明者】
【氏名】シュ・ビン・シュ
【審査官】北村 学
(56)【参考文献】
【文献】特開2014-157603(JP,A)
【文献】特開2006-147024(JP,A)
【文献】国際公開第2019/044061(WO,A1)
【文献】米国特許出願公開第2014/0157055(US,A1)
【文献】特開平01-231145(JP,A)
【文献】特開平04-219804(JP,A)
【文献】特開2000-105734(JP,A)
【文献】米国特許出願公開第2017/0358327(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 12/00 - 12/06
G06F 13/16 - 13/18
G06F 15/78
G11C 5/14
G11C 29/00 - 29/56
(57)【特許請求の範囲】
【請求項1】
メモリ制御システムであって、
動作命令を生成するために、ホストからメモリ動作コマンドを受信することと、前記メモリ動作コマンドをデコードすることとを行うように構成されるメモリインターフェース回路と、
前記メモリインターフェース回路に結合され、前記動作命令を受信することと、あらかじめ定められたプロトコルを通じてスケジューリングアルゴリズムに従って複数のタスク命令を生成することとを行うように構成されるマイクロコントローラと、
前記マイクロコントローラに結合されたシーケンス処理ユニットであって、少なくとも1つの有限状態マシンを備え、前記あらかじめ定められたプロトコルを通じて前記複数のタスク命令を受信することと、前記少なくとも1つの有限状態マシンを用いて、前記複数のタスク命令に従ってメモリデバイスの複数の回路を制御することとを行うように構成される、シーケンス処理ユニットと
を備え、
前記メモリ制御システムのテストモードにおいて、前記メモリインターフェース回路が、前記メモリデバイスにアクセスするために前記シーケンス処理ユニットを制御し、
前記マイクロコントローラが、前記複数のタスク命令の
送信順序を変更するために、前記スケジューリングアルゴリズムを更新するようにさらに構成され、
前記マイクロコントローラが、ストレージユニットを備え、前記ストレージユニットは、前記スケジューリングアルゴリズムに従って割り当てられた
送信順序
に対応した前記ストレージユニット内の位置に前記複数のタスク命令を記憶
し、
前記あらかじめ定められたプロトコルを通じて前記複数のタスク命令を受信することは、前記ストレージユニットに記憶された複数のタスク命令を受信することを含む、メモリ制御システム。
【請求項2】
前記メモリインターフェース回路と前記マイクロコントローラが、標準バスプロトコルを通じて通信することを特徴とする、請求項1に記載のメモリ制御システム。
【請求項3】
前記シーケンス処理ユニットが、負荷ピンと動作命令ピンとをさらに備え、
前記シーケンス処理ユニットが、前記負荷ピンの電圧が前記マイクロコントローラによって上げられたときに、タスク命令を受信することを特徴とする、請求項1に記載のメモリ制御システム。
【請求項4】
前記シーケンス処理ユニットが、完了ピンをさらに備え、
前記タスク命令が実行されると、前記シーケンス処理ユニットが、前記マイクロコントローラに通知するために前記完了ピンの電圧を上げることを特徴とする、請求項3に記載のメモリ制御システム。
【請求項5】
前記メモリデバイスが不揮発性メモリ(NVM)であることを特徴とする、請求項1に記載のメモリ制御システム。
【請求項6】
前記メモリデバイスの前記複数の回路が、チャージポンプ、パワーレギュレータ、アドレスデコーダ、および/またはセンスアンプを備えることを特徴とする、請求項1に記載のメモリ制御システム。
【請求項7】
前記シーケンス処理ユニットが、前記メモリインターフェース回路にさらに結合されることを特徴とする、請求項1に記載のメモリ制御システム。
【請求項8】
前記シーケンス処理ユニットが複数の有限状態マシンを備えることを特徴とする、請求項1に記載のメモリ制御システム。
【請求項9】
前記複数の有限状態マシンがそれぞれ異なる回路に結合されることを特徴とする、請求項8に記載のメモリ制御システム。
【請求項10】
メモリ装置であって、
メモリデバイスと、
動作命令を生成するために、ホストからメモリ動作コマンドを受信することと、前記メモリ動作コマンドをデコードすることとを行うように構成されるメモリインターフェース回路と、
前記メモリインターフェース回路に結合され、前記動作命令を受信することと、あらかじめ定められたプロトコルを通じてスケジューリングアルゴリズムに従って複数のタスク命令を生成することとを行うように構成されるマイクロコントローラと、
前記マイクロコントローラに結合されたシーケンス処理ユニットであって、少なくとも1つの有限状態マシンを備え、前記あらかじめ定められたプロトコルを通じて前記複数のタスク命令を受信することと、前記少なくとも1つの有限状態マシンを用いて、前記複数のタスク命令に従ってメモリデバイスの複数の回路を制御することとを行うように構成される、シーケンス処理ユニットと
を備え、
前記メモリ装置のテストモードにおいて、前記メモリインターフェース回路が、前記メモリデバイスにアクセスするために前記シーケンス処理ユニットを制御し、
前記マイクロコントローラが、前記複数のタスク命令の
送信順序を変更するために、前記スケジューリングアルゴリズムを更新するようにさらに構成され、
前記マイクロコントローラが、ストレージユニットを備え、前記ストレージユニットは、前記スケジューリングアルゴリズムに従って割り当てられた
送信順序
に対応した前記ストレージユニット内の位置に前記複数のタスク命令を記憶
し、
前記あらかじめ定められたプロトコルを通じて前記複数のタスク命令を受信することは、前記ストレージユニットに記憶された複数のタスク命令を受信することを含む、メモリ装置。
【請求項11】
メモリ制御システムを動作するための方法であって、前記メモリ制御システムが、メモリインターフェース回路と、マイクロコントローラと、少なくとも1つの有限状態マシンを備えるシーケンス処理ユニットとを備え、
前記メモリインターフェース回路が、動作命令を生成するために、ホストから受信したメモリ動作コマンドをデコードするステップと、
前記マイクロコントローラが、動作命令を受信するステップと、
前記マイクロコントローラが、あらかじめ定められたプロトコルを通じてスケジューリングアルゴリズムに従って複数のタスク命令を発行するステップと、
前記シーケンス処理ユニットが、前記あらかじめ定められたプロトコルを通じて前記複数のタスク命令を受信するステップと、
前記シーケンス処理ユニットが、前記少なくとも1つの有限状態マシンを用いて、前記複数のタスク命令に従ってメモリデバイスの複数の回路を制御するステップと、
前記マイクロコントローラが、前記複数のタスク命令の
送信順序を変更するために、前記マイクロコントローラの前記スケジューリングアルゴリズムを更新するステップと
を備え、
前記メモリ制御システムのテストモードにおいて、前記メモリインターフェース回路が、前記メモリデバイスにアクセスするために前記シーケンス処理ユニットを制御し、
前記マイクロコントローラが、ストレージユニットを備え、前記ストレージユニットは、前記スケジューリングアルゴリズムに従って割り当てられた
送信順序
に対応した前記ストレージユニット内の位置に前記複数のタスク命令を記憶
し、
前記あらかじめ定められたプロトコルを通じて前記複数のタスク命令を受信するステップは、前記ストレージユニットに記憶された複数のタスク命令を受信するステップを含む、方法。
【請求項12】
前記メモリインターフェース回路と前記マイクロコントローラが、標準バスプロトコルを通じて通信することを特徴とする、請求項
11に記載の方法。
【請求項13】
前記シーケンス処理ユニットが、負荷ピンと動作命令ピンとをさらに備え、前記方法が、
前記マイクロコントローラが前記負荷ピンの電圧を上げるステップと、
前記シーケンス処理ユニットが、前記負荷ピンの前記電圧が上げられたときに、タスク命令を受信するステップと
をさらに備えることを特徴とする、請求項
11に記載の方法。
【請求項14】
前記シーケンス処理ユニットが、完了ピンをさらに備え、前記方法が、
前記タスク命令が実行されると、前記シーケンス処理ユニットが、前記マイクロコントローラに通知するために前記完了ピンの電圧を上げるステップをさらに備えることを特徴とする、請求項
13に記載の方法。
【請求項15】
前記メモリデバイスの前記複数の回路が、チャージポンプ、パワーレギュレータ、アドレスデコーダ、および/またはセンスアンプを備えることを特徴とする、請求項
11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ制御システムに関し、より具体的には、シーケンス処理ユニットを備えたメモリ制御システムに関する。
【背景技術】
【0002】
プログラム動作や読取り動作などのメモリ動作は通常、複雑な信号制御とアドレスデコーディングを含むため、メモリは通常、内部メモリ制御アーキテクチャを通じてアクセスされる。従来のメモリ制御アーキテクチャは通常、チャージポンプ、パワーレギュレータ、アドレスデコーダ、およびセンスアンプの制御などの複雑な制御を処理するマイクロコントローラに基づいている。
【0003】
しかしながら、たとえばマイクロコントローラによって必要とされるフェッチ、デコーディング、および実行のサイクルなどの通常の処理手順のため、リソース利用率とマイクロコントローラのパフォーマンスはかなり低くなる。さらに、メモリ制御の開発は直感的に読み取れない動作命令に基づいているため、保守または更新が困難である。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明の一実施形態は、メモリ制御システムを開示する。メモリ制御システムは、メモリインターフェース回路、マイクロコントローラ、およびシーケンス処理ユニットを含む。
【0005】
メモリインターフェース回路は、メモリ動作コマンドを受信し、メモリ動作コマンドに従って複数の動作命令を生成する。マイクロコントローラは、メモリインターフェース回路に結合されている。マイクロコントローラは、複数の動作命令を受信し、あらかじめ定められたプロトコルを通じてスケジューリングアルゴリズムに従って複数のタスク命令を生成する。シーケンス処理ユニットはマイクロコントローラに結合されており、少なくとも1つの有限状態マシンを含む。シーケンス処理ユニットは、あらかじめ定められたプロトコルを通じて複数のタスク命令を受信し、少なくとも1つの有限状態マシンを用いて、複数のタスク命令に従ってメモリデバイスの複数の回路を制御する。
【0006】
本発明の別の実施形態は、メモリ制御システムを動作するための方法を開示する。メモリ制御システムは、メモリインターフェース回路、マイクロコントローラ、およびシーケンス処理ユニットを含む。シーケンス処理ユニットは、少なくとも1つの有限状態マシンを含む。
【0007】
本方法は、メモリインターフェース回路が、メモリ動作コマンドに従って複数の動作命令を生成するステップと、マイクロコントローラが、複数の動作命令を受信するステップと、マイクロコントローラが、あらかじめ定められたプロトコルを通じてスケジューリングアルゴリズムに従って複数のタスク命令を発行するステップと、シーケンス処理ユニットが、あらかじめ定められたプロトコルを通じて複数のタスク命令を受信するステップと、シーケンス処理ユニットが、少なくとも1つの有限状態マシンを用いて、複数のタスク命令に従ってメモリデバイスの複数の回路を制御するステップとを含む。
【0008】
本発明のこれらおよび他の目的は、様々な図および図面に示されている好ましい実施形態の以下の詳細な説明を読んだ後、当業者には間違いなく明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態によるメモリ制御システムを示す図である。
【
図2】マイクロコントローラとシーケンス処理ユニットとの間の通信のタイミング図である。
【
図3】1つのスケジューリングアルゴリズムに従って内部ストレージユニットに記憶されたタスク命令セットを示す図である。
【
図4】別のスケジューリングアルゴリズムに従って内部ストレージユニットに記憶されたタスク命令セットを示す図である。
【
図5】本発明の一実施形態による、
図1のメモリ制御システムを動作するための方法を示す図である。
【発明を実施するための形態】
【0010】
図1は、本発明の一実施形態によるメモリ制御システム100を示している。メモリ制御システム100は、メモリインターフェース回路110、マイクロコントローラ120、およびシーケンス処理ユニット130を含む。
図1において、メモリ制御システム100は、ホストH1がメモリデバイスM1にアクセスするのを支援するために使用することができるので、ホストH1は、簡単な動作でメモリデバイスM1を制御することができる。いくつかの実施形態では、メモリインターフェース回路110、マイクロコントローラ120、およびシーケンス処理ユニット130は、同じチップ内に配置することができる。
【0011】
メモリインターフェース回路110は、メモリ動作コマンドOC1を受信することができる。いくつかの実施形態では、メモリ動作コマンドOC1は、メモリデバイスM1を制御するために、コンピュータシステムの中央処理装置などのホストH1によって生成される比較的高レベルのコマンドであり得る。メモリインターフェース回路110は、メモリ動作コマンドOC1をデコードし、メモリ動作コマンドOC1に従ってマイクロコントローラ120をトリガするために複数の動作命令INS1からINSXを生成することができ、Xは正の整数である。
【0012】
いくつかの実施形態では、メモリインターフェース回路110およびマイクロコントローラ120は、標準バスプロトコル、たとえば、これに限定されないが、システム管理バスまたは集積回路間バスを通じて通信し得る。この場合、メモリインターフェース回路110は、使用中のバスプロトコルに準拠するようにメモリ動作コマンドOC1を再構成することによって、動作命令INS1からINSXを生成し得る。
【0013】
マイクロコントローラ120は、メモリインターフェース回路110に結合されている。マイクロコントローラ120は、複数の動作命令INS1からINSXを受信し、スケジューリングアルゴリズムに従って複数のタスク命令TSK1からTSKYを生成することができ、Yは正の整数である。
【0014】
シーケンス処理ユニット130は、マイクロコントローラ120に結合され、有限状態マシンFSM1およびFSM2を含む。シーケンス処理ユニット130は、タスク命令TSK1からTSKYを受信し、タスク命令TSK1からTSKYに従って、有限状態マシンFSM1およびFSM2を用いてメモリデバイスM1の回路を制御することができる。
【0015】
いくつかの実施形態では、マイクロコントローラ120およびシーケンス処理ユニット130は、あらかじめ定められたプロトコルを通じて通信することができる。たとえば、シーケンス処理ユニット130は、負荷ピンPIN
LD、動作命令ピンPIN
INS、および完了ピンPIN
CMをさらに含むことができる。
図2は、マイクロコントローラ120とシーケンス処理ユニット130との間の通信のタイミング図である。
【0016】
図2において、マイクロコントローラ120は、次のタスク命令TSK
1が有効であることを示すために、負荷ピンPIN
LDの電圧を上げることができる。したがって、シーケンス処理ユニット130は、負荷ピンPIN
LDの電圧がマイクロコントローラ120によって高く引き上げられたときに、タスク命令TSK
1を受信する。
【0017】
さらに、タスク命令TSK1が実行された後、シーケンス処理ユニット130は、マイクロコントローラ120に通知するために、完了ピンPINCMの電圧を上げることができる。しかしながら、いくつかの他の実施形態では、マイクロコントローラ120およびシーケンス処理ユニット130は、システム要件に従って、異なるスキームおよび/または異なるピンと通信し得る。
【0018】
いくつかの実施形態では、シーケンス処理ユニット130は、必要なワード線電圧を提供するためのパワーレギュレータ、ターゲットメモリセルを選択するためのアドレスデコーダ、および/または読取り電流を感知するためのセンスアンプなどのメモリデバイスM1の回路を制御し得る。さらに、いくつかの実施形態では、メモリデバイスM1は、不揮発性メモリ(NVM)であり得る。不揮発性メモリは、プログラム動作のために高いプログラム電圧を必要とする場合があるので、シーケンス処理ユニット130はまた、高いプログラム電圧を提供するためにチャージポンプを制御し得る。
【0019】
さらに、いくつかの実施形態では、シーケンス処理ユニット130は、異なるタイプの回路を処理するために異なる有限状態マシンを使用し得る。たとえば、コア電圧に関連する回路を制御するために有限状態マシンFSM1が使用され得、ページバッファに関連する回路を制御するために有限状態マシンFSM2が使用され得る。しかしながら、いくつかの他の実施形態では、シーケンス処理ユニット130は、システム要件に従ってメモリデバイス100の回路を制御するためのより多数または少数の有限状態マシンを含み得る。
【0020】
シーケンス処理ユニット130は、有限状態マシンFSM1およびFSM2を用いてメモリデバイスM1を制御することができるので、制御動作は、従来技術において使用されるマイクロコントローラによって必要とされる冗長なルーチン動作なしで、より簡単な方法で実行することができる。したがって、リソース利用率とシーケンス処理ユニット130のパフォーマンスを向上させることができる。
【0021】
シーケンス処理ユニット130は、メモリデバイス100の回路を直接制御することができるが、マイクロコントローラ120は、シーケンス処理ユニット130によって実行されるタスクのスケジュールを制御することができる。すなわち、マイクロコントローラ120は、スケジューリングアルゴリズムに従って、タスク命令TSK1からTSKYを所望の順序で割り当てることができる。いくつかの実施形態では、タスク命令は、マイクロコントローラ120の内部ストレージユニット122に所望の順序でセットとして記憶することができ、マイクロコントローラ120は、メモリインターフェース回路110から送信される動作命令に対応するあらかじめ定められた順序でタスク命令を発行することができる。
【0022】
図3は、スケジューリングアルゴリズムによる動作命令INS
1に対応する内部ストレージユニット122に記憶されたタスク命令セットを示している。
図3において、マイクロコントローラ120が動作命令INS
1を受信すると、マイクロコントローラ120は、内部ストレージユニット122に記憶されたタスク命令セットによって示されるように、タスク命令TSK
1、TSK
2、およびTSK
3を順次発行し得る。
【0023】
たとえば、タスク命令TSK1は読取り電流を感知することを意味し得、タスク命令TSK2およびTSK3はそれぞれ対応するデータをページバッファに転送することを意味し得る。
【0024】
この場合、ストレージユニット122に記憶されているタスク命令セットを更新することによって、発行されるタスク命令の順序を容易に調整することができる。たとえば、
図4は、更新されたスケジューリングアルゴリズムによる動作命令INS
1に対応する内部ストレージユニット122に記憶されたタスク命令セットを示している。
図4において、マイクロコントローラ120が動作命令INS
1を受信すると、マイクロコントローラ120は、内部ストレージユニット122に記憶されたタスク命令セットによって示されるように、タスク命令TSK
2、TSK
1、TSK
3、およびTSK
4を順次発行する。
【0025】
すなわち、ストレージユニット122に記憶されたタスク命令セットを所望のスケジューリングアルゴリズムに従って更新することによって、タスク命令および実行されるタスク命令の順序を容易に変更することができる。したがって、スケジューリングアルゴリズムは、メモリ制御システム100の開発中に更新することができ、それによって柔軟性が向上する。
【0026】
さらに、いくつかの実施形態では、シーケンス処理ユニット130はまた、メモリインターフェース回路110に直接結合することができる。この場合、メモリ制御システム100のテストモードにおいて、メモリインターフェース回路110は、メモリデバイス100に直接アクセスするためにシーケンス処理ユニット130を制御することができる。この機能は、メモリ制御システム100の開発段階で有用であり得る。たとえば、マイクロコントローラ120がスタックしている場合、メモリインターフェース回路110は、デバッグのための問題を見つけるために、マイクロコントローラ120をバイパスし、シーケンス処理ユニット130を直接制御することができる。また、この機能は、新しいアルゴリズムをテストするときに便利であり得る。
【0027】
図5は、本発明の一実施形態による、メモリ制御システム100を動作するための方法200を示す図である。方法200は、ステップS210からS270を含む。
S210:メモリインターフェース回路110は、メモリ動作コマンドOC1に従って、複数の動作命令INS
1からINS
Xを生成する。
S220:マイクロコントローラ120は、複数の動作命令INS
1からINS
Xを受信する。
S230:マイクロコントローラ120は、あらかじめ定められたプロトコルを通じてスケジューリングアルゴリズムに従って複数のタスク命令TSK
1からTSK
Yを発行する。
S240:シーケンス処理ユニット130は、あらかじめ定められたプロトコルを通じて複数のタスク命令TSK
1からTSK
Yを受信する。
S250:シーケンス処理ユニット130は、有限状態マシンFSM1およびFSM2を用いて、タスク命令TSK
1からTSK
Yに従ってメモリデバイスM1の回路を制御する。
S260:タスク命令TSK
1からTSK
Yの送信順序を変更するために、マイクロコントローラ120のスケジューリングアルゴリズムを更新する。
S270:メモリ制御システム100のテストモードにおいて、メモリインターフェース回路110は、メモリデバイスM1に直接アクセスするためにシーケンス処理ユニット120を制御する。
【0028】
いくつかの実施形態では、メモリインターフェース回路110およびマイクロコントローラ120は、標準バスプロトコルを通じて通信し得、マイクロコントローラ120およびシーケンス処理ユニット130は、特別に定義された通信プロトコルを通じて通信し得る。たとえば、ステップS230およびS240において、シーケンス処理ユニット130は、
図2に示されるタイミング図に従うことによって、タスク命令TSK
1からTSK
Yを受信し得る。しかしながら、いくつかの他の実施形態では、マイクロコントローラ120およびシーケンス処理ユニット130は、システム要件に従って他のプロトコルと通信し得る。
【0029】
要約すると、メモリ制御システムおよびメモリ制御システムを動作するための方法は、メモリ制御システムのシーケンス処理ユニットを用いてメモリデバイスを制御することができる。シーケンス処理ユニットは有限状態マシンベースであるため、メモリデバイスの制御は、より高い利用率とより高いパフォーマンスで簡素化することができる。さらに、メモリ制御システムもタスクをスケジューリングするためにマイクロコントローラを採用するため、マイクロコントローラの内部ストレージユニットに記憶されている命令セットを更新することによってスケジューリングアルゴリズムを柔軟に更新することができ、開発効率が向上する。
【0030】
当業者は、本発明の教示を保持しながら、デバイスおよび方法の多数の修正および変更が行われ得ることを容易に観察するであろう。したがって、上記の開示は、添付の請求項の境界および範囲によってのみ制限されると解釈されるべきである。
【符号の説明】
【0031】
100 メモリ制御システム
100 メモリデバイス
110 メモリインターフェース回路
120 マイクロコントローラ
122 内部ストレージユニット
130 シーケンス処理ユニット
200 方法