特許第6722229号(P6722229)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サンディスク テクノロジーズ インコーポレイテッドの特許一覧

特許6722229メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法
<>
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000004
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000005
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000006
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000007
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000008
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000009
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000010
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000011
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000012
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000013
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000014
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000015
  • 特許6722229-メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6722229
(24)【登録日】2020年6月23日
(45)【発行日】2020年7月15日
(54)【発明の名称】メモリコマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムおよび方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20200706BHJP
   G11C 7/22 20060101ALI20200706BHJP
【FI】
   G06F12/00 550C
   G06F12/00 564A
   G11C7/22
【請求項の数】23
【外国語出願】
【全頁数】58
(21)【出願番号】特願2018-116186(P2018-116186)
(22)【出願日】2018年6月19日
(65)【公開番号】特開2019-23863(P2019-23863A)
(43)【公開日】2019年2月14日
【審査請求日】2020年3月23日
(31)【優先権主張番号】62/531,832
(32)【優先日】2017年7月12日
(33)【優先権主張国】US
(31)【優先権主張番号】15/870,390
(32)【優先日】2018年1月12日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】511242535
【氏名又は名称】サンディスク テクノロジーズ エルエルシー
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】ユエン チャン
(72)【発明者】
【氏名】ゴードン イー
(72)【発明者】
【氏名】イボ イン
(72)【発明者】
【氏名】ツィ−イー リウ
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特表2017−527038(JP,A)
【文献】 国際公開第2016/036442(WO,A1)
【文献】 特開2007−179669(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G11C 7/22
(57)【特許請求の範囲】
【請求項1】
ダイであって、
揮発性メモリアレイと、
前記不揮発性メモリアレイを備える前記ダイで具体化されるシーケンサで生成された複数の制御信号に応じて、前記不揮発性メモリアレイ内でメモリ動作を実行するメモリ制御回路と、
を備えており、
前記シーケンサが、プログラム可能なメモリユニットからそれぞれのメモリ動作に対応するシーケンサエントリを取得し
取得された前記シーケンサエントリは、信号データおよび対応するタイミングデータを備えており、
前記信号データは、対応する前記タイミングデータによって指定される期間に出力される複数の制御信号の各々のセットを定義し、
前記シーケンサが、取得された前記シーケンサエントリに従った複数の制御信号を生成し、
前記シーケンサによる複数の制御信号の生成は、取得された前記シーケンサエントリの前記信号データで定義された前記複数の制御信号の各々のセットを前記シーケンサが生成することを備えており、
前記複数の制御信号の各々のセットは、取得された前記シーケンサエントリの対応する前記タイミングデータによって指定されたクロックサイクル数で生成される、
ダイ。
【請求項2】
プログラム可能なメモリユニットから特定のシーケンサエントリを取得することに応答して、前記シーケンサが、前記特定のシーケンサエントリの前記タイミングデータによって指定されたクロックサイクル数の間に前記特定のシーケンサエントリの前記信号データで定義される複数の制御信号のセットを生成するように構成される、請求項1に記載のダイ。
【請求項3】
前記タイミングデータが、指数および仮数を含み、
前記シーケンサが、前記シーケンサエントリの前記タイミングデータの前記指数および仮数を使用することによってシーケンサエントリの前記タイミングデータによって指定されたクロックサイクル数を決定するように構成される、請求項1または2に記載のダイ。
【請求項4】
前記シーケンサが、前記シーケンサエントリの前記タイミングデータによって指定された前記クロックサイクル数をm×2として計算するように構成され、
mが、前記タイミングデータの前記仮数であり、eが、前記タイミングデータの前記指数である、請求項3に記載のダイ。
【請求項5】
前記シーケンサは、タイミング領域および信号領域を有するバによって前記プログラム可能なメモリユニットに結合されており
前記シーケンサエントリのタイミングデータが、前記バスの前記タイミング領域を介して伝達され、
前記シーケンサエントリの信号データが、前記バスの前記信号領域を介して伝達される、請求項1から4のいずれか一項に記載のダイ。
【請求項6】
前記プログラム可能なメモリユニットが、揮発性メモリ、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み出し専用メモリ、永続メモリ、非一時的な記憶媒体および不揮発性記憶媒体のうちの1つまたは複数を含む、請求項1から5のいずれか一項に記載のダイ。
【請求項7】
前記シーケンサが、
前記プログラム可能なメモリユニットから第1シーケンサエントリを取得するように構成されたフェッチ回路と、
前記第1シーケンサエントリのタイミングデータによって指定されたクロックサイクル数の間に前記第1シーケンサエントリの信号データで定義される複数の制御信号のセットを生成するように構成された出力回路と
を含み、
前記フェッチ回路が、一連のシーケンサエントリの前記第1シーケンサエントリに続く第2シーケンサエントリを取得するようにさらに構成される、請求項1から6のいずれか一項に記載のダイ。
【請求項8】
前記シーケンサが、
前記フェッチ回路によって取得されたシーケンサエントリを構文解析するように構成された復号回路であって、前記フェッチ回路によって取得された前記一連のシーケンサエントリの最後のシーケンサエントリを構文解析することに応答して、前記一連のシーケンサエントリの処理が完了したと判断するようにさらに構成された前記復号回路をさらに含み、
前記一連のシーケンサエントリを完了することが、制御信号ベクトルのシーケンスを生成することを含み、
各制御信号ベクトルが、前記一連のシーケンサエントリの対応するシーケンサエントリの前記タイミングデータによって指定されたクロックサイクル数の間に生成される、請求項7に記載のダイ。
【請求項9】
前記シーケンサが、状態マシン回路を含み、前記状態マシン回路が、
シーケンサ状態を維持するように構成された状態論理であって、前記シーケンサ状態が複数の前記制御信号の出力状態を定義する、前記状態論理と、
前記状態論理によって維持される前記シーケンサ状態によって定義された複数の前記制御信号を出力するように構成された出力論理と、
前記プログラム可能なメモリユニット内に格納されたシーケンサエントリに基づいて次のシーケンサ状態を決定し、前記状態論理が決定されたクロックサイクル数の間前記シーケンサ状態を維持することに応答して、前記状態論理を前記次のシーケンサ状態に遷移するように構成された次の状態論理と、
を含む、請求項1から8のいずれか一項に記載のダイ。
【請求項10】
複数のメモリ動作の各々に対応した複数のシーケンサ命令を含むプログラム可能なメモリであって、
前記シーケンサ命令が、タイマーデータおよび信号データを備えるシーケンサタイミングエントリを含んでおり、
前記タイマーデータで指定されるサイクルカウントを有するメモリ制御信号を前記信号データが指定する、前記プログラム可能なメモリと、
複数の不揮発性メモリ素子および制御回路を含む半導体構造であって、
前記制御回路が、メモリ制御信号に応答して、選択された不揮発性メモリ素子のメモリ動作を実行するように構成される、前記半導体構造と、
前記半導体構造の前記制御回路内で具体化されたシーケンサであって、前記プログラム可能なメモリ内に格納されたシーケンサ命令を実行するように構成された前記シーケンサと、
を備えるシステムであって、
メモリ動作に関するシーケンサ命令を実行するため、前記シーケンサは、
前記プログラム可能なメモリから前記シーケンサ命令をロードすることと、
前記ロードされたシーケンサ命令のタイマーデータからサイクルカウントを決定することと、
前記決定されたサイクルカウントの間、前記ロードされたシーケンサ命令の信号データで指定されたメモリ制御信号を出力することであって、
前記シーケンサによって出力された前記メモリ制御信号が、前記半導体構造内の前記不揮発性メモリ素子のうちの1つまたは複数の前記メモリ動作の少なくとも一部分を前記制御回路に実行させることと、
を行うようにさらに構成されている、システム。
【請求項11】
前記ロードされたシーケンサ命令の前記タイマーデータが、指数値および仮数値を含み、
前記シーケンサが、m×Bを計算することによって前記サイクルカウントを決定するようにさらに構成され、mが前記仮数値であり、eが前記指数値であり、Bが基数である、請求項10に記載のシステム。
【請求項12】
前記半導体構造が、半導体基板、半導体ウエハ、半導体層、メモリチップ、メモリパッケージ、メモリダイ、フラッシュメモリダイ、NANDフラッシュダイおよびNORフラッシュダイのうちの1つまたは複数を含む、請求項10または11に記載のシステム。
【請求項13】
前記シーケンサを前記プログラム可能なメモリに通信可能に結合するように構成されたバスであって、
前記バスの第1のセクションが、それぞれのシーケンサ命令のタイマーデータの通信のために指定され、
第1の領域とは異なる、前記バスの第2のセクションが、それぞれのシーケンサ命令の信号データの通信のために指定される、前記バスをさらに含む、請求項10から12のいずれか一項に記載のシステム。
【請求項14】
不揮発性記憶装置場所から前記プログラム可能なメモリに前記複数のシーケンサ命令を投入するように構成された構成マネージャをさらに含む、請求項10から13のいずれか一項に記載のシステム。
【請求項15】
前記構成マネージャが、
修正されたシーケンサ命令を受信すること、および、
前記不揮発性メモリ素子の摩耗レベルおよび前記不揮発性メモリ素子の誤り率のうちの1つまたは複数に応答して、前記修正されたシーケンサ命令を生成することと、
のうちの1つまたは複数に応答して、前記修正されたシーケンサ命令を前記プログラム可能なメモリおよび前記不揮発性記憶装置場所のうちの1つまたは複数に書き込むようにさらに構成される、請求項14に記載のシステム。
【請求項16】
前記シーケンサが、
決定されたシーケンサ命令アドレスから前記シーケンサ命令をロードすることと、
前記メモリ動作のオペコードおよび前記半導体構造内の前記メモリ動作の前記不揮発性メモリ素子のアドレスのうちの1つまたは複数に基づいて前記シーケンサ命令アドレスを決定することと、
を行うようにさらに構成される、請求項10から15のいずれか一項に記載のシステム。
【請求項17】
前記シーケンサが、
前記決定されたシーケンサ命令アドレスでの第1のシーケンサ命令から最後のシーケンサ命令までの一連のシーケンサ命令を実行することと、
前記最後のシーケンサ命令のタイミングデータおよび前記最後のシーケンサ命令の信号データのうちの1つまたは複数に基づいて前記一連のシーケンサ命令の前記最後のシーケンサ命令を識別することと、
を行うようにさらに構成される、請求項16に記載のシステム。
【請求項18】
前記プログラム可能なメモリ内に格納された第1のシーケンサ命令が、前記半導体構造の不揮発性メモリ素子の読出動作、書込動作および消去動作のうちの1つまたは複数に関するメモリ制御信号に対する第1のタイミングパラメータを含み、
前記システムが、
前記第1のシーケンサ命令の前記メモリ制御信号に対する修正されたタイミングパラメータを決定することと、
前記第1のタイミングパラメータを前記修正されたタイミングパラメータと交換するために、前記第1のシーケンサ命令を更新することと、
を行うように構成されたシーケンサ調整モジュールをさらに含み、
前記第1のシーケンサ命令を更新することが、前記プログラム可能なメモリ内に格納された前記第1のシーケンサ命令の少なくとも一部分を上書きすること、および、前記制御回路のための不揮発性ファームウェア記憶装置内に格納された前記第1のシーケンサ命令の少なくとも一部分を上書きすること、のうちの1つまたは複数を含む、請求項10から17のいずれか一項に記載のシステム。
【請求項19】
不揮発性(NV)回路構造内で具体化されたシーケンサ回路に通信可能に結合された揮発性ランダムアクセスメモリ(RAM)内に複数のシーケンサベクトルを含む構成データを格納することと、
前記NV回路構造のNVメモリセルの動作を実行することを求める要求に応答して、前記シーケンサ回路において前記揮発性RAM内に格納された一連のシーケンサベクトルを実行することと
を含む方法であって、
前記一連のシーケンサベクトルを実行することが、
前記揮発性RAMから前記一連のシーケンサベクトルの第1のシーケンサベクトルを含むデータ単位を転送することと、
前記揮発性RAM内に格納された前記シーケンサベクトルに対して決定されたレイアウトに従って前記データ単位のビット値を解釈することであって、第1のビット値が出力信号ベクトルを含み、第2のビット値が仮数を含み、第3のビット値が指数を含む、解釈することと、
前記第1のシーケンサベクトルを実行することであって、
決定されたクロックサイクル数の間に前記第1のシーケンサベクトルの前記出力信号ベクトルに対応するオンダイメモリ制御信号を生成することであって、前記オンダイメモリ制御信号が、前記メモリ動作の少なくとも一部分の実行を前記制御回路の1つまたは複数の機能モジュールに行わせるように構成される、前記生成することを含み、
前記決定されたクロックサイクル数が、m×2として計算され、mが前記仮数であり、eが前記第1のシーケンサベクトルの前記指数である、前記実行することと、
前記第1のシーケンサベクトルの実行の完了に応答して、前記一連のシーケンサベクトルの次のシーケンサベクトルを処理することと、
を含む、方法。
【請求項20】
前記オンダイメモリ制御信号が、
前記NVメモリアレイの選択されたワード線上に指定電位を生成するように構成されたチャージポンプ回路、
前記NVメモリアレイの選択されたビット線上に指定電位を生成するように構成されたドライバ回路、
前記NVメモリアレイの選択されたNVメモリセルにプログラム電圧パルスを印加するように構成されたパルス生成回路、および、
前記NVメモリアレイの選択されたビット線を検知するように構成された検知回路、
のうちの1つまたは複数の動作を制御するように構成される、請求項19に記載の方法。
【請求項21】
メモリ動作とそれぞれのデータ単位アドレスとの間の関連性に基づいて前記一連のシーケンサベクトルの前記第1のシーケンサベクトルを含む前記データ単位に対するアドレスを決定することと、
前記決定されたデータ単位アドレスから前記第1のシーケンサベクトルを含む前記データ単位を転送することと、
前記決定されたデータ単位アドレスに続く次のデータ単位アドレスから前記一連のシーケンサベクトルの前記次のシーケンサベクトルを含むデータ単位を読み取ることと、
をさらに含む、請求項19または20に記載の方法。
【請求項22】
初期化動作の間に不揮発性記憶装置場所から前記揮発性RAMに前記シーケンサベクトルを含む前記構成データをロードすることと、
修正されたシーケンサベクトルを受信することと、
前記揮発性RAMおよび前記不揮発性記憶装置場所のうちの1つまたは複数に前記修正されたシーケンサベクトルを書き込むことと、
をさらに含み、
前記修正されたシーケンサベクトルを書き込むことが、
前記構成データにおいて前記第1のシーケンサベクトルを前記修正されたシーケンサベクトルと交換することと、
前記修正されたシーケンサベクトルを前記構成データに追加することと、
のうちの1つまたは複数を含む、請求項21に記載の方法。
【請求項23】
それぞれのアドレスで複数のシーケンサタイミングベクトルを揮発性ランダムアクセスメモリ(RAM)に格納するための手段であって、各シーケンサタイミングベクトルが、それぞれのタイミングデータおよび制御信号データを有する、前記格納するための手段と、
不揮発性メモリ上でメモリコマンドを実行するための手段であって、前記不揮発性メモリの不揮発性メモリセルを含むメモリ構造内で具体化される、手段であり、
前記メモリコマンドを前記揮発性RAMのアドレスと関連付けることと、
前記メモリコマンドと関連付けられた前記アドレスからシーケンサタイミングベクトルをフェッチすることと、
前記シーケンサタイミングベクトルを実行することであって、
前記シーケンサタイミングベクトルの前記タイミングデータに含まれる仮数および指数を使用することによって前記シーケンサタイミングベクトルに対するタイミングパラメータを決定することと、
前記決定されたタイミングパラメータに従って前記シーケンサタイミングベクトルの前記制御信号データに対応する制御タイミング信号をコマンド実行回路に提供することであって、前記制御タイミング信号が、前記不揮発性メモリの1つまたは複数の不揮発性メモリセル上での前記メモリコマンドの少なくとも一部分の実行を前記コマンド実行回路に行わせるように構成される、提供することと
を含む、前記実行することと
を含む、前記実行するための手段と
前記揮発性RAMの次のアドレスから次のシーケンサタイミングベクトルをフェッチするための手段と、
前記次のシーケンサタイミングベクトルのタイミングデータおよび前記次のシーケンサタイミングベクトルの制御信号データのうちの1つまたは複数に基づいて前記不揮発性メモリ上での前記メモリコマンドの実行が完了しているかどうかを判断するための手段と、
前記不揮発性メモリ上での前記メモリコマンドの実行が完了していないと判断することに応答して前記次のシーケンサタイミングベクトルを実行するための手段と、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
この出願は、最も早く利用可能な有効出願日の米国仮特許出願第62/531,832号明細書の利益を主張し、同特許は、2017年7月12日に出願され、参照により本明細書に組み込まれる。
【0002】
本開示は、様々な実施形態では、メモリ動作パルス制御に関し、より具体的には、揮発性メモリを使用してメモリ動作パルスタイミングを制御することに関する。
【背景技術】
【0003】
不揮発性(NV)メモリシステムは、シーケンサを含み得、シーケンサは、とりわけ、NVメモリの動作を実装するように構成することができる。特定の動作を実行することを求める要求に応答して、シーケンサは、コマンド信号、タイミング信号、制御信号、動作信号、動作パルスおよび/または同様のものなどのメモリ制御信号を生成することができる。シーケンサによって生成された信号は、特定の動作を実装するようにメモリデバイスを構成するように適応させることができる。信号の構成、タイミングおよび/または持続時間は、NVメモリ内で実行される対応するメモリ動作の構成および/またはタイミングを決定することができる。従来のシーケンサは、メモリと同じ構造(シーケンサによって制御されるメモリ素子と同じダイ)上で具体化することができる論理回路を使用することによって決定されたシーケンスおよび/またはタイミングにおいて制御信号を生成することができる。論理回路は、メモリダイの周辺領域内で実装することができる。それに従って、シーケンサは、低サイズおよび/または電力フットプリントを有するように設計することができる。従来のオンダイ制御回路によって生成される信号の構成、タイミングおよび/または持続時間は、メモリが設計および/または製作される際に固定され得る(例えば、回路の設計に「配線接続する」ことができる)。従って、従来のオンダイ制御回路によって生成される制御信号の構成、タイミングおよび/または持続時間は、設計および/または製作後の変更が可能ではない可能性がある。誤り、バグまたは他の考慮事項が原因で変更を望む場合は、オンダイ制御回路を再設計または再製作しなければならず、それは、高価で、多大な時間を要するものであり得る(そして、ダイ上で具体化されている他のコンポーネントに影響を及ぼし得る)。しかし、設計および/または製作後に、ある特定の制御信号(あるいは制御信号シーケンスまたはパターン)の構成、タイミングおよび/または持続時間を修正することは有利であり得る。そのような修正により、メモリデバイスは、異なる使用条件、摩耗レベル、テスト条件、性能評価、誤り率、ユーザの好み、コマンド、設定、パラメータおよび/または同様のものに適応させることができる。従って、必要なものは、メモリ構造の設計、製作および/または検定後にそれにより生成されるメモリ制御信号の構成、タイミングおよび/または持続時間の修正が可能なオンダイ制御回路のためのシステム、方法、装置、コンピュータプログラム製品および/または回路である。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、添付の図面の使用を通じて追加の特異性および詳細を用いて説明および解説し、添付の図面は、その一部を形成する。図面の様々な図における要素の説明は、1つまたは複数の他の図の要素を指し得る。図では、同様の番号は、同様の要素(同様の要素の代替の実施形態を含む)を指し得る。図面は、本開示のある特定の実施形態のみを描写し、従って、その範囲を制限するものと見なしてはならない。
【図面の簡単な説明】
【0005】
図1A】メモリ動作パルスなどのメモリコマンド、タイミングおよび/または制御信号を適応させるように構成されたシーケンサを含むメモリシステムの一実施形態を示す概略ブロック図である。
【0006】
図1B】開示されるシーケンサによって生成された例示的なメモリ制御信号シーケンスに対応するタイミング図を描写する。
【0007】
図1C】シーケンサ構成データを使用することによって、メモリコマンド、タイミングおよび/または制御信号を適応させるように構成されたシーケンサの別の実施形態を示す概略ブロック図である。
【0008】
図1D】本明細書で開示されるようなシーケンサの別の実施形態を示す概略ブロック図である。
【0009】
図1E】メモリ動作パルスなどのメモリコマンド、タイミングおよび/または制御信号を適応させるように構成されたシーケンサを含むメモリシステムの別の実施形態を示す概略ブロック図である。
【0010】
図1F】NVメモリセルの一実施形態を示す概略ブロック図である。
【0011】
図1G】シーケンサ制御データに対応するコマンド、タイミングおよび/または制御信号に従ってメモリ動作を実装するように構成された制御回路の実施形態を示す概略ブロック図である。
【0012】
図1H】シーケンサ制御データに対応するコマンド、タイミングおよび/または制御信号に従ってメモリ動作を実装するように構成された制御回路のさらなる実施形態を示す概略ブロック図である。
【0013】
図2】メモリコマンド、タイミングおよび/または制御信号の構成、タイミングおよび/または持続時間を適応させるための方法の一実施形態のフロー図である。
【0014】
図3】メモリコマンド、タイミングおよび/または制御信号の構成、タイミングおよび/または持続時間を適応させるための方法の別の実施形態のフロー図である。
【0015】
図4】メモリシステムのシーケンサによって生成されたコマンド、タイミングおよび/または制御信号を修正するための方法の一実施形態のフロー図である。
【0016】
図5】メモリシステムのシーケンサによって生成されたコマンド、タイミングおよび/または制御信号を修正するための方法の別の実施形態のフロー図である。
【0017】
図6】コマンド、タイミングおよび/または制御信号のオンダイ制御のためのシステムの一実施形態の概略ブロック図である。
【発明を実施するための形態】
【0018】
上記で開示されるように、NVメモリシステムは、シーケンサを含み得、シーケンサは、とりわけ、NVメモリの様々な動作を実装するための信号を生成するように構成することができる。シーケンサは、決定されたタイミングに従って信号を生成するように構成することができる。NVメモリの特定の動作を実装することを求める要求に応答して、シーケンサは、制御および/またはタイミング信号のシーケンスを生成するように構成することができる。制御および/またはタイミング信号のシーケンスは、NVメモリの特定の動作を実装するように制御回路を構成することができる。シーケンサは、NVメモリと同じ構造内で(例えば、NVメモリの周辺回路において)具体化することができる。従って、シーケンサは、「オンダイ」シーケンサと呼ぶことおよび/またはNVメモリの周辺回路内で具体化することができる。シーケンサは、NVメモリに課されるオーバーヘッドを低減するように設計することができる(例えば、低サイズおよび/または電力要件を有する)。その上、シーケンサは、シーケンサによる様々な制御および/またはタイミング信号の生成の遅延がNVメモリの対応する動作の実行に対する待機時間に悪影響を及ぼすことがないように、低待機時間を有する必要があり得る。前述の事項を考慮すると、従来のオンダイシーケンサは、既定の固定タイミングに従って決定された制御および/またはタイミング信号を生成するように構成された論理回路として具体化することができる。従って、シーケンサによって生成される信号および/またはタイミングは、とりわけ、シーケンサを具体化する論理回路によって決定することができる。例えば、シーケンサは、状態マシン回路を含み得、それにより生成される信号および/またはタイミングは、状態マシン回路の1つまたは複数の状態遷移によって決定することができる。それに従って、シーケンサによって生成された信号および/またはタイミングは、NVメモリの製作後の修正が可能ではない可能性がある。
【0019】
本明細書で開示されるものは、メモリ動作および/または制御パルスのオンダイ制御のための回路構造の実施形態である。回路構造は、ダイを含み得、ダイは、NVメモリセル、NVメモリアレイ、二次元NVメモリアレイ、三次元NVメモリアレイおよび/または同様のものを含み得る。ダイは、メモリアレイ内でのメモリ動作の実装をオンダイ制御回路に行わせるように適応させたメモリタイミング、制御および/または動作信号を生成するように構成されたシーケンサをさらに含み得る。シーケンサは、メモリアレイおよびシーケンサが同じダイ内で具体化されるように、ダイ内で具体化することができる。シーケンサは、格納された構成データに従ってメモリ制御信号の構成、タイミングおよび/または持続時間を適応させることができる(例えば、ダイ上で具体化されたシーケンサ回路および/または他のオンダイ制御回路に配線接続されるなど、設計および/または製作時に固定された構成データを利用することとは対照的に)。それに従って、ダイ内で特定のメモリ動作を実装するためにシーケンサによって生成されたメモリ制御信号の構成、タイミングおよび/または持続時間は、ダイ上のシーケンサおよび/または他のオンダイ制御回路を実装するために使用される回路の設計および/または製作後に、修正、交換、更新および/または別の方法で操作することができる。シーケンサは、メモリユニットからそれぞれのメモリ動作に対応するシーケンサエントリを読み出し、シーケンサエントリによって指定されたクロックサイクル数の間にシーケンサエントリに対応する制御信号を生成するように構成することができる。生成された制御信号は、それぞれのメモリ動作を実装するようにダイ上で具体化されたメモリ制御回路を構成するように適応させることができる。シーケンサエントリは、タイマーフィールドおよび信号フィールドを含み得る。メモリユニットから特定のシーケンサエントリを読み取ることに応答して、シーケンサは、特定のシーケンサエントリのタイマーフィールドによって指定されたクロックサイクル数の間に特定のシーケンサエントリの信号フィールドに対応する制御信号を生成するように構成することができる。タイミングフィールドは、指数および仮数を含み得、シーケンサエントリによって指定されたクロックサイクル数は、m×2^eとして計算することができ、mは仮数であり、eは指数である。
【0020】
開示されるダイは、シーケンサをメモリユニットに結合するように構成されたバスをさらに含み得る。シーケンサエントリは、バス上のデータワードとして伝達することができる。バス上のデータワードは、タイミング領域と信号領域とに分割することができる。シーケンサエントリによって指定されたクロックサイクル数は、タイミング領域を介して伝達することができ、シーケンサによって生成されるメモリ制御信号を定義する信号データは、信号領域を介して伝達することができる。メモリユニットは、非一時的なメモリ、永続メモリ、読み出し専用メモリ、揮発性メモリ、ランダムアクセスメモリ、スタティックランダムアクセスメモリ、ダイナミックランダムアクセスメモリおよび/または同様のもののうちの1つまたは複数を含み得る。
【0021】
いくつかの実施形態では、シーケンサは、メモリユニットからシーケンサエントリにアクセスするように構成されたフェッチ回路と、シーケンサエントリによって指定されたクロックサイクル数の間にフェッチされたシーケンサエントリに対応する制御信号を生成するように構成された出力回路とを含む。フェッチ回路は、メモリユニット内に格納された一連のシーケンサエントリのフェッチされたシーケンサエントリに続くタイミングエントリを読み取るようにさらに構成することができる。シーケンサは、フェッチ回路によってアクセスされたシーケンサエントリを構文解析するように構成された復号回路をさらに含み得、復号回路は、フェッチ回路によってアクセスされた一連のシーケンサエントリの最後のシーケンサエントリを構文解析することに応答して、一連のシーケンサエントリの処理が完了したと判断するようにさらに構成される。一連のシーケンサエントリを完了することは、制御信号ベクトルのシーケンスを生成することを含み得、各制御信号ベクトルは、一連のシーケンサエントリの対応するシーケンサエントリによって指定されたクロックサイクル数の間に生成される。
【0022】
シーケンサは、状態マシン回路を含み得、状態マシン回路は、シーケンサ状態を維持するように構成された状態論理であって、シーケンサ状態が、複数のメモリ制御信号の出力状態を定義する、状態論理と、状態論理によって維持されるシーケンサ状態によって定義された複数のメモリ制御信号を出力するように構成された出力論理と、メモリユニット内に格納されたシーケンサエントリに基づいて次のシーケンサ状態を決定し、状態論理が決定されたクロックサイクル数の間シーケンサ状態を維持することに応答して、状態論理を次のシーケンサ状態に遷移するように構成された次の状態論理とを含む。
【0023】
本明細書で開示されるものは、メモリ構造の設計および/または製作後に修正が可能な構成データを使用したメモリ動作および/または制御信号の構造上制御のためのシステムの実施形態である。システムは、複数のシーケンサ命令を含む揮発性メモリであって、各シーケンサ命令が、タイマーデータおよび信号データを含む、揮発性メモリと、複数の不揮発性メモリ素子および制御回路を含む半導体構造であって、制御回路が、メモリ制御信号に応答して、選択された不揮発性メモリ素子の動作を実装するように構成される、半導体構造とを含み得る。システムは、半導体構造の制御回路内で具体化されたシーケンサをさらに含み得る。シーケンサは、メモリ内に格納されたシーケンサ命令を実行するように構成することができる。半導体構造は、半導体基板、半導体ウエハ、半導体層、メモリチップ、メモリパッケージ、メモリダイ、フラッシュメモリダイ、NANDフラッシュダイおよびNORフラッシュダイのうちの1つまたは複数を含み得る。
【0024】
シーケンサ命令を実行するため、シーケンサは、揮発性メモリからシーケンサ命令をロードすることと、ロードされたシーケンサ命令のタイマーデータからサイクルカウントを決定することと、決定されたサイクルカウントの間、ロードされたシーケンサ命令の信号データに従ってメモリ制御信号を出力することであって、シーケンサによって出力されたメモリ制御信号が、半導体構造内の不揮発性メモリ素子のメモリ動作の少なくとも一部分を実装するように構成される、出力することとを行うように構成することができる。ロードされたシーケンサ命令のタイマーデータは、指数値および仮数値を含み得、サイクルカウントを決定することは、m×B^eを計算することを含み得、mは仮数値であり、eは指数値であり、Bは基数(例えば、2)である。システムは、シーケンサを揮発性メモリに通信可能に結合するように構成されたバスをさらに含み得る。いくつかの実施形態では、バスの第1のセクションは、それぞれのシーケンサ命令のタイマーデータの通信のために指定され、第1の領域とは異なる、バスの第2のセクションは、それぞれのシーケンサ命令の信号データの通信のために指定される。シーケンサは、決定されたシーケンサ命令アドレスからシーケンサ命令をロードすることと、メモリ動作のオペコードおよび半導体構造内のメモリ動作の不揮発性メモリ素子のアドレスのうちの1つまたは複数に基づいてシーケンサ命令アドレスを決定することとを行うようにさらに構成することができる。シーケンサは、決定されたシーケンサ命令アドレスでの第1のシーケンサ命令から最後のシーケンサ命令までの一連のシーケンサ命令を実行することと、最後のシーケンサ命令のタイミングデータおよび最後のシーケンサ命令の信号データのうちの1つまたは複数に基づいて一連のシーケンサ命令の最後のシーケンサ命令を識別することとを行うように構成することができる。
【0025】
システムは、不揮発性記憶装置場所から揮発性メモリに複数のシーケンサ命令を投入するように構成された構成マネージャをさらに含み得る。不揮発性記憶装置場所は、読み出し専用メモリ、不揮発性メモリ、ファームウェア記憶装置、不揮発性メモリ素子のうちの1つもしくは複数および/または同様のものを含み得る。構成マネージャは、修正されたシーケンサ命令を受信することおよび修正されたシーケンサ命令を生成することのうちの1つまたは複数に応答して、修正されたシーケンサ命令を揮発性メモリおよび不揮発性記憶装置場所のうちの1つまたは複数に書き込むようにさらに構成することができる。修正されたシーケンサ命令は、不揮発性メモリ素子の摩耗レベルおよび不揮発性メモリ素子の誤り率のうちの1つまたは複数に応答して生成することができる。
【0026】
揮発性メモリ内に格納された第1のシーケンサ命令は、半導体構造の不揮発性メモリ素子の読出動作、書込動作および消去動作のうちの1つまたは複数に関するメモリ制御信号に対する第1のタイミングパラメータを含み得る。システムは、シーケンサ調整モジュールをさらに含み得、シーケンサ調整モジュールは、第1のシーケンサ命令のメモリ制御信号に対する修正されたタイミングパラメータを決定することと、第1のタイミングパラメータを修正されたタイミングパラメータと交換するために、第1のシーケンサ命令を更新することとを行うように構成される。第1のシーケンサ命令を更新することは、揮発性メモリ内に格納された第1のシーケンサ命令の少なくとも一部分を上書きすること、および、制御回路のための不揮発性ファームウェア記憶装置内に格納された第1のシーケンサ命令の少なくとも一部分を上書きすることのうちの1つまたは複数を含み得る。
【0027】
本明細書で開示されるものは、メモリの設計および/またはメモリの製作後にメモリ制御信号のタイミング、構成および/または持続時間を適応させるための方法の実施形態である。開示される方法の実施形態は、不揮発性(NV)回路構造内で具体化されたシーケンサ回路に通信可能に結合された揮発性ランダムアクセスメモリ(RAM)内に複数のシーケンサベクトルを含む構成データを格納することと、NV回路構造のNVメモリセルの動作を実装することを求める要求に応答して、シーケンサ回路において揮発性RAM内に格納された一連のシーケンサベクトルを実装することとを含む。一連のシーケンサベクトルを実装することは、揮発性RAMから一連のシーケンサベクトルの第1のシーケンサベクトルを含むデータ単位を転送することと、揮発性RAM内に格納されたシーケンサベクトルに対して決定されたレイアウトに従ってデータ単位のビット値を解釈することと、第1のシーケンサベクトルを実行することとを含み得る。いくつかの実施形態では、データ単位の第1のビット値は出力信号ベクトルを含み、第2のビット値は仮数を含み、第3のビット値は指数を含む。第1のシーケンサベクトルを実行することは、決定されたクロックサイクル数の間に第1のシーケンサベクトルの出力信号ベクトルに対応するオンダイメモリ制御信号を生成することを含み得る。決定されたクロックサイクル数は、m×2^eとして計算することができ、mは仮数であり、eは第1のシーケンサベクトルの指数である。いくつかの実施形態では、方法は、第1のシーケンサベクトルの実行の完了に応答して、一連のシーケンサベクトルの次のシーケンサベクトルを処理することをさらに含む。
【0028】
オンダイメモリ制御信号は、メモリ動作の少なくとも一部分の実装を制御回路の1つまたは複数の機能モジュールに行わせるように構成することができる。オンダイメモリ制御信号は、NVメモリアレイの選択されたワード線上に指定電位を生成するように構成されたチャージポンプ回路、NVメモリアレイの選択されたビット線上に指定電位を生成するように構成されたドライバ回路、NVメモリアレイの選択されたNVメモリセルにプログラム電圧パルスを印加するように構成されたパルス生成回路、NVメモリアレイの選択されたビット線を検知するように構成された検知回路(例えば、1つまたは複数の検知増幅器)および/または同様のもののうちの1つまたは複数の動作を制御するように構成することができる。
【0029】
開示される方法の実施形態は、メモリ動作とそれぞれのデータ単位アドレスとの間の関連性に基づいて一連のシーケンサベクトルの第1のシーケンサベクトルを含むデータ単位に対するアドレスを決定することと、決定されたデータ単位アドレスから第1のシーケンサベクトルを含むデータ単位を転送することと、決定されたデータ単位アドレスに続く次のデータ単位アドレスから一連のシーケンサベクトルの次のシーケンサベクトルを含むデータ単位を読み取ることとをさらに含み得る。方法は、初期化動作の間に不揮発性記憶装置場所から揮発性RAMにシーケンサベクトルを含む構成データをロードすることをさらに含み得る。いくつかの実施形態では、方法は、修正されたシーケンサベクトルを受信することと、揮発性メモリおよび不揮発性記憶装置場所のうちの1つまたは複数に修正されたシーケンサベクトルを書き込むこととをさらに含み得る。修正されたシーケンサベクトルを書き込むことは、構成データにおいて第1のシーケンサベクトルを修正されたシーケンサベクトルと交換することと、修正されたシーケンサベクトルを構成データに追加することとのうちの1つまたは複数を含み得る。
【0030】
本明細書で開示されるものは、メモリダイの設計および/または製作後にオンダイメモリ制御信号シーケンスの構成、タイミングおよび/または持続時間を適応させるための手段の実施形態であって、それぞれのアドレスで複数のシーケンサタイミングベクトルを揮発性ランダムアクセスメモリ(RAM)に格納するための手段であって、各シーケンサタイミングベクトルが、それぞれのタイミングデータおよび制御信号データを有する、手段と、不揮発性メモリ上でメモリコマンドを実行するための手段とを含む、手段である。メモリコマンドを実行することは、メモリコマンドを揮発性RAMのアドレスと関連付けることと、メモリコマンドと関連付けられたアドレスからシーケンサタイミングベクトルをフェッチすることと、シーケンサタイミングベクトルを実装することとを含み得る。シーケンサタイミングベクトルを実装することは、シーケンサタイミングベクトルのタイミングデータに含まれる仮数および指数を使用することによってシーケンサタイミングベクトルに対するタイミングパラメータを決定することと、決定されたタイミングパラメータに従ってシーケンサタイミングベクトルの制御信号データに対応する制御タイミング信号をコマンド実行回路に提供することであって、制御タイミング信号が、不揮発性メモリの1つまたは複数の不揮発性メモリセル上でのメモリコマンドの少なくとも一部分の実行をコマンド実行回路に行わせるように構成される、提供することとを含み得る。開示されるものは、揮発性RAMの次のアドレスから次のシーケンサタイミングベクトルをフェッチするための手段と、次のシーケンサタイミングベクトルのタイミングデータおよび次のシーケンサタイミングベクトルの制御信号データのうちの1つまたは複数に基づいて不揮発性メモリ上でのメモリコマンドの実行が完了しているかどうかを判断するための手段と、不揮発性メモリ上でのメモリコマンドの実行が完了していないと判断することに応答して次のシーケンサタイミングベクトルを実装するための手段とをさらに含み得る。
【0031】
図1Aは、NVメモリ104の設計および/または製作後にメモリ動作パルスを適応させるように構成されたメモリシステム101の一実施形態を描写する概略ブロック図である。メモリシステム101は、とりわけ、システムコントローラ102およびNVメモリ104を含み得る。システムコントローラ102は、相互接続107を通じてNVメモリ104に動作可能に結合することができる。相互接続107は、システムコントローラ102をNVメモリ104に結合するための適切ないかなる手段も含み得、これらに限定されないが、バス、並列バス、直列バスおよび/または同様のものを含み得る。システムコントローラ102は、相互接続105を使用することによって、メモリシステム101を1つまたは複数のコンピューティングデバイスに通信可能に結合するようにさらに構成することができる。相互接続107は、メモリシステム101の内部相互接続回路を含み得、相互接続105は、メモリシステム101の外部インタフェースを含み得る。
【0032】
NVメモリ104は、NVメモリ構造110を含み得る。NVメモリ構造110は、NVメモリコア111および対応する制御回路120を含むことおよび/または具体化することができる。本明細書で使用される場合は、図1AのNVメモリ構造110などの「メモリ構造」は、NVメモリコア111のNVメモリ素子および/または制御回路120を具体化するならびに/あるいはNVメモリコア111のNVメモリ素子および/または制御回路120の実装に使用される構造要素および/またはコンポーネントを指す。NVメモリ構造110は、制御回路、信号ルーティング回路、ドライバ回路、メモリ回路および/または他のコンポーネントなどの回路コンポーネントが形成される半導体構造を含み得る。NVメモリ構造110は、これらに限定されないが、基板、半導体、半導体基板、半導体ウエハ、半導体層、集積回路、ダイ、平面、フラッシュメモリダイ、NANDフラッシュダイ、NORフラッシュダイ、パッケージ、チップおよび/または同様のものを含み得る。
【0033】
図1Aに示されるように、NVメモリコア111および制御回路120は、同じNVメモリ構造110(例えば、同じ基板、半導体、層、ダイ、平面、パッケージ、チップおよび/または同様のもの)上に実装することおよび/または同じNVメモリ構造110内で具体化することができる。従って、制御回路120は、NVメモリ104の「オンダイ」制御回路(例えば、「オンダイ」制御回路120、「構造上」制御回路120、ローカル制御回路120および/または同様のものと呼ぶことができる)を含み得る。NVメモリコア111は、NVメモリ構造110のメモリ領域内で具体化することおよび/または配置することができ、制御回路120は、NVメモリ構造110の周辺領域内で具体化することおよび/または配置することができる。図1Aは、単一のNVメモリ構造110を有する単一のNVメモリ104を含むメモリシステム101を描写しているが、本開示は、この点において制限されず、各々がそれぞれのNVメモリコア111および/または制御回路120を含むいかなる数のNVメモリ104および/またはNVメモリ構造110(例えば、4つ、8つまたはそれ以上のNVメモリ構造110)も含む実施形態を包含する。
【0034】
NVメモリ構造110は、適切ないかなる配置および/または構成の適切ないかなるタイプのNVメモリ素子および/またはセルも含む適切ないかなるタイプのNVメモリコア111も含み得る。NVメモリコア111は、非一時的なメモリ、ソリッドステートメモリ、フラッシュメモリ、NANDタイプのフラッシュメモリ、NORタイプのフラッシュメモリ、プログラマブルメタライゼーションセル(PMC)メモリ、シリコン−酸化膜−窒化膜−酸化膜−シリコン(SONOS)メモリ、抵抗RAM(RRAM(登録商標))メモリ、フローティング接合ゲートRAM(FJG RAM)、強誘電体メモリ(FeRAM)、磁気抵抗メモリ(MRAM)、相変化メモリ(PRAM)、電気的消去型プログラム可能読み出し専用メモリ(EEPROM)および/または同様のものを含み得る。
【0035】
NVメモリコア111は、複数のNVメモリ素子112を含み得、複数のNVメモリ素子112は、データ格納が可能であり得る。NVメモリ素子112は、1つまたは複数のNVメモリセルを含み得、1つまたは複数のNVメモリセルは、それぞれのページ、区分、ブロック、メタブロック、消去ブロック、平面、バンクおよび/または同様のものに配置することができる。いくつかの実施形態では、NVメモリコア111は、メモリアレイ、二次元メモリアレイ、三次元メモリアレイおよび/または同様のもののうちの1つまたは複数を含む。本明細書でさらに詳細に開示されるように、いくつかの実施形態では、NVメモリコア111は、NANDメモリアレイを含む。
【0036】
制御回路120は、シーケンサ122および1つまたは複数の機能モジュール130を含み得る。シーケンサ122は、NVメモリ104内でそれぞれのメモリ動作(および/またはその一部分)を実装するように制御回路120の機能モジュール130を構成するように適応させることができるメモリ制御(MC)信号を生成するように構成することができる。従って、シーケンサ122によって生成されたMC信号は、これらに限定されないが、制御信号、制御パルス、メモリ制御パルス、タイミング信号、メモリタイミング信号、タイミングパルス、トリガ信号、トリガパルス、コマンド信号、コマンドパルス、動作信号、動作パルス、コマンド、タイミング、制御(MC)信号および/または同様のものを含み得る。シーケンサ122によって生成されたMC信号は、シリコンビア(TSV)、ワイヤ、トレース、バス、相互接続、スイッチおよびルータおよび/または同様のものを通じて、それぞれの導体、線、チャネル、ビアを介して伝達することができる。制御回路120は、シーケンサ122によって生成されたMC信号に応答してNVメモリ104に関する動作を実装するように構成することができる。シーケンサ122によって生成されたMC信号に応答して制御回路120によって実装されるメモリ動作は、これらに限定されないが、プログラム動作、格納動作、書込動作、読出動作、書込前の読出動作、消去動作、リセット動作、検証動作、グルーミング動作、ガベージコレクション動作および/または同様のものを含み得る。
【0037】
図1Aの実施形態では、シーケンサ122によって生成および/または出力されるMC信号のセットは、MC信号ベクトル123と呼ぶことができる。本明細書で使用される場合は、MC信号ベクトル123は、1つまたは複数のMC信号の指定状態を指す。MC信号の状態は、MC信号によって表される適切ないかなる特性および/または情報も指すことができ、これらに限定されないが、アサーション状態(例えば、「アサート」または「ディアサート」)、2進値、複数状態値(例えば、決定された範囲内の値)、アナログ値、電位(および/または電位の範囲)、電気的特性(例えば、インピーダンス、抵抗、静電容量、インダクタンス)および/または同様のものを含み得る。
【0038】
シーケンサ122は、決定されたタイミングに従ってMC信号ベクトル123を生成するように構成することができる。本明細書で使用される場合は、MC信号ベクトル123などの信号ベクトルのタイミングは、MC信号ベクトル123の1つまたは複数のMC信号が決定された状態で維持される時間を指す。MC信号ベクトル123の持続時間は、MC信号ベクトル123を含む1つまたは複数のMC信号の各々が決定された状態にある時刻から、MC信号ベクトル123のMC信号のいずれか1つがその決定された状態から変化する時刻(例えば、アサートからディアサートへの遷移および/または同様のもの)にまで及ぶ。MC信号ベクトル123の持続時間は、絶対時間、時間オフセット、クロックサイクル数(または、他のタイミング基準)および/または同様のものに対応し得る。
【0039】
制御回路120の機能モジュール130は、NVメモリコア111に通信可能に結合することができ、シーケンサ122によって生成されたMC信号(例えば、MC信号ベクトル123)に応答して、NVメモリコア111内で選択されたNVメモリ素子112の動作を実装するように構成することができる。機能モジュール130は、選択されたNVメモリ素子112をアドレス指定するように、選択されたNVメモリ素子112を電源に結合するように、選択されたNVメモリ素子112を偏倚するように、選択されたNVメモリ素子112に結合された信号を駆動する(例えば、選択されたNVメモリ素子112をプログラムする)ように、選択されたNVメモリ素子112を検知する(例えば、選択されたNVメモリ素子112内に格納されたデータを読み取る)ようになど、構成することができる。機能モジュール130のうちの1つまたは複数は、ルーティング回路131を含むことおよび/またはルーティング回路131に通信可能に結合することができ、ルーティング回路131は、NVメモリコア111内で選択されたNVメモリ素子112をアドレス指定するように構成することができる。ルーティング回路131は、機能モジュール130のうちの1つまたは複数によって駆動される信号に選択されたNVメモリ素子112を結合する(例えば、制御回路120によって生成された電位を偏倚するために、選択されたNVメモリ素子112のワード線を結合する)ように、選択されたNVメモリ素子112を検知する(例えば、機能モジュール130のうちの1つまたは複数に選択されたNVメモリ素子112のビット線を結合する)ようにおよび/または同様のものを行うように、さらに構成することができる。
【0040】
非限定的な例示として、シーケンサ122は、とりわけ、決定されたタイミングに従ってMC信号ベクトル123のシーケンスを生成することによって、アドレス指定されたNVメモリ素子112からデータを読み取る動作を実行するように制御回路120を構成することができる。読出動作を実装することは、アドレス指定されたNVメモリ素子112のワード線を決定された電圧レベルまで駆動することならびに/あるいはアドレス指定されたNVメモリ素子112のビット線をソースおよび/またはドレイン端子に結合することを制御回路120の1つまたは複数の機能モジュール130に行わせるように構成された第1のMC信号ベクトル123を生成することを含み得る。シーケンサ122は、決定された期間(例えば、決定されたクロックサイクル数)の間、第1のMC信号ベクトル123を維持することができ、それにより、決定された期間の間、ワード線を駆動する(およびビット線を起動する)ように機能モジュール130を構成することができる。決定された期間が経過した後、シーケンサ122は、第2の異なるMC信号ベクトル123を生成することができ、第2の異なるMC信号ベクトル123を生成することは、そのMC信号のうちの1つまたは複数の状態を変更することを含み得る。第2のMC信号ベクトル123は、アドレス指定されたNVメモリ素子112のビット線上の電流および/または電圧の検知ならびに/あるいはデータバッファにおけるビット線上で検知されたデータのラッチを機能モジュール130に行わせるように構成することができる。
【0041】
上記で開示されるように、従来のオンダイ制御および/またはシーケンサ回路は、設計および/または製作時に固定され得る決定された構成に従って、コマンド、タイミングおよび/または制御信号を生成することができる。そのような従来の制御および/またはシーケンサ回路の構成は、特定のメモリ動作の実装に使用される一連のMC信号を決定することができ、MC信号のそれぞれのタイミングを決定することができる。設計および/または製作後に制御および/またはシーケンサ回路の構成(および対応するMC信号タイミング)を修正することは実現可能ではない場合がある。例えば、従来のオンダイコンポーネントによって生成されたMC信号の構成および/またはタイミングは、シーケンサ回路自体において具体化することができる(例えば、状態マシン回路の配線接続状態遷移として)。それに従って、従来のオンダイ制御および/またはシーケンサ回路によって生成されたMC信号の構成および/またはタイミングの修正には、実質的な再設計および/または再製作が必要とされ得る。従来の制御および/またはシーケンサ回路はメモリダイ上(例えば、メモリダイの周辺領域内)で具体化することができるため、そのような再設計および/または再製作は、メモリダイ(および/または他のメモリ構造)の再設計および/または再製作を伴い得る。
【0042】
図1Aの実施形態では、シーケンサ122によって生成されたMC信号ベクトル123の構成および/またはタイミングは、NVメモリ104の設計および/または製作後に修正、訂正および/または別の方法で操作することができるシーケンサ構成データ140によって、少なくとも部分的に定義することができる。シーケンサ構成データ140は、NVメモリ104の動作の間ならびに/あるいは使用条件、摩耗レベル、テスト条件、誤り率、ユーザの好み、コマンド、設定、パラメータおよび/または同様のものに応答して、修正、訂正および/または別の方法で操作することができる。従って、シーケンサ122は、設計および/または製作後にそれにより生成されたMC信号ベクトル123の修正が可能であり得る(メモリシステム101内に格納されたデータに基づいて)。それに従って、シーケンサ122は、プログラム可能シーケンサ122、プログラム可能オンダイシーケンサ122、プログラム可能オンダイコントローラ122、適応型シーケンサ122、適応型オンダイシーケンサ122、適応型オンダイコントローラ122および/または同様のものを含むことならびに/あるいはそのように呼ぶことができる。
【0043】
いくつかの実施形態では、シーケンサ構成データ140は、構成マネージャ127によって管理される。構成マネージャ127は、メモリユニット129においてシーケンサ構成データ140を維持することができる。メモリユニット129は、これらに限定されないが、揮発性メモリ、ランダムアクセスメモリ、スタティックランダムアクセスメモリ、ダイナミックランダムアクセスメモリ、永続メモリ、不揮発性メモリ、非一時的なメモリおよび/または同様のものを含む、適切ないかなるメモリおよび/または格納手段も含み得る。図1Aの実施形態では、メモリユニット129は、非一時的な記憶装置106を含み得、非一時的な記憶装置106は、適切ないかなる永続、非一時的および/または不揮発性記憶装置場所も含み得、これらに限定されないが、EEPROM、ROM、メモリシステム101用のファームウェア記憶装置、NVメモリ104用のファームウェア記憶装置、NVメモリ構造110用のファームウェア記憶装置、制御回路120(および/またはNVメモリコア111)用のファームウェア記憶装置および/または同様のものを含む。構成マネージャ127は、メモリシステム101、NVメモリ104、NVメモリ構造110、制御回路120および/または同様のもの用のファームウェアを管理するように構成することができる。構成マネージャ127は、相互接続105および/または107を介して受信された1つまたは複数のコマンドに応答して、非一時的な記憶装置106にシーケンサ構成データ140をロードするように構成することができる。その代替としてまたはそれに加えて、シーケンサ構成データ140は、非一時的な記憶装置106に事前に投入することができる(例えば、メモリシステム101の設計、製作、初期のテストおよび/または検証の間に事前に投入することができる)。
【0044】
メモリユニット129は、揮発性メモリ124をさらに含み得る。構成マネージャ127は、初期化の間(例えば、メモリシステム101の初期のブートストラップの間)にシーケンサ構成データ140をメモリシステム101の揮発性メモリ124に転送するように構成することができる。あるいは、いくつかの実施形態では、シーケンサ122は、非一時的な記憶装置106から直接シーケンサ構成データ140にアクセスするように構成することができる(例えば、図1Dに示されるように)。揮発性メモリ124は、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)および/または同様のものなどのランダムアクセスメモリ(RAM)を含み得る。図1Aに示されるように、揮発性メモリ124および/または不揮発性記憶装置106は、NVメモリ104および/またはNVメモリ構造110内で具体化することができる。揮発性メモリ124および/または非一時的な記憶装置106のうちの1つまたは複数は、NVメモリ構造110の周辺領域内で具体化することおよび/または制御回路120の一部として実装することができる。その代替としてまたはそれに加えて、非一時的な記憶装置106は、NVメモリコア111の1つもしくは複数のNVメモリ素子112を含むことおよび/またはNVメモリコア111の1つもしくは複数のNVメモリ素子112に対応することができる。しかし、本開示は、この点において制限されない。いくつかの実施形態では、揮発性メモリ124は、NVメモリ104および/またはNVメモリ構造110とは別に具体化することができる。揮発性メモリ124は、別個のチップ、パッケージ、ダイおよび/または同様のものを含み得る。
【0045】
シーケンサ122は、とりわけ、メモリバス121を通じて、揮発性メモリ124に通信可能に結合することができる。動作の間、シーケンサ122は、揮発性メモリ124内に格納されたシーケンサ構成データ140にアクセスし、アクセスしたシーケンサ構成データ140を使用してそれにより生成されたMC信号ベクトル123の構成および/またはタイミングを決定するように構成することができる。揮発性メモリ124および/または非一時的な記憶装置106内に格納されたシーケンサ構成データ140は、NVメモリ104の設計および/または製作後に修正、交換および/または別の方法で操作することができる。シーケンサ構成データ140の変更は、特定のメモリ動作を実装するためにシーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間を修正、交換および/または別の方法で操作するために使用することができる。
【0046】
いくつかの実施形態では、シーケンサ構成データ140は、複数のエントリ142を含み、各エントリ142は、シーケンサ122のそれぞれの動作状態を定義する。各エントリ142は、指定持続時間の間、1つまたは複数のMC信号を出力するようにシーケンサ122を構成することができる。エントリ142は、シーケンサ122によって生成されるそれぞれのMC信号ベクトル123を定義することができる。上記で開示されるように、MC信号ベクトル123などの「信号ベクトル」は、1つまたは複数の信号のセットを指し、各々は、それぞれの状態を有する。上記で開示されるように、シーケンサ122によって生成されたMC信号などの信号の状態は、信号によって表される適切ないかなる特性および/または情報も指し得、これらに限定されないが、アサーション状態(例えば、「アサート」または「ディアサート」)、2進値、複数状態値(例えば、決定された範囲内の値)、アナログ値、電位(および/または電位の範囲)、電気的特性(例えば、インピーダンス、抵抗、静電容量、インダクタンス)および/または同様のものを含み得る。
【0047】
上記で開示されるように、シーケンサ構成データ140のエントリ142は、指定持続時間の間、指定MC信号ベクトル123の出力をシーケンサ122に行わせるように構成することができる。従って、エントリ142は、NVメモリ104内で特定のメモリ動作を実装する間にシーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間を定義することができる。エントリ142は、シーケンサ122のそれぞれの動作状態を含むことおよび/または指定動作状態への遷移をシーケンサ122に行わせるように構成された命令を含むことができる。本明細書で使用される場合は、シーケンサ122の「動作状態」は、シーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間を指す。シーケンサ122は、シーケンサ構成データ140のそれぞれのエントリ142を実行することができ、シーケンサ構成データ140のそれぞれのエントリ142を実行することは、エントリ142によって定義された動作状態にシーケンサ122を遷移させることを含み得る。複数のエントリ142を順次実行することにより、シーケンサ122は、複数の異なる動作状態を通じて遷移するように構成することができ、各動作状態は、シーケンサ122がそれぞれのエントリ142によって定義された構成、タイミングおよび/または持続時間を有するそれぞれのMC信号ベクトル123を出力することを含む。従って、複数のエントリ142を順次実行することにより、シーケンサ122は、MC信号パターンまたはMC信号シーケンスを生成するように構成することができ、それにより、それぞれのメモリ動作および/またはコマンドに関するメモリ動作のシーケンスを実装するように制御回路の機能モジュール130を構成するように適応させることができる。それに従って、シーケンサ構成データ140のエントリ142は、「タイミングエントリ」、「タイミングベクトル」、「シーケンサエントリ」、「シーケンサベクトル」、「MCエントリ」、「MCベクトル」および/または同様のものを含むことおよび/またはそのように呼ぶことができる。エントリ142の順序付けられたシーケンスは、「エントリシーケンス」、「タイミングシーケンス」、「MCシーケンス」および/または同様のものと呼ぶことができる。エントリ142は、データワード(例えば、Nビット量)、タプル、データ値の集合体、1つまたは複数のデータフィールドおよび/または属性、テーブルエントリ、リストエントリ、命令、コマンドおよび/または同様のものなど、適切な任意のデータおよび/またはデータ構造を使用して具体化することおよび/または表すことができる。
【0048】
図1Aは、シーケンサ構成データ140のエントリ142の一実施形態を描写する。エントリ142は、信号データ143およびタイミングデータ145を含み得る。信号データ143は、シーケンサ122によって生成、アサート、出力および/または別の方法で提供されるMC信号ベクトル123を定義することができる。タイミングデータ145は、定義されたMC信号ベクトル123のタイミング(例えば、シーケンサ122が定義されたMC信号ベクトル123を生成、アサート、出力および/または提供する時間量)を指定することができる。信号データ143は、本明細書で開示されるように、シーケンサ122によって生成されるMC信号ベクトル123を含む1つまたは複数のMC信号の状態を定義することができる。タイミングデータ145は、適切な任意のフォーマットおよび/またはタイミング基準を使用してタイミング情報を指定することができる。いくつかの実施形態では、タイミングデータ145は、絶対時間値および/または時間オフセットを含み得る。タイミングデータ145は、シーケンサ122が定義されたMC信号ベクトル123を出力する特定の時間量(秒数、ミリ秒数、マイクロ秒数、ナノ秒数および/または同様のもの)を指定することができる。タイミングデータ145の単位および/またはスケールは、NVメモリ104に適応させることができる(例えば、NVメモリ104内で使用されるMC信号と関連付けられた時間単位および/または時間スケールに対応する)。あるいは、タイミングデータ145は、特定のトリガ条件からの時間オフセット(例えば、指定信号のアサーション後の指定ミリ秒数)を指定することができる。その代替としてまたはそれに加えて、タイミングデータ145は、クロック信号などの時間基準に対応し得る。本明細書で使用される場合は、「クロック信号」は、特定のサイクル時間および/または期間を有する振動信号を指し、シーケンサ122および/または他の制御回路120によって生成することならびに/あるいはシーケンサ122および/または他の制御回路120に提供することができる。タイミングデータ145は、シーケンサ122が定義されたMC信号ベクトル123を生成、アサート、出力および/または別の方法で提供するクロックサイクル数を指定することができる。それに従って、タイミングデータ145は、クロックサイクルカウント、数、量および/または同様のものを含み得る。
【0049】
コスト、電力および/または他の考慮事項のため、揮発性メモリ124は、シーケンサ構成データ140の格納に利用可能な容量が限られている場合がある。それに従って、シーケンサ構成データ140のエントリ142は、最小量の格納容量(例えば、最小のビット数および/またはビット値によって表される)を占めるように構成することができる。エントリ142のタイミングデータ145を大きな範囲に広げることができることは有利であり得る。いくつかの実施形態では、エントリ142のタイミングデータ145は、小さなビット数を使用して大きな範囲の時間持続時間を表すように構成される。一実施形態では、タイミングデータ145は、固定されたビット数(例えば、12ビット)を使用して表すことができる。符号なしの整数としてタイミングデータ145を表すために12ビットが使用される場合は、タイミングデータ145は、0〜2−1の値の範囲に広げることができ、bは、タイミングデータ145を含むビット数である(例えば、12ビットを含むタイミングデータ145の場合は、0〜4095の範囲)。従来の表現に対応する値の範囲は、不十分である場合がある(例えば、タイミング情報は、より大きな範囲に広げる必要があり得る)。より大きな範囲に広げるには、エントリ142を分ける(例えば、同じMC信号ベクトル123を定義する2つのエントリ142に分ける)必要があり得る。いくつかの実施形態では、タイミングデータ145を含むデータビットは、とりわけ、タイミングデータ145内のタイミング情報を符号化および/または表すための代替の技法(従来の符号なしの整数および/または同様の表現を除く)を使用することによって、より大きな範囲のタイミング値に広げるために活用することができる。
【0050】
図1Aに示されるように、いくつかの実施形態では、エントリ142のタイミングデータ145は、指数147および仮数149を含み得る。タイミングデータ145によって表されるクロックサイクル数は、指数147と仮数149の積であり得る(例えば、m×B、mは仮数149であり、eは指数147であり、Bは基数である)。上記で開示されるように、タイミングデータ145は、固定されたビット数(例えば、12ビット)を使用して表すことができる。タイマー指数147は、4ビット量(0〜16の範囲)を含み得、仮数149は、8ビット量(0〜255の範囲)を含み得る。2の基数Bを利用すると、タイミングデータ145によって表すことができるタイミング値は、0から16,711,680の最大値までの範囲に広げることができる。最大値は、指数147および仮数149の最大値(255×216)に対応する。タイミングデータ145に割り当てられた12ビット量で表すことができる値の範囲は、0〜4095のはるかに限られた範囲の値にしか広げることができない従来の符号なしの整数表現などの従来の表現によって広がる範囲より、かなり大きな範囲であり得る。
【0051】
上記で開示されるように、シーケンサ122は、とりわけ、NVメモリ104内でのそれぞれのメモリ動作の実行に必要なMC信号ベクトル123を生成するために、揮発性メモリ124内に格納されたシーケンサ構成データ140にアクセスすることができる。図1Aに示されるように、シーケンサ122は、決定されたメモリ動作(図1Aではメモリ動作108として表される)を実行することができる。メモリ動作108は、相互接続105および/または107を介して受信されたコマンドに対応し得る。その代替としてまたはそれに加えて、メモリ動作108は、内部管理動作(例えば、データリフレッシュ動作)に対応し得る。メモリ動作108は、1つまたは複数のアドレスに関連し得、1つまたは複数のアドレスは、NVメモリコア111内の1つまたは複数のNVメモリ素子112に対応し得る。
【0052】
シーケンサ122は、とりわけ、揮発性メモリ124内に格納されたシーケンサ構成データ140にアクセスし、アクセスしたシーケンサ構成データ140を使用してMC信号ベクトル123のタイミングを合わせたシーケンスを生成することによって、メモリ動作108を実行するように構成することができる。シーケンサ122は、揮発性メモリ124からメモリ動作108に対応するエントリ142にアクセスし、アクセスしたエントリ142を実行するように構成することができる。アクセスしたエントリ142を実行することは、アクセスしたエントリ142のタイミングデータ145によって指定された時間持続時間の間、アクセスしたエントリ142の信号データ143によって定義されたMC信号ベクトル123を生成することを含み得る。上記で開示されるように、アクセスしたエントリ142を実行している間にシーケンサ122によって生成されたMC信号ベクトル123は、メモリ動作108(および/またはその一部分)を実装するように制御回路120の機能モジュール130を構成することができる。
【0053】
いくつかの実施形態では、シーケンサ122は、アクセスしたエントリ142の実行の完了に応答して次のエントリ142にアクセスするようにおよび/または次のエントリ142を実行するようにさらに構成することができる(例えば、一連のエントリ142にアクセスするおよび/または一連のエントリ142を実行する)。図1Aに示されるように、いくつかの実施形態では、シーケンサ構成データ140のエントリ142は、決定された順番(例えば、実行される順番)に従って揮発性メモリ124内に配置することができる。シーケンサ122は、決定された順番で一連のエントリ142を実行する(例えば、一連のシーケンサ命令またはコマンドを実行する)ように構成することができる。そのような実施形態では、メモリ動作108を実行することは、シーケンサ122が一連のエントリ(例えば、エントリ142A〜N)にアクセスすることおよび/または一連のエントリを実行することを含み得る。シーケンサ122は、とりわけ、動作タイプ、アドレスおよび/または同様のものなどのメモリ動作108の特性に基づいて、一連のエントリの第1のエントリ142Aを識別するように構成することができる。いくつかの実施形態では、シーケンサ122は、アドレスポインタ125を維持し、アドレスポインタ125は、揮発性メモリ124の1つまたは複数のアドレスに対応し得る。メモリ動作108に応答して、シーケンサ122は、アドレスポインタ125を決定されたアドレス(例えば、メモリ動作108と関連付けられたアドレス)に設定し、アドレスポインタ125を使用することによって揮発性メモリ124から第1のエントリ142Aを実行することができる。
【0054】
第1のエントリ142Aの実行を完了した後、シーケンサ122は、メモリ動作108と関連付けられた次のエントリ142(例えば、エントリ142B)にアクセスするようにおよび/または次のエントリ142を実行するようにさらに構成することができる。次のエントリ142Bにアクセスすることは、揮発性メモリ124の次のアドレスで揮発性メモリ124を読み取ることを含み得る。シーケンサ122は、とりわけ、第1のエントリ142Aのアドレスをインクリメントすることおよび/または決定された順番に従ってアドレスポインタ125をインクリメントすることによって、次のアドレスを決定することができる。いくつかの実施形態では、シーケンサ122は、アドレスおよび/またはアドレスポインタ125を1つずつインクリメントするように構成することができる(例えば、第1のエントリ142Aが揮発性メモリ124内のアドレスαに格納されている場合は、シーケンサは、アドレスα+1で次のエントリ142Bにアクセスすることができる)。次のエントリ142Bの完了に続いて、シーケンサ122は、本明細書で開示されるように、後続のエントリ142C〜Nへの順次アクセスおよび/または実行を続行することができる。
【0055】
一連のエントリ142A〜Nは、MC信号ベクトル123のシーケンスを生成、アサート、出力および/または別の方法で提供するようにシーケンサ122を構成することができ、各MC信号ベクトル123は、指定クロックサイクル数の間に順次生成される。それに従って、一連のエントリ142A〜Nを実行することにより、NVメモリ104内でメモリ動作108を実装するように制御回路120を構成するように適応させたMCパターンまたはMCシーケンス126を生成するようにシーケンサ122を構成することができる(制御回路120の1つまたは複数の機能モジュール130を使用することによって)。
【0056】
非限定的な例示として、図1Bは、以下のエントリ142A〜Nを含む例示的なシーケンサ構成データ140の実行の間にシーケンサ122によって生成されたMCシーケンス126を描写する。
【表1】
【0057】
エントリ142A〜Nは、読出動作、書込動作、消去動作および/または同様のものなどの特定タイプのメモリコマンドおよび/または動作(例えば、図1Aに示されるメモリ動作108)の実行のために適応させたエントリシーケンスを含み得る。シーケンサ122は、とりわけ、第1のエントリ142Aから最後のエントリ142Nまでの一連のエントリ142A〜Nに順次アクセスすることおよび/または一連のエントリ142A〜Nを順次実行することによって、メモリ動作を実行するように構成することができる。例示的なタイミング図128Aに示されるように、第1のエントリ142Aを実行することは、第1のエントリ142Aのタイミングデータ145によって指定された持続時間(例えば、6クロックサイクル)の間、第1のエントリ142Aの信号データ143によって定義された’b0001のビット値(各ビット値は、それぞれのMC信号を介して伝達される)を含む第1のMC信号ベクトル123をアサートすることを含み得る。第1のエントリ142Aの実行に続いて、シーケンサ122は、本明細書で開示されるように、次のエントリ142Bにアクセスすることおよび/または次のエントリ142Bを実行することができる。エントリ142Bを実行することは、2クロックサイクル(エントリ142Bの1つのタイミングデータ145あたり)の間にエントリ142Bの信号データ143によって定義された第2のMC信号ベクトル123を生成することを含み得る。シーケンサ122は、最後のエントリ142Nが完了するまで、エントリ142A〜Nへのアクセスおよび/またはエントリ142A〜Nの実行を続けることができる(例えば、その1つのタイミングデータ145あたり、1クロックサイクルの間にエントリ142N(ビット値’b1100)の信号データ143によって定義されたMC信号ベクトル123を生成することによって)。いくつかの実施形態では、シーケンサ122は、最後のエントリ142Nの実行の完了に応答してデフォルトMC信号ベクトル123を出力するようにさらに構成することができる。デフォルトMC信号ベクトル123は、制御回路120の1つまたは複数の機能モジュール130をアイドル状態にするように構成することができるNOOPおよび/またはアイドルMC信号ベクトル123を含み得る。シーケンサ122は、次のメモリコマンドが実行されるまで、デフォルトMC信号ベクトル123を維持することができる。
【0058】
エントリ142A〜Nの実行の間にシーケンサ122によって生成されたMCシーケンス126は、制御回路120の機能モジュール130に伝達することができ、本明細書で開示されるように、NVメモリ104のメモリ動作108を実装するように機能モジュール130を構成することができる。それぞれのMC信号ベクトル123の構成、タイミングおよび/または持続時間を含むMCシーケンス126の構成は、とりわけ、メモリユニット129(例えば、揮発性メモリ124および/または非一時的な記憶装置106)内のシーケンサ構成データ140を修正することによって、修正、訂正、交換および/または別の方法で操作することができる。それに従って、シーケンサ122は、NVメモリ104の設計および/または製作後に、異なる使用条件、摩耗レベル、誤り率、ユーザの好み、テスト条件および/または同様のものに適応させるように構成することができる。
【0059】
非限定的な一例では、上記で開示されるMCシーケンス126は、特定タイプのメモリコマンドおよび/または動作(例えば、読出動作)の実行のために適応させることができる。第1のエントリ142Aに従ってシーケンサ122によって生成されたMC信号ベクトル123は、とりわけ、指定期間の間(例えば、6クロックサイクル)、アドレス指定されたNVメモリ素子112の1つまたは複数のワード線上の電位を指定電圧レベルまで駆動するように、制御回路120の1つまたは複数の機能モジュール130を構成することができる。次のエントリ142Bは、アドレス指定されたNVメモリ素子112上の電流および/または電位を検知するように制御回路120の1つまたは複数の機能モジュール130を構成することができる。それに従って、第1のエントリ142Aおよび/または第2のエントリ142Bによって指定された時間持続時間は、読出動作に対するタイミング制約および/またはタイミングマージンを決定することができる。例えば、第1のエントリ142の持続時間は、指定電位までのワード線の帯電に割り振られた時間量および/または第2のエントリ142Bの後続の検知動作が実行される前にビット線を整定させるために認められている時間を決定することができる。第2のエントリ142Bによって指定された時間持続時間は、検知動作のために認められている時間量(例えば、整定時間、検知時間)を決定することができる。第2のエントリ142B(および/またはエントリシーケンスの別の後続のエントリ142)は、ビット線上で検知されたデータがラッチされる時刻を決定することができる。
【0060】
いくつかの状況では、エントリ142A〜Nによって定義された1つまたは複数のタイミングは、不十分であると判断される場合があり、それにより、読出誤り率(および/または読出失敗)が増加する。あるいは、ある特定のタイミングは、長過ぎると判断され、それにより、読出阻害エラー、性能の低下および/または電力消費量の増加が生じる。シーケンサ構成データ140は、それぞれのエントリ142A〜Nによって定義されたタイミングを調整するために修正することができ、それにより、シーケンサ122は、後続のコマンド/動作の実行の間に、調整されたタイミングに対応するMC信号ベクトル123を生成するように構成することができる。例えば、エントリ142Aは、その指定された時間持続時間を変更するために修正することができ、それにより、対応する検知動作が実行される(エントリ142Bによって定義されるように)前に、ワード線が帯電、事前帯電または偏倚される時間の変化が生じる。いくつかの実施形態では、シーケンサ構成データ140の修正は、制御回路120および/またはシステムコントローラ102によって開始することができる。本明細書でさらに詳細に開示されるように、そのような修正は、摩耗レベル、誤り率および/または同様のものなどの決定された条件に応答して開始することができる。その代替としてまたはそれに加えて、シーケンサ構成データ140の修正は、これらに限定されないが、内蔵システムテスト(BIST)モジュール、エラー検出および緩和コンポーネント、ホストコンピューティングデバイス、オペレーティングシステム、ファイルシステム、ドライバ、診断プロセス、ユーザプロセス、ユーザコマンド(テストおよび/または評価の間)および/または同様のものを含む、他のコンポーネントおよび/またはプロセスによって開始することができる。例えば、ユーザは、NVメモリ104の代替の構成をテストするため、特定タイプのメモリコマンドまたは動作に対してシーケンサ122によって実装される特定のMC信号ベクトル123および/または特定のMCシーケンス126の代替の構成、タイミングおよび/または持続時間をテストするために、シーケンサ構成データ140を修正することができる。
【0061】
上記の非限定的な例では、シーケンサ構成データ140を修正することは、エントリ142Aによって定義されたMC信号ベクトル123の指定持続時間を選択的に増加または減少するようにエントリ142Aのタイミングデータ145を修正することを含み得る。以下の修正されたシーケンサ構成データ140では、エントリ142Aは、シーケンサ122によって出力されるMC信号ベクトル123の持続時間を6サイクルから8サイクルに増加するように修正されている。
【表2】
【0062】
シーケンサ構成データ140を修正することは、不揮発性記憶装置106および/または揮発性メモリ124内に格納されるようなシーケンサ構成データ140のエントリ142Aを修正、更新、交換および/または別の方法で操作することを含み得る。後続の読出動作に応答して、シーケンサ122は、修正されたシーケンサ構成データ140にアクセスすることができ、修正されたシーケンサ構成データ140にアクセスすることは、修正されたエントリ142Aを含む一連のエントリ142A〜Nにアクセスすることおよび/または一連のエントリ142A〜Nを実行することを含み得る。タイミング図128Bに示されるように、エントリ142A〜N(修正されたエントリ142Aを含む)を含むMCシーケンス126の実行により、シーケンサ122は、6クロックサイクルというよりむしろ8クロックサイクルの間に第1のMC信号ベクトル123(ビット値’b0001に対応する)を生成することおよび/または後続のエントリ142B〜NのMC信号ベクトル123がシーケンサ122によって出力される時刻を2クロックサイクルシフトすることができる(それにより、対応するメモリコマンドおよび/または動作の待機時間が増加し得る)。
【0063】
上記で開示されるように、従来の制御および/またはシーケンサ回路によって生成されたMC信号の構成および/またはタイミングを修正するには、そのような回路の再設計および/または再製作が必要とされ得る。それに従って、従来のオンダイ制御および/またはシーケンサの実装形態は、NVメモリ104の設計および/または製作後に、異なる使用条件、摩耗レベル、誤り率、ユーザの好み、テスト条件および/または同様のものに適応させることができない場合がある。
【0064】
図1Cは、本明細書で開示されるような、シーケンサ122および/またはシーケンサ構成データ140のさらなる実施形態を描写する。図1Cに示されるように、シーケンサ構成データ140は、1つまたは複数のエントリ142を含み得る。エントリ142は、揮発性メモリ124内に決定された順番で配置することができる。
【0065】
いくつかの実施形態では、シーケンサ構成データ140のエントリ142は、固定サイズのデータ単位として具体化することができる。固定サイズのデータ単位のサイズおよび/または構成は、揮発性メモリ124および/またはバス121の構成に従って適応させることができる(例えば、揮発性メモリ124および/またはバス121のデータワードサイズおよび/または構成に対応するように適応させることができる)。図1Cの実施形態では、揮発性メモリ124は、それぞれの32ビットのデータ単位をアドレス指定するように構成することができ、バス121は、32ビットのデータ単位を伝達するように構成することができる(例えば、32ビットのデータ単位を実質的に並行して伝達するように構成することができる)。それに従って、図1Cの実施形態では、シーケンサ構成データ140のエントリ142は、揮発性メモリ124内にそれぞれのアドレスで格納された32ビットのデータ単位を含むことおよび/または揮発性メモリ124内にそれぞれのアドレスで格納された32ビットのデータ単位として具体化することができる。
【0066】
エントリ142は、信号データ143、タイミングデータ145などのそれぞれの部分(例えば、フィールド、量および/または値)を含み得る。メモリシステム101のシステムコントローラ102および/または制御回路120は、揮発性メモリ124内に、決定されたフォーマットおよび/またはレイアウトで、エントリ142を含む固定サイズのデータ単位を格納するように構成することができる。決定されたフォーマットおよび/またはレイアウトは、固定サイズのデータ単位内の指定ビット場所でエントリ142のそれぞれの部分を格納することを含み得る。図1Cに示されるように、各エントリ142の信号データ145は、第1の指定ビット場所(例えば、ビット[19:0])で格納することができ、各エントリ142のタイミングデータ145は、第2の指定ビット場所(例えば、ビット[31:20])で格納することができる。シーケンサ122および/または揮発性メモリ124は、固定サイズのデータ単位の決定されたフォーマットおよび/またはレイアウトに従ってエントリ142を伝達するようにさらに構成することができる。バス121は、それぞれの領域またはセクションに分割することができ、各々は、エントリ142のそれぞれの部分(例えば、エントリ142のそれぞれのフィールドまたはサブフィールド)を伝達するために指定される。いくつかの実施形態では、バス121の第1のセクションは、信号データ143(例えば、エントリ142の信号フィールド)を伝達するために指定され、バス121の第2のセクションは、タイミングデータ145(例えば、エントリ142のタイマーフィールド)を伝達するために指定される。バス121の第2のセクションは、エントリ142の指数および/または仮数を伝達するために、サブセクションにさらに分割することができる(例えば、バス121の第2のセクションのサブセクションは、エントリ142のそれぞれの指数および/または仮数サブフィールドを伝達するために指定することができる)。一実施形態では、バス121のデータビット[19:0]は、それぞれのエントリ142の信号データ143を伝達するために指定され、バス121のデータビット[31:20]は、それぞれのエントリのタイミングデータ145を伝達するために指定される。バスのデータビット[19:0]は、バス121の信号領域を含み得、データビット[31:20]は、バス121のタイミング領域を含み得る。バス121のタイミング領域は、指数領域および仮数領域にさらに分割することができ、指数領域および仮数領域は、タイミング領域のサブ領域および/またはサブセクションを含み得る。
【0067】
非限定的な例示として、シーケンサ構成データ140の例示的なエントリ142は、次の16進値、すなわち、0x23CADD1を有する32ビット量を含み得る。上記で開示されるエントリ142の決定されたフォーマットおよび/またはレイアウトによれば、例示的なエントリ142の信号データ143は、0xCADD1(または’b1100、’b1010、’b1101、’b1101、’b0001)を含み得、タイミングデータ145は、0x23を含み得る。タイミングデータ145は、指数147および仮数149を含み得る。指数147は、2であり得([31:28]において1データビットあたり)、仮数149は、3であり得る([27:20]において1データビットあたり)。例示的なエントリ142によって指定されたクロックサイクル数は、3×2(12サイクル)として計算することができる。従って、例示的なエントリ142は、12クロックサイクルの持続時間の間にデータビット’b1100、’b1010、’b1101、’b1101、’b0001に対応するMC信号ベクトル123を出力するようにシーケンサ122を構成することができる。
【0068】
バス121を介して効率的な伝達が可能な固定サイズのデータ単位として揮発性メモリ124内のエントリ142を表すことおよびエントリ142のそれぞれの部分を伝達するためにバス121の領域を指定することにより、シーケンサ122が揮発性メモリ124内に格納されたエントリ142にアクセスするため、エントリ142を構文解析するためおよび/またはエントリ142を別の方法で処理するための待機時間を最小化することができる。エントリ142にアクセスするため、エントリ142を構文解析するためおよび/またはエントリ142を別の方法で処理するための待機時間は、対応するメモリ動作の待機時間および/またはタイミングよりかなり短いものであり得、その結果、シーケンサ122によって課される遅延(存在する場合)は、シーケンサ122によって生成されたMC信号ベクトル123に応答して制御回路120によってNVメモリ104内で実装される対応する動作の全体的な待機時間に貢献しない。その上、指数147および仮数149量を使用してタイミングデータ145を表すことにより、シーケンサ構成データ140のエントリ142は、揮発性メモリ124内でのそのようなエントリ142の格納に必要な格納容量の量を最小化しながら、大きな範囲のタイミング値に広げることができる。
【0069】
シーケンサ構成データ140のエントリ142の特定のデータフォーマットが本明細書で説明されているが、本開示は、この点において制限されず、適切な任意のフォーマットおよび/またはレイアウトを有する適切な任意のデータ構造を使用してMCタイミングおよび/または信号ベクトル情報を表すように適応させることができる。例えば、いくつかの実施形態では、シーケンサ構成データ140のエントリ142は、16ビット量、64ビット量、可変サイズのデータ単位および/または同様のものなど、異なるサイズのデータ単位を含み得る。その代替としてまたはそれに加えて、エントリ142は、シーケンサ122による実行のために構成されたコマンドおよび/または命令を含み得る。エントリ142は、シーケンサ122によってサポートされるコマンドおよび/または命令セットに対応し得る。いくつかの実施形態では、エントリ142は、シーケンサ状態データを含み得、シーケンサ状態データは、特定の状態に遷移するようにシーケンサ122を構成するために使用することができる(例えば、次の状態に遷移する前の指定期間の間にMC信号の決定されたセットを出力する)。
【0070】
シーケンサ122によって実装されるメモリ動作は、これらに限定されないが、動作タイプ(例えば「オペコード」)、アドレス、フラグ、パラメータおよび/または同様のものを含み得る1つまたは複数の特性を含み得る。動作タイプ118は、実行されているメモリ動作のタイプ(例えば、読出、プログラム、消去など)を示すことができる。アドレスは、メモリ動作が実行されるNVメモリ素子112を示すことができる。メモリコマンドおよび/または動作の特性は、コマンドデコーダ回路、アドレスデコーダ回路および/または同様のもの(示される実施形態の詳細を曖昧にすることを避けるために、図1Cには図示せず)などの制御回路120の機能モジュール130によって復号および/または別の方法で定義することができる。図1Cは、シーケンサ122で実行するためのメモリ動作108を描写し、メモリ動作108は、特定の動作タイプ118を有し得る。動作タイプ118は、シーケンサ122による実装が可能な複数の異なる動作タイプ118A〜Nのうちの1つに対応し得、これらに限定されないが、プログラム動作、格納動作、書込動作、読出動作、書込前の読出動作、消去動作、リセット動作、検証動作、グルーミング動作、ガベージコレクション動作および/または同様のものを含み得る。
【0071】
上記で開示されるように、シーケンサ122は、とりわけ、それぞれの動作に対応するMC信号ベクトル123のシーケンスを生成することによって、NVメモリ104内でのそれぞれのメモリ動作の実行を管理するように構成することができる。シーケンサ122によって生成されたMC信号ベクトル123は、NVメモリ104内でそれぞれのメモリ動作を実装するように制御回路120の機能モジュール130を構成することができる。異なるタイプのメモリ動作の各々は、シーケンサ122が、異なるそれぞれの構成、タイミングおよび/または持続時間を有する異なるそれぞれのシーケンスまたはMC信号ベクトル123を生成することを必要とし得る。
【0072】
図1Cの実施形態では、シーケンサ122は、動作タイプ118A〜Nをシーケンサ構成データ140のそれぞれの部分にマッピングするように構成することができる。本明細書で開示されるように、シーケンサ構成データ140は、複数のエントリ142を含み得、複数のエントリ142は、決定された順番に従って配置することができる。シーケンサ122は、とりわけ、エントリ142への順次アクセスおよび/または順次実行を行うことによって、メモリ動作を実行することができる。エントリ142のシーケンスを実行することにより、特定の動作タイプ118A〜Nに対応するMCシーケンス126を生成する(例えば、MC信号ベクトル123の適切なシーケンスを出力する)ようにシーケンサ122を構成することができる。図1Cの実施形態では、シーケンサ構成データ140は、複数のエントリシーケンス144を含み、各エントリシーケンス144は、決定された順番での実行のために構成された1つまたは複数のエントリ142を含む(例えば、各エントリシーケンス144は、エントリ142のそれぞれの順序付けられたシーケンスを含む)。それぞれのエントリシーケンス144のエントリ142は、揮発性メモリ124内にそれぞれの順次アドレス範囲および/またはオフセット内で配置することができる。図1Cの実施形態では、エントリシーケンス144Aは、146Aから148Aまでのアドレスに格納されたエントリ142を含み得、エントリシーケンス144Bは、146Bから148Bまでのアドレスに格納されたエントリ142を含み得るなどと続き、エントリシーケンス144Nは、146Nから148Nまでのアドレスに格納されたエントリ142を含み得る。各エントリシーケンス144A〜Nは、それぞれの動作タイプ118A〜Nに対応し得る。例えば、エントリシーケンス144Aは、動作タイプ118Aと関連付けることができ、その結果、エントリシーケンス144Aを含むエントリ142のシーケンスは、動作タイプ118Aのメモリ動作を実行するためのMCシーケンス126の生成をシーケンサ122に行わせるように構成される。エントリシーケンス144Bは、動作タイプ118Bと関連付けることができるなどと続き、エントリシーケンス144Nは、動作タイプ118Nと関連付けることができる。
【0073】
シーケンサ122は、フェッチユニット152を含み得、フェッチユニット152は、バス121を介して揮発性メモリ124からエントリ142をフェッチするように構成することができる。フェッチユニット152は、フェッチ回路(circuit)、フェッチ回路(circuitry)、フェッチ論理および/または同様のものを含み得、それらは、本明細書で開示されるように、NVメモリ構造110内で具体化することができる。メモリ動作108に応答して、フェッチユニット152は、揮発性メモリ124から選択されたエントリ142をフェッチするように構成することができる。フェッチユニット152は、とりわけ、メモリ動作108の1つまたは複数の特性に基づいて、フェッチするエントリ142を選択することができる。図1Cの実施形態では、フェッチユニット152は、メモリ動作108の動作タイプ118に基づいて、揮発性メモリ124からフェッチするエントリ142を選択するように構成することができる。フェッチユニット152は、関連性153のセットを使用することによって、エントリ142を選択することができ、関連性153は、各動作タイプ118A〜Nをそれぞれのエントリシーケンス144A〜N(および/または各エントリシーケンス144A〜Nの第1のエントリ142のアドレス146A〜Nなどのそれぞれのエントリアドレス)にマッピングすることができる。関連性153は、シーケンサ構成データ140によって定義することができ(例えば、関連性153は、揮発性メモリ124内に決定されたアドレスおよび/またはアドレスオフセットで格納することができる)、メモリシステム101の動作の間にフェッチユニット152によってアクセスすることができる。関連性153は、表、ルックアップテーブル、インデックス、木、マップおよび/または同様のものなどのデータ構造において維持することができる。メモリコマンドおよび/または動作をシーケンサ構成データ140と関連付けるための特定のメカニズムが本明細書で説明されているが、本開示は、この点において制限されず、適切な任意の技法、メカニズムおよび/またはデータ構造を使用して、メモリコマンドおよび/または動作のマッピング、翻訳および/または別の方法でのシーケンサ構成データ140との関連付けを行うように適応させることができる。
【0074】
図1Cの実施形態では、フェッチユニット152は、メモリ動作108の動作タイプ118に基づいて、メモリ動作108をエントリシーケンス144Aおよび/またはアドレス146Aと関連付けることができる。それに応答して、フェッチユニット152は、アドレス146Aでエントリ142(エントリシーケンス144Aの第1のエントリ)をフェッチすることができる。フェッチユニット152は、アドレスポインタ125をアドレス146Aに設定するようにさらに構成することができる。フェッチユニット152は、決定されたアドレス146Aからエントリ142を読み出し、シーケンサ122の復号ユニット154にエントリ142を提供することができる。
【0075】
復号ユニット154は、復号回路(circuit)、復号回路(circuitry)、復号論理および/または同様のものを含み得、それらは、本明細書で開示されるように、NVメモリ構造110内で具体化することができる。復号ユニット154は、エントリ142のそれぞれの部分の識別、抽出および/または解釈を行うように構成することができる。フェッチユニット152からエントリ142を受信することに応答して、復号ユニット154は、エントリ142の信号データ143および/またはタイミングデータ145を識別するように構成することができる。復号ユニット154は、本明細書で開示されるように、エントリ142の決定されたフォーマットおよび/またはレイアウトに従って、信号データ143および/またはタイミングデータ145の識別および/または抽出を行うように構成することができる(例えば、信号データ143はデータビット[19:0]に対応し得、タイミングデータ145はデータビット[31:20]に対応し得る)。復号ユニット154は、エントリ142に対するタイミング情報を決定するようにさらに構成することができ、エントリ142に対するタイミング情報を決定することは、エントリ142から(例えば、データビット[31:28]および[27:20]のそれぞれから)指数147および/または仮数149を抽出することを含み得る。復号ユニット154は、本明細書で開示されるように、仮数149に指数147を乗じるようにさらに構成することができる。とりわけ、乗算は指数147による仮数149のビット単位のシフトを含み得るため(指数は、符号なしの整数のビット単位のシフトに対応するそれぞれの2のべき乗を表すため)、計算は、典型的な算術演算と比較して、簡略化することができる。
【0076】
復号ユニット154は、信号データ143および決定されたタイミング情報165(例えば、クロックサイクル数)をシーケンサ122の実行ユニット156に提供することができる。実行ユニット156は、実行回路(circuit)、実行回路(circuitry)、実行論理、出力回路、ドライバ回路、バッファ回路および/または同様のものを含み得、それらは、本明細書で開示されるように、NVメモリ構造110内で具体化することができる。実行ユニット156は、本明細書で開示されるように、エントリ142の信号データ143に従ってMC信号ベクトル123を生成するように構成することができる。実行ユニット156は、MCドライバ回路158を含み得、MCドライバ回路158は、提供された信号データ143に従ってMC信号ベクトル123を含む1つまたは複数のMC信号を生成するように構成することができる。MCドライバ回路158は、1つまたは複数の信号ドライバ、信号バッファ、増幅器、チャージポンプおよび/または同様のものを含み得る。MCドライバ回路158は、MC信号ベクトル123を含むMC信号を制御回路120(および/またはそのそれぞれの機能モジュール130)に伝達するための手段に結合することができる。MC信号を伝達するための手段は、シリコンビア(TSV)、スイッチ、ルータ、相互接続、バスおよび/または同様のものを通じる、導体、チャネル、ワイヤ、トレース、ビアのうちの1つまたは複数を含み得る。
【0077】
実行ユニット156は、復号ユニット154によって提供されたタイミング情報165に従ってMC信号ベクトル123を出力するようにさらに構成することができる(例えば、タイミング情報165によって指定された持続時間の間)。タイミング情報165は、本明細書で開示されるように、クロックサイクルカウントを含み得る。実行ユニット156は、カウンタユニット157を含み得、カウンタユニット157は、とりわけ、指定されたクロックサイクル数の間、信号データ145によって定義された状態にMC信号ベクトル123を維持するために、クロック信号のサイクルをカウントするように構成することができる(示される実施形態の詳細を曖昧にすることを避けるために、図1Cには図示せず)。指定されたクロックサイクル数の間にMC信号ベクトル123が生成されたと判断することに応答して、実行ユニット156は、エントリ142が完了したと判断することができる。完了に応答して、実行ユニット156は、次のエントリ142に対応するMC信号ベクトル123を出力することができる(復号ユニット154によって提供された信号データ145および/またはタイミング情報165に従って)。実行ユニット156は、実行が完了したことを他のユニット154、156および/または158に知らせるようにさらに構成することができる。
【0078】
エントリ142(第1のエントリ142)をフェッチすることに応答して、フェッチユニット152は、次のエントリ142のフェッチを開始することができる。いくつかの実施形態では、フェッチユニット152は、第1のエントリ142の実行が完了する前に次のエントリ142のフェッチを開始し、その結果、次のエントリ142は、他のユニット154、156および/または158が第1のエントリ142の実行を完了次第直ちに処理するためにフェッチされる。あるいは、フェッチユニット152は、1つまたは複数の他のユニット154、156および/または158からステータス情報(実行ユニット156からの完了通知および/または復号ユニット154からの復号情報など)を受信するまでフェッチを遅延することができる。次のエントリ142をフェッチすることは、揮発性メモリ124のエントリ142の決定された順番に従ってアドレスポインタ125をインクリメントすることを含み得る。フェッチユニット152は、本明細書で開示されるように、揮発性メモリ124から次のエントリ142をロードすることおよび/または復号ユニット154に次のエントリ142を提供することができる。いくつかの実施形態では、フェッチユニット152は、第1のエントリ142の完了前に、復号ユニット154に次のエントリ142を提供する(および/または復号ユニット154に次のエントリ142が処理に対して利用可能であることを通知する)ように構成される。それに応答して、復号ユニット154は、次のエントリ142を復号し、対応する信号データ143および/またはタイミング情報165を実行ユニット156に提供することができ、それにより、第1のエントリ142を完了することに応答して指定された時間持続時間の間に提供された信号データ143に対応するMC信号ベクトル123を生成することができる。復号ユニット154は、実行ユニット156による第1のエントリ142の完了前に、次のエントリ142を復号することならびに/あるいは対応する信号データ143および/またはタイミング情報165を実行ユニット156に提供することができ、その結果、第1のエントリ142の実行の完了時(または完了前)に、実行ユニット156において、信号データ143および/またはタイミング情報165が利用可能になる。
【0079】
シーケンサ122は、本明細書で開示されるように、後続のエントリ142を順次処理することができる。シーケンサ122は、メモリ動作108(および/または対応するエントリシーケンス144A)が完了したと判断されるまで、エントリ142の処理を続けることができる。いくつかの実施形態では、シーケンサ122は、完了条件に基づいて完了を検出する。本明細書で使用される場合は、完了条件は、シーケンサ122による検出が可能ないかなる条件、基準、トリガ、閾値および/またはインタラプトも指す。いくつかの実施形態では、完了条件は、揮発性メモリ124から特殊用途エントリ142をフェッチすることを含み得る。特殊用途エントリ142は、シーケンサ122によって実装されているエントリシーケンス144が完了していることを示すことができる。特殊用途エントリ142は、とりわけ、特殊用途エントリ142と関連付けられたアドレス、特殊用途エントリ142の信号データ143、特殊用途エントリ142のタイミングデータ145および/または同様のものに基づいて、検出することができる。いくつかの実施形態では、特殊用途エントリ142は、NOOP、アイドルまたは「停止」エントリ142を含み得、NOOP、アイドルまたは「停止」エントリ142は、0持続時間を指定すること(例えば、0および/またはヌルタイミングデータ145を含む)および/または指定信号データ143(例えば、0またはヌル信号データ143)を含むことができる。その代替としてまたはそれに加えて、完了条件は、揮発性メモリ124から無効および/またはヌルエントリ142をフェッチすることならびに/あるいは無効アドレス(例えば、揮発性メモリ124のアドレス範囲外のアドレスおよび/またはシーケンサ構成データ140の格納に使用されるメモリ領域外のアドレス)にアドレスポインタ125をインクリメントすることを含み得る。いくつかの実施形態では、完了条件は、エントリシーケンス144の最後のアドレス(例えば、エントリシーケンス144Aのアドレス148A)に到達することを含み得る。各エントリシーケンス144の最後のアドレス148は、上記で開示される関連性153に含めることができる。いくつかの実施形態では、完了条件は、エントリ142の閾値数を実行することを含み得る(例えば、関連性153は、それぞれのエントリシーケンス144に含まれるエントリ142の数を示すことができる)。
【0080】
メモリ動作108(および/またはエントリシーケンス144A)の実行が完了したと判断することに応答して、シーケンサ122は、エントリ142の順次実行を終了することおよび/または次のメモリ動作の実行を開始することができる。シーケンサ122は、本明細書で開示されるように、揮発性メモリ124内の異なるアドレスにジャンプし、エントリ142へのアクセスおよび/またはエントリ142の実行を再開するように構成することができる。その代替としてまたはそれに加えて、シーケンサ122は、次のメモリ動作が実行されるまで、デフォルトMC信号ベクトル123を出力するように構成することができる。本明細書で開示されるように、デフォルトMC信号ベクトル123は、制御回路120の1つまたは複数の機能モジュール130をアイドル状態にし、それにより、制御回路120によって生成される電力消費量および/または熱を低減するように構成することができる。シーケンサ122は、インタラプトされるまで(例えば、次のメモリ動作の実行まで)、デフォルトMC信号ベクトル123の出力を続けることができる。
【0081】
上記で開示されるように、エントリ142のうちの1つまたは複数は、特殊用途エントリを含み得る。本明細書で使用される場合は、特殊用途エントリ142は、シーケンサ構成データ140に関する1つまたは複数の制御および/または管理動作を実装するようにシーケンサ122を構成するエントリを指す。特殊用途エントリ142は、NOOPエントリ142、停止エントリ142および/またはアイドルエントリ142を含み得、上記で開示されるように、制御回路120の1つまたは複数の機能ユニット130をアイドル状態にすることおよび/またはメモリ内のエントリ142の順次実行を終了することを行うように構成されたNOOPまたはアイドルMC信号ベクトル123を出力するようにシーケンサ122を構成することができる。別の特殊用途エントリ142(例えば、ジャンプエントリ142)は、シーケンサ122によって実行されているシーケンス内の次のアドレスとは異なり得る指定アドレスから次のエントリ142にアクセスするようにシーケンサ122を構成することができる。復号ユニット154は、ジャンプエントリ142を検出するように構成することができ(その信号および/またはタイミングデータ143、145に基づいて)、ジャンプエントリ142によって指定されたアドレスから次のエントリ142をフェッチする(指定アドレスにアドレスポインタ125を更新することを含み得る)ようにフェッチユニットを構成することができる。別の特殊用途エントリは、条件付きジャンプエントリ142を含み得る。条件付きジャンプエントリ142は、条件付きジャンプエントリ142によって指定された条件が満たされている場合に指定アドレスにジャンプするようにシーケンサ122を構成することができる。条件は、読出/書込回路のプログラム検証信号(本明細書でさらに詳細に開示される)など、制御回路120の1つまたは複数のステータス信号および/またはインジケータに関するものであり得る。復号ユニット154は、そのコンテンツに基づいて条件付きジャンプエントリ142を検出することができる。復号ユニット154は、条件付きジャンプエントリによって指定された条件を復号することおよび/または復号済みの条件を評価することを行うようにさらに構成することができる。条件を評価することは、本明細書で開示されるように、1つまたは複数のステータス信号および/またはインジケータを読み取ることを含み得る。復号ユニット154は、条件が満たされていることを示す評価に応答して、条件付きジャンプエントリ142によって指定されたアドレスをフェッチユニット152に提供するようにさらに構成することができる。そうでない場合は、復号ユニット154は、本明細書で開示されるように、フェッチユニット152(および/または他のユニット154、156、158)がエントリ142の順次実行を続行できるように、条件付きジャンプエントリ142を無視することができる。復号ユニット154は、条件付きジャンプエントリ142を実行ユニット156に転送しない場合がある。
【0082】
特定タイプの特殊用途エントリ142が本明細書で説明されているが、本開示は、この点において制限されず、適切な任意のフォーマットを有するならびに/あるいはシーケンサ122および/またはシーケンサ構成データ140に関する適切な任意のタイプの制御および/または管理動作を実装するように構成されたいかなるタイプのエントリ142および/または特殊用途エントリ142も使用するように適応させることができる。いくつかの実施形態では、シーケンサは、プロセッサ、マイクロコントローラおよび/または同様のものを含み得、特定の命令セットを実行するように構成することができる。そのような実施形態では、シーケンサ構成データ140のエントリ142は、特定の命令セットの命令を含み得る。特定の命令セットは、上記で開示されるように、定義された構成、タイミングおよび/または持続時間を有するMC信号ベクトル123のそれぞれのシーケンスを生成するようにシーケンサ122を構成するための命令を含み得る。特定の命令セットは、NOOP命令、ストップ命令、停止命令、アイドル命令、ジャンプ命令、条件付きジャンプ命令、算術命令(例えば、比較命令)、ステータス命令などの他の動作に関する命令をさらに含み得る。
【0083】
図1Dは、本明細書で開示されるような、シーケンサ122の別の実施形態を示す概略ブロック図である。図1Dの実施形態では、シーケンサ122は、有限状態マシン回路、有限状態オートメーション回路、有限状態論理および/または同様のものなどの状態マシン回路を含み得る。シーケンサ122を含む状態マシン回路のそれぞれの状態および/または状態遷移は、とりわけ、本明細書で開示されるシーケンサ構成データ140によって定義することができる。図1Dの実施形態では、シーケンサは、状態論理166、次の状態論理164および出力論理168を含む。シーケンサ122は、フェッチ論理162をさらに含み得、フェッチ論理162は、本明細書で開示されるように、メモリユニット129からシーケンサ構成データ140のエントリ142をロードするように構成することができる。図1Dの実施形態では、フェッチ論理162は、非一時的な記憶装置106からエントリ142をロードするように構成される。従って、NVメモリ構造110(および/またはメモリシステム101)は、図1Aの揮発性メモリ124を含まない場合がある。シーケンサ122および非一時的な記憶装置106は、本明細書で開示されるように、NVメモリ構造110および/またはメモリシステム101内で具体化することができる。
【0084】
フェッチ論理162は、非一時的な記憶装置106から次の状態論理164にロードされたエントリ142を提供することができ、エントリ142は、そこからシーケンサ122の次の状態を決定することができる。状態論理166は、シーケンサ122の現在の状態を維持するように構成することができる。本明細書で開示される場合は、シーケンサ122の「状態」は、シーケンサ122によって出力されるMC信号のセットおよび/またはMC信号のセットの持続時間(例えば、クロックサイクル数)を指す。従って、シーケンサ122の状態は、エントリ142の信号データ143および/またはタイミングデータ145によって定義することができる。エントリ142に応答して、次の状態論理164は、本明細書で開示されるように、信号および/またはタイミングデータ143、145の復号、構文解析および/またはエントリ142からの抽出を行うこと、エントリ142に対するタイミング情報165を計算することなどによって、シーケンサ122の次の状態を決定することができる。次の状態論理164は、次の状態情報を状態論理166に提供するようにさらに構成することができる。状態論理166は、1つまたは複数のレジスタ、ラッチ、メモリバッファおよび/または同様のものを含み得る。次の状態論理164は、カウンタ157をさらに含み得、カウンタ157は、クロック信号(例えば、CLK)に応答してインクリメントすることができる。次の状態論理164は、とりわけ、次のエントリ142の信号データ143および/またはタイミング情報165を状態論理164にラッチすること、カウンタ157をリセットすることなどによって、状態論理166を次の状態に遷移することができる。出力論理168は、状態論理166によって維持される信号データ143に対応するMC信号を含むMC信号ベクトル123を生成するように構成することができる。出力論理168は、本明細書で開示されるように、信号データ143をそれぞれのMC信号に復号および/または別の方法で変換すること、MC信号ベクトル123を含むMC信号を駆動すること、MC信号をNVメモリ104内の制御回路120に送ることなどを行うように構成された回路を含み得る。
【0085】
状態論理166は、カウンタ157が決定された値(例えば、タイミング情報165によってより指定されたクロックサイクル数)に到達するまで、その中にラッチされた状態情報を維持することができる。カウンタ157が決定された値に到達するまで、出力論理168は、その中にラッチされた信号データ143に対応するMC信号ベクトル123の生成を続けることができる。それに従って、出力論理168は、エントリ142のタイミングデータ145によって指定された持続時間の間、信号データ143によって定義された状態にMC信号ベクトル123を維持することができる。カウンタ157が決定された値に到達すると、状態論理166は、次の状態に遷移することができ、次の状態に遷移することは、次の状態論理164によって提供される状態情報をラッチすること(例えば、フェッチ論理162によってロードされた次のエントリ142に対応する信号データ143およびタイミング情報165ラッチすること)を含み得る。次の状態に遷移することは、出力論理168が状態論理166内でラッチされた異なる信号データ143に従って異なるMC信号ベクトル123を生成することを含み得る。
【0086】
図1Eは、メモリシステム101の設計および/または製作後にメモリ動作パルスを適応させるように構成されたメモリシステム101の別の実施形態を描写する概略ブロック図である。メモリシステム101は、システムコントローラ102およびNVメモリ104を含み得る。システムコントローラ102は、メモリシステム101をホスト103に通信可能に結合するように構成することができる。ホスト103は、コンピューティングデバイスを含み得、コンピューティングデバイスは、これらに限定されないが、サーバコンピューティングデバイス、パーソナルコンピューティングデバイス、モバイルコンピューティングデバイス(例えば、スマートフォン、タブレットまたは同様のもの)、埋め込みコンピューティングデバイス、仮想コンピューティングシステム(例えば、仮想マシン、仮想デスクトップ)、仮想化環境(例えば、仮想化カーネル、ハイパーバイザ)および/または同様のものを含み得る。示される実施形態の詳細を曖昧にすることを避けるために図1Eには示されていないが、ホスト103は、プロセッサ、揮発性メモリ、非一時的な記憶装置、1つまたは複数の入力/出力インタフェース、ヒューマンマシンインタフェース(HMI)コンポーネントおよび/または同様のものを含み得る。
【0087】
いくつかの実施形態では、メモリシステム101は、ホスト103内に埋め込まれるおよび/またはホスト103の内部コンポーネントを含む。メモリシステム101は、搭載メモリデバイス、搭載記憶装置、集積メモリデバイス、集積記憶装置、メモリモジュール、記憶装置モジュールおよび/または同様のものを含み得る。その代替としてまたはそれに加えて、メモリシステム101は、ホスト相互接続、搭載相互接続、システム相互接続、外部相互接続、リモート相互接続および/または同様のもの(例えば、相互接続105)のうちの1つまたは複数を通じてホスト103に選択的に結合されるように構成することができる。メモリシステム101は、アドオンデバイス、アドオン記憶装置、アドオンメモリデバイス、周辺機器デバイス、周辺機器コンポーネントデバイスおよび/または同様のものを含み得る。いくつかの実施形態では、メモリシステム101は、ホスト103とは別のおよび/またはホスト103から独立した(および/またはホスト103と選択的に結合することおよび/またはホスト103から選択的に減結合することが可能な)デバイス内で具体化される。メモリシステム101は、メモリデバイス、記憶装置、外部メモリデバイス、外部記憶装置、メモリ器具、記憶装置器具、サーバ、メモリサーバ、記憶装置サーバ、ネットワーク接続型メモリデバイス、ネットワーク接続型記憶装置、キャッシュデバイス、キャッシュ器具および/または同様のものを含み得る。図1Eは単一のホスト103を描写しているが、本開示は、この点において制限されない。メモリシステム101は、いかなる数のホスト103にも通信可能に結合することができる(例えば、複数のホスト103間で共有することができる)。
【0088】
メモリシステム101は、相互接続105を通じてホスト103に通信可能に結合することができる。相互接続105は、これらに限定されないが、入力/出力(I/O)接続、I/Oバス、I/Oコントローラ、ローカルバス、ホストブリッジ(ノースブリッジ、サウスブリッジまたは同様のもの)、フロントサイドバス、周辺機器相互接続(PCI)、PCIエクスプレス(PCI−e)バス、シリアルATアタッチメント(シリアルATAまたはSATA)バス、パラレルATA(PATA)バス、小型コンピュータシステムインタフェース(SCSI)バス、ダイレクトメモリアクセス(DMA)インタフェース、IEEE1394(FireWire)インタフェース、ファイバチャネルインタフェース、ユニバーサルシリアルバス(USB)接続および/または同様のものを含み得る。いくつかの実施形態では、メモリシステム101は、電子通信ネットワークを通じてホスト103に通信可能に結合される。従って、相互接続105は、ネットワーク、ネットワーク接続、ネットワークインタフェース、ストレージネットワークインタフェース、ストレージエリアネットワーク(SAN)インタフェース、仮想ストレージエリアネットワーク(VSAN)インタフェース、リモートバス、PCE−eバス、インフィニバンドインタフェース、ファイバチャネルプロトコル(FCP)インタフェース、超SCSIインタフェース、リモートDMA(RDMA)インタフェースおよび/または同様のもののうちの1つまたは複数を含み得る。
【0089】
システムコントローラ102は、メモリシステム101へのおよび/またはシステムからのデータ転送を管理するように構成することができる。システムコントローラ102は、I/Oコントローラ、I/Oバッファ、読出バッファ、書込バッファ、DMAコントローラ、RDMAコントローラおよび/または同様のものを含み得る。システムコントローラ102は、相互接続105上でメモリシステム101内に格納されたデータを伝達するように構成することができ、データは、これらに限定されないが、メモリシステム101から読み取られたデータ、メモリシステム101に関するステータス情報、メモリシステム101に関する構成情報などを含み得る。システムコントローラ102は、相互接続105からデータを受信するようにさらに構成することができ、データは、コマンド、構成情報、ファームウェアおよび/または同様のものを含み得る。
【0090】
NVメモリ104は、ダイ170を含み得る。ダイ170は、NVメモリアレイ171および制御回路を含むことおよび/または具体化することができ、NVメモリアレイ171および制御回路は、ダイコントローラ172、シーケンサ122、アドレス回路132、読出/書込回路134、電力制御回路136などを含み得る。アドレス回路132、読出/書込回路134、電力制御回路136は、機能モジュール130を含み得、機能モジュール130は、本明細書で開示されるように、シーケンサ122によって生成されたMC信号ベクトル123に応答してNVメモリアレイ171内でメモリ動作を実装するように構成することができる。
【0091】
図1Eに示されるように、ダイコントローラ172および/または他の制御回路132、134、136および122は、NVメモリアレイ171を含むダイ170上で実装することおよび/またはダイ170内で具体化することができる。従って、ダイコントローラ172およびシーケンサ122は、NVメモリ104の「オンダイ」または「オンチップ」制御回路を含み得る。図1Eは、単一のダイ170を有する単一のNVメモリ104を含むメモリシステム101を描写しているが、本開示は、この点において制限されず、各々がそれぞれのNVメモリアレイ171および対応する制御回路を含むいかなる数のNVメモリ104および/またはダイ170(例えば、4つ、8つまたはそれ以上のダイ170)も含む実施形態を包含する。
【0092】
シーケンサ122は、メモリユニット129内に格納されたシーケンサ構成データ140に基づいてメモリ動作の実行を制御するように構成することができる。メモリユニット129は、本明細書で開示されるように、非一時的な記憶装置106および揮発性メモリ124のうちの1つまたは複数を含み得る。図1Eの実施形態では、揮発性メモリ124は、ダイ170内で(シーケンサ122および/またはNVメモリアレイ171と同じダイ170内で)具体化することができる。揮発性メモリ124は、SRAMユニット、DRAMユニットおよび/または同様のものを含み得る。揮発性メモリ124には、本明細書で開示されるように、非一時的な記憶装置106からシーケンサ構成データ140を投入することができる(構成マネージャ127を使用することによって)。図1Eの実施形態では、非一時的な記憶装置106および/または揮発性メモリ124を含むメモリユニット129は、ダイ170内で(シーケンサ122および/またはNVメモリアレイ171と同じダイ170内で)具体化することができる。あるいは、メモリユニット129、非一時的な記憶装置106および/または揮発性メモリ124は、ダイ170以外の構造内で具体化することができる(例えば、別個のダイ、チップ、パッケージおよび/または同様のものを含み得る)。
【0093】
ダイ170は、適切ないかなる配置および/または構成の適切ないかなるタイプのNVメモリ素子112も含み得る。NVメモリアレイ171は、非一時的なメモリ、ソリッドステートメモリ、フラッシュメモリ、NANDタイプのフラッシュメモリ、NORタイプのフラッシュメモリ、PMCメモリ、SONOSメモリ、RRAM、FJG RAM、FeRAM、MRAM、PRAM、EEPROMおよび/または同様のものを含み得る。
【0094】
システムコントローラ102は、相互接続105を通じてNVメモリシステム101に関するコマンドを受信するように構成することができる。示される実施形態の詳細を曖昧にすることを避けるために図1Eには示されていないが、システムコントローラ102は、コントローラ102を相互接続105および/または107に通信可能に結合するように構成された1つまたは複数のインタフェースコンポーネントを含み得る。システムコントローラ102は、相互接続105を使用することによってメモリ構造110に給電するようにさらに構成することができる(例えば、相互接続105は、相互接続105に結合されたデバイスに給電するように構成することができる)。その代替としてまたはそれに加えて、NVメモリシステム101は、別個の電源および/または接続を使用することによって給電することができる。相互接続105を通じて受信されるコマンドは、メモリシステム101内にデータを格納するというコマンド、メモリシステム101からデータを読み取るというコマンド、管理用コマンド、メモリシステム101の構成に関するコマンド、メモリシステム101に関するステータス情報を要求するコマンド、メモリシステム101におよび/またはメモリシステム101からデータを転送するというコマンドならびに/あるいは同様のものを含み得る。システムコントローラ102は、コマンドを実行するように構成することができ、コマンドを実行することは、コマンドを復号することおよび/または対応するコマンド109をNVメモリ104に発行すること(相互接続107を介して)を含み得る。
【0095】
ダイコントローラ172は、本明細書で開示されるように、それぞれのコマンド109に応答してメモリ動作を実装するように構成することができる。ダイコントローラ172は、コマンド109から独立したものであり得るNVメモリ104の管理動作を実行するようにさらに構成することができる。そのような管理動作は、本明細書で開示されるように、リフレッシュ動作、グルーミング動作、ガベージコレクション動作および/または同様のものを含み得る。メモリ動作の実行は、シーケンサ122によって制御することができ、それにより、それぞれのメモリ動作を実行するように機能モジュール(例えば、アドレス回路132、読出/書込回路134、電力制御回路136など)を構成するように適応させたMCシーケンスベクトル123を生成することができる。
【0096】
ダイコントローラ172は、復号回路173を含み得、復号回路173は、相互接続107を介して受信されたメモリコマンド109を処理するように構成することができる。復号回路173は、それぞれのコマンド109に対応する動作タイプを決定すること、コマンド109に関するアドレス指定情報を決定することなどを行うように構成することができる。復号回路173は、NVメモリアレイ171内でそれぞれのNVメモリ素子112をアドレス指定するために、メモリコマンド109のアドレスをアドレス回路132による使用が可能なアドレスに変換および/または翻訳するようにさらに構成することができる(行デコーダ133Aおよび/または列デコーダ133Bを使用することによって)。
【0097】
アドレス回路132は、特定のメモリ動作に対応するNVメモリ素子112をアドレス指定するように構成することができる。アドレスモジュール132は、行デコーダ133Aおよび列デコーダ133Bを含み得る。NVメモリアレイ171のNVメモリ素子112は、行デコーダ133Aおよび/または列デコーダ133Bを介してそれぞれのメモリアレイ制御線によってアドレス指定が可能であり得る。メモリアレイ制御線は、行デコーダ133Aを通じてアドレス指定が可能であり得るワード線と、列デコーダ133Bを通じてアドレス指定が可能であり得るビット線とを含み得る。
【0098】
読出/書込回路134は、アドレス指定されたNVメモリ素子112からデータを読み取ること、アドレス指定されたNVメモリ素子112にデータを書き込むこと、アドレス指定されたNVメモリ素子112を消去することおよび/または同様のものなど、1つまたは複数の検知ブロック135A〜Nを使用することによってアドレス回路132によってアドレス指定されたNVメモリ素子112のメモリ動作を実行するように構成することができる。電力制御回路136は、メモリ動作の間にメモリアレイ制御線(例えば、ワード線、ビット線、選択線および/または同様のもの)に供給される電力および/または電位を制御するように構成することができる。電力制御回路136は、1つまたは複数のチャージポンプ、信号ドライバ、信号増幅器および/または同様のものを含み得る。それぞれのメモリ動作を実装するためにアドレス回路132、読出/書込回路134および/または電力制御回路136によって使用される電位および/または他の信号の構成、タイミングおよび/または持続時間は、シーケンサ122によって生成されたMC信号ベクトル123によって、少なくとも部分的に制御することができる。
【0099】
一実施形態では、NVメモリアレイ171に含まれるNVメモリセルおよび/またはNVメモリ素子112は、それぞれのブロックに配置することができる。ブロックは、消去の単位に対応し得る(例えば、グループとして消去されるように構成されたNVメモリセルおよび/またはNVメモリ素子112を含み得る)。本明細書でさらに詳細に開示されるように、各ブロックは、NANDストリングのセットを含み得、NANDストリングのセットは、それぞれのメモリアレイ制御線(例えば、ワード線、ビット線、選択線など)を介してアクセスすることができる。各ブロック内のNANDストリングは、ワード線の共通のセットを共有することができる。各ブロックは、複数のページ(NANDページ)を含み得、複数のページ(NANDページ)は、プログラムの単位に対応し得る。NANDページは、NVメモリアレイ171内のNVメモリセルの行を含み得る。NANDページは、NVメモリセルのセットを含み得、NVメモリセルのセットは、同じワード線に結合され、並列でプログラムすることが可能である。図1Eで描写されるNVメモリ素子112は、ページ、ブロック、ページグループ、ブロックグループおよび/または同様のものを含むことならびに/あるいはページ、ブロック、ページグループ、ブロックグループおよび/または同様のものに対応することができる。
【0100】
NVメモリ素子112および/またはNVメモリ素子112の集合体(例えば、特定のブロックおよび/またはブロックの集合体内のNVメモリ素子112)は、1つまたは複数の物理的ゾーン182(例えば、物理的ゾーン182A〜D)に分類することができる。本明細書で使用される場合は、物理的ゾーン182は、摩耗特性、性能特性、信頼性特性、製作特性および/または同様のものなど、同様のおよび/または対応する特性を有するNVメモリ素子112の集合体を指す。
【0101】
いくつかの実施形態では、NVメモリアレイ171は、図1Fに示されるように、複数のNVメモリセル10を含み得る。NVメモリセル10は、電荷格納ユニット20を有する電界効果トランジスタを含み得、電界効果トランジスタは、これらに限定されないが、フローティングゲート、電荷トラップ(誘電体)層および/または同様のものを含み得る。NVメモリセル10は、ソース14、ドレイン16および制御ゲート30をさらに含み得る。制御ゲート30は、NVメモリセル10の読出および書込動作を制御するために使用することができる。
【0102】
図1Gは、シーケンサ122によって生成されたMC信号ベクトル123に応答してNVメモリ素子112のメモリ動作を実装するように構成されたNVメモリアレイ171のNVメモリ素子112および対応する機能ユニットの実施形態を描写する。NVメモリ素子112は、それぞれのNANDストリング50および/またはNANDページ51内に配置された複数のNVメモリセル10を含み得る。各NANDストリング50は、そのソース14およびドレイン16によってデイジーチェーン接続された一連のNVメモリセル10(MC A〜N)を含み得る。1対の選択トランジスタS1、S2は、NANDストリング50をソース端子54およびドレイン端子56に選択的に結合することができる(それにより、NANDストリング50に給電することおよび/またはNANDストリング50を起動することができる)。NANDストリング50のソース選択トランジスタS1をオンにすると、NANDストリング50は、ソース端子54および/またはソース線64に結合することができる。同様に、ドレイン選択トランジスタS2をオンにすると、NANDストリング50は、NANDストリング50のドレイン端子56および/またはビット線66に結合することができる(各NANDストリング50は、それぞれのビット線66A〜Nを有する)。NVメモリセル10の制御ゲート30は、それぞれのワード線31(例えば、ワード線31A〜N)に結合することができる。ワード線31は、NANDストリング50全体に及ぶ(例えば、複数のNANDストリング50の各々のNANDストリング50内のそれぞれのNVメモリセル10に結合することができる)。図1Gの実施形態では、NANDストリング50のそれぞれの行に沿ったNVメモリセル10の制御ゲート30は、同じワード線31に接続し、それぞれのNANDページ51を形成することができる。それぞれのNANDストリング50の選択トランジスタS1、S2の制御ゲートは、上記で開示されるように、それぞれのソース端子54およびドレイン端子56を介するNANDストリング50へのアクセスの制御を提供することができる。
【0103】
NANDストリング50内の選択されたNVメモリセル10を読み取ることは、選択されたNVメモリセル10に適切な電位を供給する(選択されたNVメモリセル10の制御ゲート30に結合されたワード線31を介して)一方で、NANDストリング50の他のアドレス指定されていないNVメモリセル10に異なる電位を供給する(それぞれの制御ゲート30を介して)ことを含み得、それにより、他のアドレス指定されていないNVメモリセル10を完全にオンにするように構成することができる。このように、導電経路は、a)アドレス指定されたNVメモリセル10のソース14およびソース線64と、b)アドレス指定されたNVメモリセル10のドレイン16およびドレイン線(ビット線66)との間に効果的に作成される。読出および/または検証動作の実装に必要な電位は、読出/書込回路134および/または電力制御回路136によって、ワード線31A〜N上で駆動させることができる。選択されたNVメモリセル10を読み取ることは、NVメモリセル10に結合されたビット線66上の電位および/または電流を検知することならびに/あるいはビット線66上で検知された対応するデータ値をラッチすること(読出/書込回路134を使用することによって)をさらに含み得る。シーケンサ構成データ140に従ってシーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間は、後続の検知動作の前にワード線31A〜Nを帯電させる時間など、様々な読出動作のタイミングを決定することができる。NVメモリ104内で実行される読出および/または検証動作の構成、タイミングおよび/または持続時間は、NVメモリ104の設計および/または製作後に修正することができる(例えば、シーケンサ構成データ140の読出および/または検証動作に対応するエントリ142および/またはエントリシーケンス144を修正することによって)。
【0104】
NANDストリング50内の選択されたNVメモリセル10をプログラムすることは、NANDストリング50のビット線66をグランドに結合する一方で、選択されたNVメモリセル10の制御ゲート30にプログラム電位を印加する(対応するワード線31を介して)ことを含み得る。プログラム電位は、それぞれの振幅および/または持続時間を有する一連のパルスとして、選択されたNVメモリセル10の制御ゲート30に印加することができる。プログラムする間、NANDストリング50の他のNVメモリセル10の制御ゲート30は、絶縁電位などの異なる電位で駆動することができる。プログラム動作の間にワード線上で駆動される電圧信号の構成、タイミングおよび/または持続時間は、本明細書で開示されるように、シーケンサ122によって生成されたMC信号ベクトル123によって制御することができる。従って、そのようなプログラム信号のタイミング、構成および/または持続時間は、とりわけ、そのような動作を実行するためにシーケンサ122によって実装されたシーケンサ構成データ140を修正することによって、ダイ170の設計および/または製作後に修正することができる。
【0105】
シーケンサ構成データ140の1つまたは複数のエントリ142は、MC信号ベクトル123を生成するようにシーケンサ122を構成することができ、それにより、特定の構成、タイミングおよび/または持続時間を有するプログラムパルス(例えば、プログラムパルスのうちの1つまたは複数の持続時間は、1つまたは複数のエントリ142の指定持続時間に対応し得る)を生成するように電力制御回路136を構成するように適応させることができる。それに従って、NVメモリセル10をプログラムするために使用されるプログラムパルス(および/または他の信号)の構成、タイミングおよび/または持続時間は、NVメモリ104の設計および/または製作後に、調整、修正および/または別の方法で操作することができる(例えば、メモリユニット129内のシーケンサ構成データ140を修正することによって変更することができる)。
【0106】
MC信号ベクトル123に応答して読出/書込回路134、電力制御回路136によって駆動される電位および/または他の信号は、アドレス回路132によってそれぞれのNVメモリセル10に送ることができる(例えば、アドレス回路132は、アドレス指定されたNVメモリセル10を読出/書込回路134および/または電力制御回路136に選択的に結合することができる)。行デコーダ回路133Aは、1つまたは複数のNVメモリセル10のそれぞれのワード線31に電力制御回路136を結合する(ならびに/あるいは電力制御回路136によって生成された信号および/または電位をそれぞれのワード線31に送る)ように構成することができる。列デコーダ回路133Bは、それぞれのビット線66に読出/書込回路を結合する(例えば、それぞれのビット線66に検知ブロック135A〜Nを結合する)ように構成することができる。アドレス回路132は、デコーダ173によって提供されるアドレス情報に基づいて特定のNANDストリング50および/またはNANDページ51内のそれぞれのNVメモリセル10をアドレス指定するように構成することができる。アドレス回路132は、本明細書で開示されるように、シーケンサ122によって生成されたMC信号ベクトル123(および/またはメモリ動作に関するアドレス情報)によって、少なくとも部分的に制御することができる。
【0107】
図1Hは、本明細書で開示されるような、シーケンサ122によって生成されたMC信号ベクトル123に従ってNVメモリアレイ171内でメモリ動作を実行するための制御回路のさらなる実施形態を描写する。図1Hは、検知ブロック135の一実施形態を描写し、検知ブロック135は、図1Eおよび/または1Gの読出/書込回路134の検知ブロック135A〜Nを含み得る。
【0108】
電力制御回路136は、ソースおよび/またはドレインドライバ回路138A、バイアス回路138B、パルス生成回路138Cなどを含み得る。電力制御回路136は、チャージポンプ回路137をさらに含み得、チャージポンプ回路137は、138A、138Bおよび/または138Cによって必要とされる電位を生成するように構成することができる。ソースおよび/またはドレインドライバ回路138Aは、選択されたNANDストリング50のソース線64上で決定された電位を駆動する(および/またはNANDストリング50のそれぞれのドレイン線および/またはウェル構造を駆動する)ように構成することができる。バイアス回路138Bは、本明細書で開示されるように、選択された電位でNANDストリング50のそれぞれのワード線31を偏倚するように構成することができる。パルス生成回路138Cは、本明細書で開示されるように、1つまたは複数のワード線31上でプログラムパルスを生成するように構成することができる。回路137、138A、138B、138Cは、とりわけ、シーケンサ122によって生成されたMC信号ベクトル123のMC信号によって、制御することができる。MC信号ベクトル123は、電力制御回路136によって生成された電位、基準電圧、バイアス電圧プログラムパルスおよび/または他のメモリ制御信号の構成、タイミングおよび/または持続時間を決定することができる。
【0109】
検知ブロック135は、検知モジュール90および共通モジュール190を含み得る。一実施形態では、各ビット線66は、それぞれの検知モジュール90に結合することができる。共通モジュール190は、複数の検知モジュール90に結合することができる。一実施形態では、検知ブロック135は、8つの検知モジュール90に結合された共通モジュール190を含み得る(他の検知モジュール90は、示される実施形態の詳細を曖昧にすることを避けるために図1Hには示されていない)。検知モジュール90の各々は、データバス95を介して共通の部分に結合することができる。
【0110】
検知モジュール90は、接続されたビット線66の伝導電流が閾値レベルを上回っているかまたは下回っているか(とりわけ、電力制御回路136によって、ビット線66のNVメモリセル10に結合されたワード線31が決定された電圧レベルで駆動している間に)を判断するように構成された検知回路94を含み得る。検知回路94は、1つまたは複数の検知増幅回路、差動増幅回路、分路回路および/または同様のものを含み得る。検知モジュール90は、ビット線ラッチ92をさらに含み得、ビット線ラッチ92は、接続されたビット線上の電圧条件を設定するために使用することができる。例えば、ビット線ラッチ92においてラッチされた既定の状態は、接続されたビット線66をプログラム阻止電圧(例えば、1.5〜3V)に対応する状態に引き寄せることができる。
【0111】
共通モジュール190は、プロセッサ192、データラッチ194およびI/Oインタフェース196を含み得る。I/Oインタフェース196は、データラッチ194とデータバス197との間で結合することができる。プロセッサ192は、それぞれの検知動作に関する演算を実行するように構成することができる。プロセッサ192は、接続されたビット線66を介して検知されているNVメモリセル10に格納されたデータを決定すること(接続されたビット線66上で検知された伝導電流および/または電位を1つまたは複数の閾値と比較することによって)および/または決定されたデータをデータラッチ194に格納することを行うように構成することができる。データラッチ194は、読出動作の間にプロセッサ192によって決定されたデータビットをラッチすることおよび/またはデータバス197からインポートされたデータビットを格納することを行うように構成することができる。インポートされたデータビットは、それぞれの検知モジュール90に結合されたビット線66上のNVメモリセル10へのプログラム予定の書込データを含み得る。
【0112】
検知動作の間、シーケンサ122は、MC信号ベクトル123を生成することができ、それにより、検知されているNANDストリング50(例えば、検知モジュール90に結合されたビット線66に対応するNANDストリング50)に結合された選択されたワード線31上でそれぞれの電位を駆動するように電力制御回路136を構成するように適応させることができる。ワード線31上で駆動される電圧信号の構成、タイミングおよび/または持続時間は、シーケンサ122によって生成されたMC信号ベクトル123によって制御することができる(本明細書で開示されるように、シーケンサ構成データ140の1つまたは複数のエントリ142に従って)。ワード線31は、アドレス回路132の行デコーダ133Aを使用することによって電力制御回路136に結合することができる。その代替としてまたはそれに加えて、行デコーダ133Aは、電力制御回路136によって生成された信号をワード線31および/またはNANDストリング50の制御ゲートに送るように構成することができる。ビット線66は、とりわけ、アドレス回路132の列デコーダ133B(示される実施形態の詳細を曖昧にすることを避けるために、図1Hには図示せず)を使用することによって、検知モジュール90に結合することができる。
【0113】
読出動作の間、シーケンサ122は、MC信号ベクトル123のシーケンス(MCシーケンス126)を生成することができ、それにより、NVメモリセル10によってサポートされるそれぞれのメモリ状態に対応する様々な制御ゲート電圧を駆動するように電力制御回路136を構成することができる。様々な制御ゲート電圧は、それぞれのMC信号ベクトル123のタイミングおよび/または持続時間(シーケンサ構成データ140の対応するエントリ142によって定義されるような)に従って、特定の時間持続時間の間アサートすることができる。MC信号ベクトル123は、読出動作の間にビット線66上の伝導電流および/または電位を検出するようにならびに/あるいはビット線ラッチ92および/またはデータラッチ194内の対応するデータ値をラッチするように検知回路94(例えば、1つまたは複数の検知増幅器)をさらに構成することができる。ビット線66を検知することは、ビット線66上の検知された伝導電流および/または電圧レベルを1つまたは複数の閾値と比較すること、ならびに/あるいは、NVメモリセル10の決定された状態に対する2進符号化を決定すること(プロセッサ192を使用することによって)を含み得る。検知動作は、異なる電圧レベルでNVメモリセル10のワード線31を駆動すること(その一方で、他のNVメモリセル10を導電させるように構成された電圧レベルでそのような他のNVメモリセル10のワード線を駆動する)に応答してビット線66を検知することを含み得、各電圧レベルは、それぞれのメモリ状態に対応する。
【0114】
上記で開示されるように、シーケンサ122によって生成されたMC信号ベクトル123は、ワード線偏倚、ビット線検知および/または同様のもののタイミングを決定することができる。それに従って、MC信号ベクトルおよびシーケンサ構成データ140の対応するエントリ142の構成、タイミングおよび/または持続時間は、NVメモリアレイ171内の検知動作のタイミングを決定することができる。非限定的な例示として、読出動作の間に生成された信号ベクトル123は、ビット線66に結合されたそれぞれのワード線31上での決定された電位の生成を電力制御回路136に行わせるように構成された第1のMC信号ベクトル123を含み得る。第1のMC信号ベクトル123の持続時間は、シーケンサ構成データ140の対応するエントリ142によって指定される。第2のMC信号ベクトル123は、ビット線66上の伝導電流および/または電位を検出するように検知モジュール90を構成することができる(その一方で、電力制御回路136は、1つの第1のMC信号ベクトル123ごとにワード線を偏倚することを続ける)。従って、第1のMC信号ベクトル123の持続時間(シーケンサ構成データ140の対応するエントリ142によって定義されるような)は、とりわけ、読出動作の偏倚タイミング(所望の電位までワード線31を駆動するために認められている時間量)、読出動作の整定タイミング(例えば、電位がワード線31上で駆動された後にビット線を整定するために認められている時間量)などを決定することができる。前述の例では、第2のMC信号ベクトル123は、指定持続時間を有し得、指定持続時間の後、シーケンサは、第3のMC信号ベクトル123を生成することができ、それにより、検知モジュール90を解除することおよび/または次の検知動作のためにワード線31を異なる電圧レベルまで駆動するように電力制御回路136を構成することができる。第2のMC信号ベクトル123の持続時間(シーケンサ構成データ140の対応するエントリ142によって決定されるような)は、検知モジュール90によってビット線66を検知するために認められている時間を決定することができる。
【0115】
シーケンサ122によって生成された他のMC信号ベクトル123の構成、タイミングおよび/または持続時間は、本明細書で開示されるように、NVメモリアレイ171内で実装される読出動作の他の態様を決定することができる。偏倚タイミング、整定タイミング、検知タイミングおよび/または同様のものなどの読出動作タイミングは、本明細書で開示されるように、とりわけ、シーケンサ構成データ140を修正することによって(例えば、それぞれのワード線偏倚動作、検知動作および/または同様のものに対応するエントリ142を修正することによって)、調整することができる。そのような修正は、NVメモリ104の動作の間に、シーケンサ122および/またはダイ170を再設計および/または再製作することなく、行うことができる。
【0116】
プログラム動作は、プログラムされているNVメモリセル10の制御ゲート30に一連のプログラム電圧パルスを印加することを含み得る。各プログラム電圧パルスの後には、NVメモリセル10を所望のメモリ状態までプログラムすることに成功したかどうかを判断するために、検証動作(リードバックおよび/または検知動作)を続けることができる。プロセッサ192は、プログラム電圧パルスのシーケンスが完了した際(例えば、NVメモリセル10が目標のメモリ状態までプログラムされたことが検証された際)にそれを検出するために、検証動作をモニタすることができる。
【0117】
プログラム動作を実装することは、シーケンサ122が1つまたは複数のMC信号ベクトル123を生成することを含み得る。MC信号ベクトル123は、プログラムされているNVメモリセル10のワード線上で一連のプログラム電圧パルスを生成するように電力制御回路136を構成することができる。MC信号ベクトル123は、1つまたは複数の決定された電圧レベルまでプログラムされていないNVメモリセル10のワード線の駆動を電力制御回路136に行わせるようにさらに構成することができる(例えば、プログラム阻止電圧レベル)。MC信号ベクトル123は、それぞれのプログラム電圧パルスの構成、タイミングおよび/または持続時間を決定することができる。MC信号ベクトル123(およびシーケンサ構成データ140の対応するエントリ142)は、プログラム電圧パルスの持続時間、プログラム電圧パルスの幅、それぞれのプログラム電圧パルスと後続の検証動作との間の時間などを決定することができる。それに従って、プログラム動作のタイミングは、MC信号ベクトル123および対応するシーケンサ構成データ140によって決定することができ、従って、本明細書で開示されるように、シーケンサ構成データ140を修正することによって調整することができる。
【0118】
データラッチスタック194は、検知モジュール90に対応するデータラッチのスタックを含み得る。一実施形態では、データラッチスタック194は、1つの検知モジュール90あたり3つのデータラッチを含む。データラッチのスタックは、シフトレジスタとして実装することができ、その結果、その中に格納された並列データは、データバス197へのおよび/またはデータバス197からの通信のために直列データに変換される(その逆も同様)。検知ブロック135のデータラッチ194は、ブロックシフトレジスタを形成するためにリンクすることができ、それにより、データバス197を介する直列転送を介するデータのブロックの入力または出力が可能になる。
【0119】
いくつかの実施形態では、それぞれのブロック(例えば、消去ブロック)内のNANDストリング50は、共通のウェル(例えば、Pウェル)を共有することができる。NVメモリセル10に結合されたワード線31が接地され、ソース64および/またはビット線66がフローティング状態である一方で、それぞれのブロックのNVメモリセル10は、決定された期間の間、消去電位(Verase)までPウェルを引き上げることによって消去することができる。シーケンサ122は、とりわけ、ブロックのワード線31を接地し、かつ、ソース線64および/またはビット線66を減結合する(その結果、ソース線64および/またはビット線66がフローティング状態になる)ようにアドレス回路132、読出/書込回路134および/または電力制御回路136を構成するように適応させたMC信号ベクトル123を生成することによって、消去動作を実行することができる。MC信号ベクトル123は、ブロックの消去時間に対応し得る指定クロックサイクル数の間(例えば、共通のウェルの電位をVeraseまで引き上げるおよび/または決定された期間の間共通のウェルをVerase電圧レベルで維持するのに必要な時間)、上記で説明される構成にブロックを維持することができる。従って、MC信号ベクトル123(および/または対応するシーケンサ構成データ140)の構成、タイミングおよび/または持続時間は、NVメモリアレイ171内で実装される消去動作の消去タイミングを決定することができる。消去タイミングは、とりわけ、消去動作に対応するシーケンサ構成データ140を修正することによって、調整することができる。
【0120】
図1Eに戻ると、いくつかの実施形態では、メモリシステム101は、シーケンサ調整モジュール177を含み得る。シーケンサ調整モジュール177は、構成マネージャ127のコンポーネントであり得、メモリユニット129(例えば、非一時的な記憶装置106および/または揮発性メモリ124)内に格納されたシーケンサ構成データ140を管理するように構成することができる。シーケンサ調整モジュール177は、本明細書で開示されるように、とりわけ、使用条件、摩耗レベル、テスト条件、誤り率、ユーザの好み、コマンド、設定、パラメータおよび/または同様のものに応答してシーケンサ構成データ140を修正するように構成することができる。いくつかの実施形態では、シーケンサ調整モジュール177は、NVメモリ104内(例えば、ダイ170上)で実装することができる。あるいは、シーケンサ調整モジュール177は、システムコントローラ102および/またはホスト103によって実装することができる。
【0121】
シーケンサ調整モジュール177は、メモリシステム101内で実行されているメモリ動作をモニタするようにおよび/またはシーケンサ構成データ140を相応に調整するようにさらに構成することができる。いくつかの実施形態では、シーケンサ調整モジュール177は、NVメモリ104の摩耗レベルをモニタすることができる。シーケンサ調整モジュール177は、とりわけ、摩耗レベルの増加に応答して様々なメモリ動作のタイミングマージンを増加するために、シーケンサ構成データ140を調整するように構成することができる。タイミングマージンを増加することは、とりわけ、検知動作の間の前のビット線66の偏倚および整定のために認められている時間を増加するために、ワード線偏倚および/または検知動作に対応するエントリ142を修正すること、ビット線66を検知するために認められている時間を増加すること(次の動作に遷移する前に)および/または同様のものを含み得る。タイミングマージンを増加することは、とりわけ、そのようなパルスの持続時間および/または振幅を増加するために、とりわけ、プログラム動作の間に使用されるプログラム電圧パルスに対応するエントリ142を修正することをさらに含み得る。タイミングマージンを増加することは、消去動作に割り振られる時間を増加すること(例えば、NVメモリセル10のブロックの共通のウェルが消去電位(Verase)で維持される時間を増加すること)をさらに含み得る。その代替としてまたはそれに加えて、シーケンサ調整モジュール177は、とりわけ、読出および/または書込阻害の影響を低減するために、摩耗レベルの増加に応答して、ある特定の電圧信号の持続時間を低減するように構成することができる。
【0122】
シーケンサ調整モジュール177は、読出および/またはプログラム動作の誤り率などの他の条件に応答してシーケンサ構成データ140を修正するようにさらに構成することができる。シーケンサ調整モジュール177は、メモリ動作をモニタするようにおよび/または誤り率の増加を検出するように構成することができる。その代替としてまたはそれに加えて、シーケンサ調整モジュール177は、専用テスト動作(例えば、BISTモジュールによって実装されるテスト動作)に応答して、誤り率の増加を検出することができる。読出誤り率の増加を検出することに応答して、シーケンサ調整モジュール177は、本明細書で開示されるように、読出および/または検知メモリ動作のタイミングマージンを増加することができる。読出誤り率の増加を検出することは、読出動作をモニタすることおよび/またはモニタした読出動作の読出誤りの数および/または率を1つまたは複数の閾値と比較することを含み得る。シーケンサ調整モジュール177は、書込誤り率の増加を検出することに応答してシーケンサ構成データ140を修正するようにさらに構成することができる(例えば、書込動作をモニタすることおよび/またはモニタした書込動作の誤り率を1つまたは複数の閾値と比較することによって)。書込誤り率の増加に応答して、シーケンサ調整モジュール177は、本明細書で開示されるように、書込動作のタイミングマージンを増加するように構成することができる。メモリ動作のタイミングマージンを増加することは、本明細書で開示されるように、そのようなメモリ動作の待機時間を増加することを含み得る。
【0123】
別の実施形態では、シーケンサ調整モジュール177は、特定のNVメモリ素子112上および/または特定の物理的ゾーン182内で実装されるメモリ動作のためにシーケンサ構成データ140を調整するように構成することができる。上記で開示されるように、物理的ゾーン182は、同様の物理的特性を有するNVメモリ素子112を含み得る。一実施形態では、物理的ゾーン182(例えば、物理的ゾーン182D)は、NVメモリ104内のプロセスコーナーに対応し得る。「プロセスコーナー」は、NVメモリ104の回路とは異なる電気的特性を有する回路を指す。電気的特性の違いは、とりわけ、NVメモリ104の製作の間の変動(例えば、製作欠陥)に起因し得る。違いは、使用不可能な物理的ゾーン182D内でNVメモリ素子112をレンダリングするほど大幅なものではない場合がある。しかし、物理的ゾーン182DのNVメモリ素子112は、他の物理的ゾーン182A〜C内のNVメモリ素子112と比べて、性能の低下、信頼性の減少および/または高い誤り率を呈する場合がある。
【0124】
いくつかの実施形態では、シーケンサ構成データ140は、NVメモリ104の様々な領域における変動を補償するように適応させることができる。図1Eの実施形態では、シーケンサ調整モジュール177は、物理的ゾーン182Dと物理的ゾーン182A〜Cとの違いを検出するようにおよび/またはそのような違いを補償するためにシーケンサ構成データ140を調整するように構成することができる。シーケンサ調整モジュール177は、上記で開示されるように、それぞれの物理的ゾーン182A〜N内で実装される読出および/または書込動作(および/または対応する誤り率)をモニタすることに応答して、物理的ゾーン182Dが異なる特性を含むと判断することができる。シーケンサ調整モジュール177は、物理的ゾーン182D内で実装されたメモリ動作の誤り率の違いを検出することに応答して、物理的ゾーン182A〜C内で実装されたメモリ動作と比べておよび/またはそのような違いを1つまたは複数の閾値と比べて、物理的ゾーン182Dが異なるものであると判断することができる(例えば、違いが統計的に有意なものであるかどうかを判断するため)。異なる物理的ゾーン182Dを検出することに応答して、シーケンサ調整モジュール177は、異なる物理的ゾーン182D内での使用のための1つまたは複数の代替のエントリ142および/またはエントリシーケンス144を生成するように構成することができる。
【0125】
図1Cに示されるように、シーケンサ構成データ140は、複数のエントリシーケンス144A〜Nを含み得、その各々は、それぞれのメモリ動作タイプ(例えば、動作タイプ118A〜Nのうちの1つに対応し得る。いくつかの実施形態では、シーケンサ構成データ140は、NVメモリ104の異なる領域に対応するエントリシーケンス144を含むようにさらに構成することができる。代替のエントリ142および/またはエントリシーケンス144は、シーケンサ構成データ140(例えば、メモリユニット129、揮発性メモリ124および/または非一時的な記憶装置106に格納されるような)内で作成することができる。代替のエントリ142および/またはエントリシーケンス144は、オリジナルのエントリ142および/またはエントリシーケンス144のMC信号ベクトルとは異なる構成、タイミングおよび/または持続時間を有するMC信号ベクトル123に対応し得、他の物理的ゾーン182A〜C内で実行されるメモリ動作のオリジナルのタイミングマージンを維持する一方で、物理的ゾーン182D内で実行されるメモリ動作のタイミングマージンを増加するように構成することができる。
【0126】
図1Eに示されるように、特定のエントリ142および/またはエントリシーケンス144にメモリ動作108をマッピングするための関連性153は、動作タイプ118およびアドレス119に基づいて(図1Cで描写されるように動作タイプ118単独とは対照的に)そのようなマッピングを実装するように構成することができる。関連性153は、物理的ゾーン182A〜Cのうちの1つに対応するアドレス119を有するタイプ118Aのマッピング動作108をエントリシーケンス144A0(第1のエントリアドレス146A0および最後のエントリアドレス148A0を有する)と関連付けることができる。エントリシーケンス144A0は、タイプ118Aの動作のオリジナルのエントリシーケンス144Aに対応し得る。物理的ゾーン182Dに対応するアドレスを有する同じタイプ118Aのメモリ動作は、異なる第1のエントリアドレス146A1および最後のエントリアドレス148A1を有する異なるエントリシーケンス144A1にマッピングすることができる。同様に、物理的ゾーン182A〜Cのうちの1つに対応するアドレス119を有するタイプ118Bのメモリ動作108は、エントリシーケンス144B0にマッピングすることができる一方で、物理的ゾーン182Dをアドレス指定する同じタイプ118Bの動作は、代替のエントリシーケンス144B1にマッピングすることができる。上記で開示されるように、それぞれのエントリシーケンス144A0、144A1および144B0、144B1を含むエントリ142は異なるものであり得る。シーケンス144A1および/または144B1のエントリ142は、とりわけ、物理的ゾーン182D内のNVメモリ素子112の異なる特性(物理的ゾーン182A〜C内のNVメモリ素子112の特性と比べて)を補償するために、メモリ動作108の緩和されたタイミングを定義することができる。タイプ118Nのメモリ動作は、物理的ゾーン182Dと物理的ゾーン182A〜Nとの違いによる影響はそれほど著しいものではなく、従って、関連性153は、メモリ動作108のアドレス119にかかわらず、タイプ118Nのメモリ動作108を同じエントリシーケンス144Nにマッピングすることができる。
【0127】
追加のエントリシーケンス144は、NVメモリ104の設計および/または製作後にシーケンサ構成データ140に追加することができる。追加のシーケンサ構成データ140は、新しいコマンドおよび/または動作タイプ118に対応することならびに/あるいは既存のコマンドおよび/または動作の代替の実装形態(例えば、上記で開示されるような、代替のエントリ142および/またはエントリシーケンス144)を含むことができる。いくつかの実施形態では、シーケンサ調整モジュール177(および/または他のコンポーネント)は、シーケンサ構成データ140を生成するように構成することができる。シーケンサ構成データ140は、タイミング仕様、タイミング設計、タイミング波形および/または同様のもの(本明細書では、MCタイミング仕様と呼ばれる)から生成することができる。シーケンサ構成データ140を生成することは、MCタイミング仕様内の領域の順序付けられたシーケンスを識別することを含み得る。各領域は、本明細書で開示されるように、エントリシーケンス144のそれぞれのエントリ142に対応し得る。各領域は、MC信号(例えば、それぞれのMC信号ベクトル123)のそれぞれの状態に対応し得、それぞれの状態は、対応するエントリ142の信号データ143を定義することができる。各エントリ142は、タイミングデータ145をさらに含み得、タイミングデータ145は、領域の持続時間に対応し得る。各領域の持続時間は、それぞれの開始時刻からそれぞれの終了時刻まで及び得る。各領域の開始時刻は、シーケンスにおける以前の領域の終了時刻(またはシーケンスの第1の領域の時間0)に対応し得る。領域は、順序付けられたシーケンスに対応し得、MCタイミング仕様の開始時刻に対応する開始時刻を有する第1の領域から、MCタイミング仕様の最後のクロックサイクルに対応し得る最後の領域までを含む。従って、領域に対応するエントリ142は、エントリシーケンス144(例えば、第1のエントリ142Aおよび/または最後のエントリ142Nを含むエントリ142A〜Nの順序付けられたシーケンス)を含み得る。シーケンス144の第1のエントリ142Aは、a)MCタイミング仕様の各MC信号の状態を第1のエントリ142Aの信号データ143に記録すること、および、b)第1のエントリ142Aのタイミングデータ145を決定することによって定義することができ、第1のエントリ142Aのタイミングデータ145を決定することは、上記で開示されるように、領域の持続時間を決定すること(MC信号仕様のMC信号のいずれかが決定された信号データ143から外れる時刻として領域の終了時刻を決定すること)を含み得る。後続のエントリ142B〜Nは、MCタイミング仕様の後続の領域に対応し得、a)それぞれの領域の開始時刻におけるMCタイミング仕様の各MC信号の状態を定義する信号データ143を記録すること、および、b)領域に対応するタイミングデータ145を決定することによって決定することができる。エントリ142B〜Nに対応する領域の開始時刻は、シーケンスにおける以前のエントリ142A〜(N−1)の終了時刻に対応し得、その結果、エントリ142Bの開始時刻は、エントリ142Aの終了時刻に対応し、エントリ142Cの開始時刻は、エントリ142Bの終了時刻に対応するなどと続き、エントリ142Nの開始時刻は、エントリ142N−1の終了時刻に対応する。各エントリ142B〜Nの終了時刻は、上記で開示されるように、MC信号のいずれか1つが開始時刻に続いて状態を変化する時刻に対応し得る(各エントリ142B〜Nのタイミングデータ145は、対応する領域の終了時刻と開始時刻との差を含み得る)。エントリ142は、MCタイミング仕様によってカバーされる最後のクロックサイクルに対応する最後のエントリ142Nが定義されるまで、エントリシーケンス144に反復追加することができる。
【0128】
MCタイミング仕様から生成されたエントリ142A〜N(および/またはエントリシーケンス144)は、メモリシステム101に転送することができ、メモリシステム101に転送することは、エントリ142A〜N(および/またはエントリシーケンス144)をメモリユニット129(例えば、本明細書で開示されるような、メモリシステム101の非一時的な記憶装置106および/または揮発性メモリ124)に格納することを含み得る。エントリ142A〜Nは、特定のメモリコマンドおよび/またはメモリ動作(例えば、特定の動作タイプ118)に対応し得る。エントリ142A〜Nおよび/またはエントリシーケンス144をメモリシステム101に転送することは、特定の動作タイプ118をエントリ142A〜Nおよび/またはエントリシーケンス144と関連付けるために、上記で開示されるような関連性153のうちの1つまたは複数を修正することをさらに含み得る(例えば、特定の動作タイプ118をメモリユニット129内に格納されたエントリ142A〜Nのうちの1つまたは複数のエントリのアドレスおよび/またはアドレスオフセットにマッピングすることができる)。動作タイプ118は、シーケンサ122によって以前にサポートされなかった新しいタイプの動作および/またはコマンドに対応し得る。エントリ142A〜Nを転送することは、本明細書で開示されるように、エントリを1つまたは複数の物理的ゾーン182および/またはアドレスと関連付けることをさらに含み得る。エントリ142A〜Nを転送した後、シーケンサ122は、メモリコマンドおよび/または動作に応答してエントリ142A〜N(および/またはエントリシーケンス144)を実行するように構成することができる。それに従って、シーケンサ122の機能は、シーケンサ122を含むNVメモリ104の設計および/または製作後に修正することおよび/または拡張することができる。
【0129】
いくつかの実施形態では、エントリ142A〜N(および/またはエントリシーケンス144)は、ホスト103などの外部のコンピューティングデバイスにおいて生成することができる。エントリ142A〜N(および/またはエントリシーケンス144)は、コンピューティングデバイスにおいて動作しているアプリケーションおよび/またはプロセスによって生成することができ、アプリケーションおよび/またはプロセスは、非一時的なコンピュータ可読記憶媒体上に格納される命令として具体化することができる。エントリ142A〜Nおよび/またはエントリシーケンス144を転送することは、相互接続105を介してメモリシステム101にデータおよび/またはコマンド(例えば、ファームウェア更新コマンド)を送信することを含み得る。その代替としてまたはそれに加えて、エントリ142A〜N(および/またはエントリシーケンス144)は、メモリシステム101の1つまたは複数のコンポーネントによって生成することができる。いくつかの実施形態では、シーケンサ調整モジュール177は、上記で開示されるように、MCタイミング仕様からシーケンサ構成データ140を生成するように構成された回路および/または論理を含む。エントリ142A〜Nを生成することは、相互接続105を介してシーケンサ調整モジュール177にMCタイミング仕様を含むコマンドおよび/またはデータを送信することを含み得る。それに応答して、シーケンサ調整モジュール177は、上記で開示されるように、エントリシーケンス144を生成し、メモリシステム101のシーケンサ構成データ140を修正することができる。
【0130】
図2は、本明細書で開示されるように、ランダムアクセスメモリを使用してメモリ動作パルスを制御するための方法200の一実施形態のフロー図である。ステップ210は、NVメモリ104の制御回路120でNVメモリ104の特定の動作を実行することを求める要求を受信することを含み得る。制御回路120は、NVメモリ104のNVメモリ素子112と同じNVメモリ構造110内で具体化することができる(例えば、同じダイ、基板、パッケージ、チップおよび/または同様のもの内に配置することができる)。
【0131】
ステップ220は、メモリユニット129(例えば、揮発性メモリ124および/または非一時的な記憶装置106)から特定の動作に対応するタイミングエントリにアクセスすることを含み得る。ステップ220は、本明細書で開示されるように、メモリシステム101の初期化の間に揮発性メモリ124にシーケンサ構成データ140を投入すること(シーケンサ構成データ140を非一時的な記憶装置106から揮発性メモリ124に転送することによって)をさらに含み得る。
【0132】
ステップ230は、ステップ220でアクセスしたタイミングエントリを実装することを含み得る。ステップ230は、タイミングエントリの信号データ143によって指定された1つまたは複数のMC信号ベクトル123を生成することを含み得る。ステップ230は、決定されたクロックサイクル数の間、MC信号ベクトル123を生成することをさらに含み得る。クロックサイクル数は、タイミングエントリのタイミングデータ145から決定することができる。いくつかの実施形態では、タイミングデータ145は、仮数および指数を含み、クロックサイクル数を決定することは、仮数に指数を乗じること(例えば、m×Bを計算すること、mは仮数であり、eは指数であり、Bは2などの基数である)を含む。ステップ230は、特定の動作の少なくとも一部分を実装するようにオンダイ制御回路を構成するように適応させたオンダイMC信号を生成することを含み得る。ステップ230は、本明細書で開示されるように、NANDストリング50の1つまたは複数のワード線を偏倚するため、NANDストリングをソース線64(および/またはドレイン)に結合するため、ソース線64上で電位を駆動するため、NANDストリング50に結合されたビット線上の電流および/または電圧を検知するため、1つまたは複数のプログラム電圧パルスをNANDストリング50のNVメモリセルに印加するため(例えば、NANDページ51にわたって)、NANDストリング50上で検知されたデータをラッチするためならびに/あるいは同様のもののために、オンダイMC信号を生成することを含み得る。
【0133】
ステップ230は、一連のタイミングエントリを実装すること(例えば、MCシーケンス126を実装する)をさらに含み得る。ステップ230は、本明細書で開示されるように、タイミングエントリの実装の完了に応答して、メモリユニット129内の次のタイミングエントリにアクセスすること、動作が完了したことを次のタイミングエントリが示しているかどうかを判断することを含み得る(例えば、NOOPエントリ142、停止エントリ142、アイドルエントリ142および/または同様のものを含む)。
【0134】
図3は、本明細書で開示されるように、ランダムアクセスメモリを使用してメモリ動作パルスを制御するための方法300の別の実施形態のフロー図である。ステップ310は、NVメモリ104の制御回路120でNVメモリ104の特定の動作を実行することを求める要求を受信することを含み得る。
【0135】
ステップ320は、特定の動作と関連付けられたタイミングエントリのアドレスを決定することを含み得る。第1の反復では、ステップ320は、特定の動作(動作118A〜N)を対応するアドレス146A〜Nと関連付けることを含み得る。
【0136】
図4は、メモリシステム101の動作の間にシーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間を修正する(例えば、NVメモリ104の設計および/または製作後に)ための方法400の一実施形態のフロー図である。ステップ410は、メモリシステム101のシーケンサ構成データ140を修正することを含み得、メモリシステム101のシーケンサ構成データ140を修正することは、修正されたシーケンサ構成データ140をメモリユニット129(例えば、1つまたは複数の非一時的な記憶装置106および/または揮発性メモリ124内)に書き込むことを含み得る。ステップ410は、本明細書で開示されるように、使用条件、摩耗レベル、テスト条件、誤り率、ユーザの好み、コマンド、設定、パラメータおよび/または同様のものに応答して実装することができる。
【0137】
ステップ420は、シーケンサ122に通信可能に結合された揮発性メモリ124に修正されたシーケンサ構成データ140をロードすることを含み得る。ステップ420は、非一時的な記憶装置106内で維持されるシーケンサ構成データ140を揮発性メモリ124に投入すること(例えば、メモリシステム101の初期化の間に)をさらに含み得る。修正されたシーケンサ構成データ140は、1つまたは複数の修正されたエントリ142(例えば、修正されたシーケンサ命令)を含み得る。修正されたシーケンサエントリ142は、シーケンサ構成データ140の既存のエントリ142および/またはエントリシーケンス144によって定義された1つまたは複数のMC信号ベクトル123および/またはMCシーケンサ126の構成、タイミングおよび/または持続時間を変更することができる。ステップ420は、シーケンサ構成データ140の既存のエントリ142および/またはエントリシーケンス144を上書きすることおよび/または交換することを含み得る。あるいは、修正されたシーケンサ構成データ140は、1つまたは複数の新しいMCシーケンス126を定義することができ、1つまたは複数の新しいMCシーケンス126は、シーケンサ構成データ140に追加すること(既存の構成情報を上書きすることおよび/または交換することとは対照的に)ができる。ステップ420は、本明細書で開示されるように、新しいシーケンサエントリ142および/またはエントリシーケンス144を1つまたは複数のメモリ動作および/またはコマンドと関連付けることをさらに含み得る(例えば、関連性153において)。従って、ステップ420は、シーケンサ構成データ140において定義された(例えば、1つまたは複数のメモリユニット129、非一時的な記憶装置106、揮発性メモリ124、シーケンサ122および/または同様のもの内に格納されるような)関連性153を更新することを含み得る。
【0138】
ステップ430は、修正されたシーケンサ構成データ140を使用してMC信号ベクトル123および/またはMCシーケンス126を生成することを含み得る。ステップ430は、シーケンサ122がNVメモリ104内でメモリ動作を実行することを含み得る。本明細書で開示されるように、メモリ動作を実行することは、a)メモリ動作をメモリユニット129内に格納されたエントリ142(および/またはエントリシーケンス144などのエントリ142のシーケンス)と関連付けること、b)メモリユニット129からエントリ142をロードすること、および、c)エントリ142を実行することを含み得る。エントリ142を実行することは、エントリ142のタイミングデータ145によって指定されたクロックサイクル数の間、エントリ142の信号データ143に対応するMC信号ベクトル123をアサートすることを含み得る。エントリ142を実行することは、本明細書で開示されるように、メモリユニット129(例えば、揮発性メモリ124)から次のエントリ142をフェッチすることおよび/またはメモリ動作が完了するまで、メモリユニット129内に格納された後続のエントリ142を実行することをさらに含み得る。ステップ430でシーケンサによってアクセスおよび/または実行されるエントリ142は、修正されたシーケンサ構成データ140に対応し得、ステップ430でシーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間の修正(オリジナルの未修正のシーケンサ構成データ140に対応するMC信号ベクトル123と比べて)を含み得る。
【0139】
図5は、メモリシステム101の動作の間にシーケンサ122によって生成されたMC信号ベクトル123の構成、タイミングおよび/または持続時間を修正する(例えば、NVメモリ104の設計および/または製作後に)ための方法500の別の実施形態のフロー図である。ステップ510は、本明細書で開示されるように、メモリユニット129(例えば、非一時的な記憶装置106および/または揮発性メモリ124)内に格納されたシーケンサ構成データ140を使用してメモリ動作を実装することを含み得る。
【0140】
ステップ520は、シーケンサ構成データ140を調整および/または修正するかどうかを判断することを含み得る。ステップ520の判断は、本明細書で開示されるように、使用条件、摩耗レベル、テスト条件、誤り率、ユーザの好み、コマンド、設定、パラメータおよび/または同様のもののうちの1つまたは複数に基づき得る。ステップ520は、NVメモリ104内で実装されているメモリ動作をモニタすること(および/またはNVメモリ104内で専用テスト動作を実行すること)を含み得る。ステップ520は、NVメモリ104および/またはそれぞれの物理的ゾーン182A〜Dをモニタすること(例えば、誤り率、摩耗レベルおよび/または同様のものをモニタする)をさらに含み得る。ステップ520は、誤り率の増加(例えば、1つまたは複数の閾値を超える誤り率の増加を検出する)に基づいてシーケンサ構成データ140を修正すると決定することを含み得る。ステップ520は、1つまたは複数の閾値を超えるNVメモリ104の摩耗レベルに基づいてシーケンサ構成データ140を修正すると決定することをさらに含み得る。ステップ520は、相互接続105および/または107を介して受信されたシーケンサ構成データ140を修正することを求めるコマンドおよび/または要求に応答してシーケンサ構成データ140を修正すると決定することを含み得る。ステップ520は、特定の物理的ゾーン182に関するシーケンサ構成データ140を修正すると決定すること(例えば、物理的ゾーン182Dが1つまたは複数の他の物理的ゾーン182A〜Cとは異なる特性を有すると判断することに応答して)を含み得る。ステップ520の決定が、シーケンサ構成データ140を調整することである場合は、フローは、ステップ530を続行することができ、そうでない場合は、フローは、ステップ510に戻る(シーケンサ122は、メモリユニット129(例えば、揮発性メモリ124)内に格納されたオリジナルの未修正のシーケンサ構成データ140の実装を続けることができる)。
【0141】
ステップ530は、本明細書で開示されるように、修正されたシーケンサ構成データ140を生成するためにシーケンサ構成データ140を調整することを含み得る。ステップ530は、1つまたは複数のメモリコマンドの動作の間にシーケンサ122によって生成された1つまたは複数のMC信号ベクトル123の構成、タイミングおよび/または持続時間を修正するために、シーケンサ構成データ140のエントリ142および/またはエントリシーケンス144を調整することを含み得る。いくつかの実施形態には、修正することは、メモリ動作(および/またはその一部分)のタイミングマージンを緩和することを含み得、メモリ動作(および/またはその一部分)のタイミングマージンを緩和することは、そのようなメモリ動作の待機時間を増加することを含み得る。ステップ530は、本明細書で開示されるように、1つまたは複数の物理的ゾーン182A〜Dに関するシーケンサ構成データ140を調整することをさらに含み得、1つまたは複数の物理的ゾーン182A〜Dに関するシーケンサ構成データ140を調整することは、1つまたは複数の代替のエントリ142および/またはエントリシーケンス144を生成することならびに/あるいは1つまたは複数の物理的ゾーン182A〜Dに関するメモリコマンドを代替のエントリ142と関連付ける(その一方で、他の物理的ゾーン182A〜Dに関するメモリ動作は変化しないままである)ことを含み得る。
【0142】
ステップ530は、メモリユニット129(例えば、非一時的な記憶装置106および/または揮発性メモリ124)内で修正されたシーケンサ構成データ140を記録することをさらに含み得る。ステップ530は、メモリユニット129の非一時的な記憶装置106内に修正されたシーケンサ構成データ140を格納することを含み得る。ステップ530は、ステップ530で生成された修正されたシーケンサ構成データ140を揮発性メモリ124に投入する(例えば、修正されたシーケンサ構成データ140を不揮発性記憶装置106から揮発性メモリ124に転送する)ことをさらに含み得る。修正されたシーケンサ構成データ140は、メモリシステム101の初期化の間に転送することができる。その代替としてまたはそれに加えて、修正されたシーケンサ構成データ140は、メモリシステム101の動作の間に揮発性メモリ124に転送することができる(ステップ520でシーケンサ構成データ140を修正することに応答して)。ステップ530は、修正されたシーケンサ構成データ140が揮発性メモリ124に転送されている間、メモリ動作の実行を休止することを含み得る。ステップ530は、揮発性メモリ124に格納されたシーケンサ構成データ140を修正する前に、進行中のメモリ動作を完了することを可能にすることをさらに含み得る。
【0143】
ステップ530に続いて、フローは、本明細書で開示されるように、シーケンサ122がメモリユニット129(例えば、揮発性メモリ124)内に格納されたシーケンサ構成データ140を使用してメモリ動作を実装することを含み得るステップ510に戻って続行することができる。従って、ステップ510は、ステップ530でメモリユニット129内に投入された修正されたシーケンサ構成データ140を実装することを含み得る。
【0144】
図6は、MC信号のオンダイ制御のためのシステムの一実施形態を描写する概略システム図である。システム601は、制御手段620を含み得る。制御手段620は、NVメモリ611(例えば、NVメモリコア111、NVメモリアレイ171および/または同様のもの)を含むNVメモリ構造110上および/またはNVメモリ構造110内で具体化することができる。
【0145】
制御手段620は、NVメモリ611内でメモリ動作を実装するように構成することができる。制御手段620は、本明細書で開示されるように、制御回路120を含み得る。制御手段620は、シーケンサ命令(例えば、複数のエントリ142を含むシーケンサ構成データ140)を揮発性ランダムアクセスメモリ(RAM)に投入するための手段622を含み得る。各シーケンサエントリは、本明細書で開示されるように、それぞれのタイミングデータおよび/または信号データを含み得る。手段622は、本明細書で開示されるように、システムコントローラ102、非一時的な記憶装置106、制御回路120、シーケンサ122および/またはメモリユニット129のうちの1つまたは複数を含み得る。
【0146】
制御手段620は、NVメモリ611内でメモリコマンドを実行するための手段をさらに含み得る。制御手段620は、揮発性RAMからメモリコマンドに対応するシーケンサ命令をフェッチするための手段624を含み得る。手段624は、本明細書で開示されるように、制御回路120、シーケンサ122、メモリユニット129、メモリバス121、フェッチユニット152、復号ユニット154、実行ユニット156および/またはドライバ回路158のうちの1つまたは複数を含み得る。制御手段620は、フェッチされたシーケンサ命令に従ってMC信号を提供するための手段626をさらに含み得る。手段626は、本明細書で開示されるように、制御回路120、シーケンサ122、メモリユニット129、メモリバス121、フェッチユニット152、復号ユニット154、実行ユニット156および/またはドライバ回路158のうちの1つまたは複数を含み得る。
【0147】
この開示の態様は、装置、システム、方法、論理、プログラム可能論理、回路および/またはコンピュータプログラム製品(例えば、非一時的なコンピュータ可読記憶媒体上で格納されるおよび/または具体化される命令および/またはコード)として具体化することができる。それに従って、この開示の態様は、ハードウェア、ソフトウェア(ファームウェア、常駐ソフトウェア、ファームウェアマイクロコードまたは同様のものを含む)、ハードウェアとソフトウェアの組合せおよび/または同様のものの形態を取ることができる。従って、この開示の態様は、本明細書では、「回路」、「モジュール」、「要素」、「装置」、「システム」および/または同様のものと呼ぶことができる。
【0148】
それらの実装形態の独立性をより具体的に強調するため、この開示で説明される機能ユニットの多くは、モジュールとしてラベル付けされている。例えば、モジュールは、カスタムVLSI回路もしくはゲートアレイ、既製の半導体(論理チップ、トランジスタなど)または他の個別のコンポーネントを含むハードウェア回路として実装することができる。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラム可能アレイ論理、プログラム可能論理デバイスまたは同様のものなどのプログラム可能ハードウェアデバイスにおいて実装することができる。
【0149】
また、モジュールは、様々なタイプのプロセッサによる実行のためにソフトウェアにおいて少なくとも部分的に実装することもできる。実行可能コードの識別されたモジュールは、例えば、コンピュータ命令の1つまたは複数の物理的または論理的ブロックを含み得、コンピュータ命令の1つまたは複数の物理的または論理的ブロックは、例えば、オブジェクト、手順または機能として組織化することができる。それにもかかわらず、識別されたモジュールの実行可能コードは、物理的に一緒に配置する必要はないが、異なる場所に格納された全く異なる命令を含み得、論理的に一緒に結合されると、モジュールを含み、モジュールの述べられている目的を達成することができる。
【0150】
実際に、実行可能コードのモジュールは、単一の命令を含むかまたは多くの命令を含み得、いくつかのメモリデバイスにわたって、異なるプログラムの間で、いくつかの異なるコードセグメントにわたってまたは同様のもので分散することさえもできる。モジュールまたはモジュールの一部分がソフトウェアにおいて実装される場合には、ソフトウェア部分は、1つまたは複数のコンピュータ可読および/または実行可能記憶媒体上に格納することができる。1つまたは複数のコンピュータ可読記憶媒体のいかなる組合せも利用することができる。コンピュータ可読記憶媒体は、これらに限定されないが、例えば、電子、磁気、光学、電磁、赤外線もしくは半導体システム、装置もしくはデバイスまたは前述の適切な任意の組合せを含み得るが、伝播信号を含むことはない。この文書の文脈では、コンピュータ可読および/または実行可能記憶媒体は、命令実行システム、装置、プロセッサもしくはデバイスによるまたはそれらと関係する使用のためのプログラムを含むかまたは格納することができるいかなる有形および/または非一時的な媒体でもあり得る。
【0151】
動作、ステップを実行するためおよび/またはこの開示の態様を実装するためのコンピュータプログラムコードは、Python、Java(登録商標)、Smalltalk、C++、C#、Objective Cもしくは同様のものなどのオブジェクト指向プログラミング言語、「C」プログラミング言語などの従来の手続き型プログラミング言語、スクリプトプログラミング言語および/または他の同様のプログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで記載することができる。プログラムコードは、1つもしくは複数のユーザのコンピュータ上および/またはデータネットワークもしくは同様のものにわたるリモートコンピュータもしくはサーバ上で部分的にまたは全体的に実行することができる。
【0152】
コンポーネントは、本明細書で使用される場合は、有形の物理的な非一時的なデバイスを含む。例えば、コンポーネントは、カスタムVLSI回路、ゲートアレイもしくは他の集積回路、既製の半導体(論理チップ、トランジスタなど)または他の個別のデバイスならびに/あるいは他の機械または電気デバイスを含むハードウェア論理回路として実装することができる。また、コンポーネントは、フィールドプログラマブルゲートアレイ、プログラム可能アレイ論理、プログラム可能論理デバイスまたは同様のものなどのプログラム可能ハードウェアデバイスにおいて実装することができる。コンポーネントは、プリント基板(PCB)または同様のものの電線を通じて1つまたは複数の他のコンポーネントと電気通信する1つまたは複数のシリコン集積回路デバイス(例えば、チップ、ダイ、ダイ平面、パッケージ)または他の個別の電気デバイスを含み得る。本明細書で説明されるモジュールの各々は、ある実施形態では、その代替として、コンポーネントによって具体化するかまたはコンポーネントとして実装することができる。
【0153】
回路は、本明細書で使用される場合は、電流の1つまたは複数の通路を提供する1つまたは複数の電気および/または電子コンポーネントのセットを含む。ある実施形態では、回路が閉ループとなるように、回路は、電流の帰還路を含み得る。しかし、別の実施形態では、電流の帰還路を含まないコンポーネントのセットを回路と呼ぶことができる(例えば、開ループ)。例えば、集積回路が接地されていようがいまいが(電流の帰還路として)、集積回路を回路と呼ぶことができる。様々な実施形態では、回路は、集積回路デバイスの有無にかかわらず、集積回路の一部分、集積回路、集積回路のセット、非集積電気および/または電子コンポーネントのセットまたは同様のものを含み得る。一実施形態では、回路は、カスタムVLSI回路、ゲートアレイ、論理回路もしくは他の集積回路、既製の半導体(論理チップ、トランジスタなど)または他の個別のデバイスならびに/あるいは他の機械または電気デバイスを含み得る。また、回路は、フィールドプログラマブルゲートアレイ、プログラム可能アレイ論理、プログラム可能論理デバイスまたは同様のもの(例えば、ファームウェア、ネットリストまたは同様のもの)などのプログラム可能ハードウェアデバイスにおいて合成回路として実装することができる。回路は、プリント基板(PCB)または同様のものの電線を通じて1つまたは複数の他のコンポーネントと電気通信する1つまたは複数のシリコン集積回路デバイス(例えば、チップ、ダイ、ダイ平面、パッケージ)または他の個別の電気デバイスを含み得る。本明細書で説明されるモジュールの各々は、ある実施形態では、回路によって具体化するかまたは回路として実装することができる。
【0154】
この開示全体を通じて、「一実施形態」、「実施形態」または同様の言語への言及は、実施形態と関係して説明される特定の特徴、構造または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。従って、この明細書全体を通じて「一実施形態では」、「実施形態では」という記載および同様の言語の出現は、明示的に指定されていない限り、必ずしもすべてが同じ実施形態を指すわけではなく、「1つまたは複数の(ただし、すべてではない)実施形態」を意味する。「含む(including)」、「含む(comprising)」、「有する」という用語およびその変形例は、明示的に指定されていない限り、「これらに限定されないが、〜を含む」を意味する。アイテムの列挙されるリストは、明示的に指定されていない限り、アイテムのいずれかまたはすべてが相互排他的および/または相互包括的であることを含意しない。また、「a」、「an」および「the」という用語は、明示的に指定されていない限り、「1つまたは複数の」を指す。
【0155】
本開示の態様は、本開示の実施形態による方法、装置、システムおよびコンピュータプログラム製品の概略フローチャート図および/または概略ブロック図を参照して、以下で説明する。概略フローチャート図および/または概略ブロック図の各ブロックならびに概略フローチャート図および/または概略ブロック図におけるブロックの組合せは、コンピュータプログラム命令によって実装できることが理解されよう。これらのコンピュータプログラム命令は、マシンを生成するためにコンピュータのプロセッサまたは他のプログラム可能データ処理装置に提供することができ、その結果、プロセッサまたは他のプログラム可能データ処理装置を介して実行する命令は、概略フローチャート図および/または概略ブロック図の1つまたは複数のブロックで指定される機能および/または行為を実装するための手段を作成する。
【0156】
また、いくつかの代替の実装形態では、ブロックで述べられる機能は、図で述べられる順番以外の順番で起こり得ることにも留意すべきである。例えば、関与する機能に応じて、連続して示される2つのブロックを実際には実質的に同時に実行すること、または、ブロックを場合により逆の順番で実行することができる。示される図の機能、論理または1つもしくは複数のブロックへの効果あるいはその一部分において同等の他のステップおよび方法に着想することができる。フローチャートおよび/またはブロック図において様々な矢印のタイプおよび線のタイプを採用することができるが、それらは、対応する実施形態の範囲を制限しないものと理解されている。例えば、矢印は、描写される実施形態の列挙されるステップ間の不特定の持続時間の待機またはモニタ期間を示すことができる。
【0157】
本開示はさらに以下の各項目に関連する。
[項目1]
ダイ上で具体化される不揮発性メモリアレイと、
ダイ内で具体化されるシーケンサとを含むダイであって、前記不揮発性メモリアレイおよび前記シーケンサが、同じダイ内で具体化され、前記シーケンサが、
メモリユニットからそれぞれのメモリ動作に対応するシーケンサエントリを読み取ることと、
前記シーケンサエントリによって指定されたクロックサイクル数の間に前記シーケンサエントリに対応する制御信号を生成することであって、前記生成された制御信号が、前記それぞれのメモリ動作を実装するようにメモリ制御回路を構成する、前記生成することと、
を行うように構成される、ダイ。
[項目2]
前記シーケンサエントリが、タイマーフィールドおよび信号フィールドを含み、
前記メモリユニットから特定のシーケンサエントリを読み取ることに応答して、前記シーケンサが、前記特定のシーケンサエントリの前記タイマーフィールドによって指定されたクロックサイクル数の間に前記特定のシーケンサエントリの前記信号フィールドに対応する制御信号を生成するように構成される、項目1に記載のダイ。
[項目3]
前記シーケンサエントリが、指数および仮数を含み、
前記シーケンサが、前記シーケンサエントリの前記指数および仮数を使用することによってシーケンサエントリによって指定された前記クロックサイクル数を決定するように構成される、項目1に記載のダイ。
[項目4]
前記シーケンサが、前記シーケンサエントリによって指定された前記クロックサイクル数をm×2として計算するように構成され、mが、前記シーケンサエントリの前記仮数であり、eが、前記シーケンサエントリの前記指数である、項目3に記載のダイ。
[項目5]
前記シーケンサを前記メモリユニットに結合するように構成されたバスであって、タイミング領域および信号領域を有する前記バスを含み、
前記シーケンサエントリによって指定された前記クロックサイクル数が、前記バスの前記タイミング領域を介して伝達され、
前記シーケンサエントリに対応する制御信号が、前記バスの前記信号領域を介して伝達される、項目1に記載のダイ。
[項目6]
前記メモリユニットが、揮発性メモリ、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み出し専用メモリ、永続メモリ、非一時的な記憶媒体および不揮発性記憶媒体のうちの1つまたは複数を含む、項目1に記載のダイ。
[項目7]
前記シーケンサが、
前記メモリユニットからシーケンサエントリにアクセスするように構成されたフェッチ回路と、
前記シーケンサエントリによって指定されたクロックサイクル数の間に前記フェッチされたシーケンサエントリに対応する制御信号を生成するように構成された出力回路と
を含み、
前記フェッチ回路が、一連のシーケンサエントリの前記フェッチされたシーケンサエントリに続くシーケンサエントリを読み取るようにさらに構成される、項目1に記載のダイ。
[項目8]
前記シーケンサが、
前記フェッチ回路によってアクセスされたシーケンサエントリを構文解析するように構成された復号回路であって、前記フェッチ回路によってアクセスされた前記一連のシーケンサエントリの最後のシーケンサエントリを構文解析することに応答して、前記一連のシーケンサエントリの処理が完了したと判断するようにさらに構成された前記復号回路をさらに含み、
前記一連のシーケンサエントリを完了することが、制御信号ベクトルのシーケンスを生成することを含み、各制御信号ベクトルが、前記一連のシーケンサエントリの対応するシーケンサエントリによって指定されたクロックサイクル数の間に生成される、項目7に記載のダイ。
[項目9]
前記シーケンサが、状態マシン回路を含み、前記状態マシン回路が、
シーケンサ状態を維持するように構成された状態論理であって、前記シーケンサ状態が、複数のメモリ制御信号の出力状態を定義する、前記状態論理と、
前記状態論理によって維持される前記シーケンサ状態によって定義された前記複数のメモリ制御信号を出力するように構成された出力論理と、
前記メモリユニット内に格納されたシーケンサエントリに基づいて次のシーケンサ状態を決定し、前記状態論理が決定されたクロックサイクル数の間前記シーケンサ状態を維持することに応答して、前記状態論理を前記次のシーケンサ状態に遷移するように構成された次の状態論理と、
を含む、項目1に記載のダイ。
[項目10]
複数のシーケンサ命令を含む揮発性メモリであって、各シーケンサ命令が、タイマーデータおよび信号データを含む、前記揮発性メモリと、
複数の不揮発性メモリ素子および制御回路を含む半導体構造であって、前記制御回路が、メモリ制御信号に応答して、選択された不揮発性メモリ素子の動作を実装するように構成される、前記半導体構造と、
前記半導体構造の前記制御回路内で具体化されたシーケンサであって、前記メモリ内に格納されたシーケンサ命令を実行するように構成され、メモリ動作に関するシーケンサ命令を実行するため、
前記揮発性メモリから前記シーケンサ命令をロードすることと、
前記ロードされたシーケンサ命令のタイマーデータからサイクルカウントを決定することと、
前記決定されたサイクルカウントの間、前記ロードされたシーケンサ命令の信号データに従ってメモリ制御信号を出力することであって、前記シーケンサによって出力された前記メモリ制御信号が、前記半導体構造内の前記不揮発性メモリ素子のうちの1つまたは複数の前記メモリ動作の少なくとも一部分を実装するように構成される、出力することと、
を行うようにさらに構成された、前記シーケンサと、
を含む、システム。
[項目11]
前記ロードされたシーケンサ命令の前記タイマーデータが、指数値および仮数値を含み、
前記シーケンサが、m×Bを計算することによって前記サイクルカウントを決定するようにさらに構成され、mが前記仮数値であり、eが前記指数値であり、Bが基数である、項目10に記載のシステム。
[項目12]
前記半導体構造が、半導体基板、半導体ウエハ、半導体層、メモリチップ、メモリパッケージ、メモリダイ、フラッシュメモリダイ、NANDフラッシュダイおよびNORフラッシュダイのうちの1つまたは複数を含む、項目10に記載のシステム。
[項目13]
前記シーケンサを前記揮発性メモリに通信可能に結合するように構成されたバスであって、
前記バスの第1のセクションが、それぞれのシーケンサ命令のタイマーデータの通信のために指定され、
第1の領域とは異なる、前記バスの第2のセクションが、それぞれのシーケンサ命令の信号データの通信のために指定される、前記バスをさらに含む、項目10に記載のシステム。
[項目14]
不揮発性記憶装置場所から前記揮発性メモリに前記複数のシーケンサ命令を投入するように構成された構成マネージャをさらに含む、項目10に記載のシステム。
[項目15]
前記構成マネージャが、
修正されたシーケンサ命令を受信すること、および、
前記不揮発性メモリ素子の摩耗レベルおよび前記不揮発性メモリ素子の誤り率のうちの1つまたは複数に応答して、前記修正されたシーケンサ命令を生成することと、
のうちの1つまたは複数に応答して、前記修正されたシーケンサ命令を前記揮発性メモリおよび前記不揮発性記憶装置場所のうちの1つまたは複数に書き込むようにさらに構成される、項目14に記載のシステム。
[項目16]
前記シーケンサが、
決定されたシーケンサ命令アドレスから前記シーケンサ命令をロードすることと、
前記メモリ動作のオペコードおよび前記半導体構造内の前記メモリ動作の前記不揮発性メモリ素子のアドレスのうちの1つまたは複数に基づいて前記シーケンサ命令アドレスを決定することと、
を行うようにさらに構成される、項目10に記載のシステム。
[項目17]
前記シーケンサが、
前記決定されたシーケンサ命令アドレスでの第1のシーケンサ命令から最後のシーケンサ命令までの一連のシーケンサ命令を実行することと、
前記最後のシーケンサ命令のタイミングデータおよび前記最後のシーケンサ命令の信号データのうちの1つまたは複数に基づいて前記一連のシーケンサ命令の前記最後のシーケンサ命令を識別することと、
を行うようにさらに構成される、項目16に記載のシステム。
[項目18]
前記揮発性メモリ内に格納された第1のシーケンサ命令が、前記半導体構造の不揮発性メモリ素子の読出動作、書込動作および消去動作のうちの1つまたは複数に関するメモリ制御信号に対する第1のタイミングパラメータを含み、
前記システムが、
前記第1のシーケンサ命令の前記メモリ制御信号に対する修正されたタイミングパラメータを決定することと、
前記第1のタイミングパラメータを前記修正されたタイミングパラメータと交換するために、前記第1のシーケンサ命令を更新することと、
を行うように構成されたシーケンサ調整モジュールをさらに含み、
前記第1のシーケンサ命令を更新することが、前記揮発性メモリ内に格納された前記第1のシーケンサ命令の少なくとも一部分を上書きすること、および、前記制御回路のための不揮発性ファームウェア記憶装置内に格納された前記第1のシーケンサ命令の少なくとも一部分を上書きすること、のうちの1つまたは複数を含む、項目10に記載のシステム。
[項目19]
不揮発性(NV)回路構造内で具体化されたシーケンサ回路に通信可能に結合された揮発性ランダムアクセスメモリ(RAM)内に複数のシーケンサベクトルを含む構成データを格納することと、
前記NV回路構造のNVメモリセルの動作を実装することを求める要求に応答して、前記シーケンサ回路において前記揮発性RAM内に格納された一連のシーケンサベクトルを実装することと
を含む方法であって、
前記一連のシーケンサベクトルを実装することが、
前記揮発性RAMから前記一連のシーケンサベクトルの第1のシーケンサベクトルを含むデータ単位を転送することと、
前記揮発性RAM内に格納された前記シーケンサベクトルに対して決定されたレイアウトに従って前記データ単位のビット値を解釈することであって、第1のビット値が出力信号ベクトルを含み、第2のビット値が仮数を含み、第3のビット値が指数を含む、解釈することと、
前記第1のシーケンサベクトルを実行することであって、
決定されたクロックサイクル数の間に前記第1のシーケンサベクトルの前記出力信号ベクトルに対応するオンダイメモリ制御信号を生成することであって、前記オンダイメモリ制御信号が、前記メモリ動作の少なくとも一部分の実装を前記制御回路の1つまたは複数の機能モジュールに行わせるように構成される、前記生成することを含み、
前記決定されたクロックサイクル数が、m×2として計算され、mが前記仮数であり、eが前記第1のシーケンサベクトルの前記指数である、前記実行することと、
前記第1のシーケンサベクトルの実行の完了に応答して、前記一連のシーケンサベクトルの次のシーケンサベクトルを処理することと、
を含む、方法。
[項目20]
前記オンダイメモリ制御信号が、
前記NVメモリアレイの選択されたワード線上に指定電位を生成するように構成されたチャージポンプ回路、
前記NVメモリアレイの選択されたビット線上に指定電位を生成するように構成されたドライバ回路、
前記NVメモリアレイの選択されたNVメモリセルにプログラム電圧パルスを印加するように構成されたパルス生成回路、および、
前記NVメモリアレイの選択されたビット線を検知するように構成された検知回路、
のうちの1つまたは複数の動作を制御するように構成される、項目19に記載の方法。
[項目21]
メモリ動作とそれぞれのデータ単位アドレスとの間の関連性に基づいて前記一連のシーケンサベクトルの前記第1のシーケンサベクトルを含む前記データ単位に対するアドレスを決定することと、
前記決定されたデータ単位アドレスから前記第1のシーケンサベクトルを含む前記データ単位を転送することと、
前記決定されたデータ単位アドレスに続く次のデータ単位アドレスから前記一連のシーケンサベクトルの前記次のシーケンサベクトルを含むデータ単位を読み取ることと、
をさらに含む、項目19に記載の方法。
[項目22]
初期化動作の間に不揮発性記憶装置場所から前記揮発性RAMに前記シーケンサベクトルを含む前記構成データをロードすることと、
修正されたシーケンサベクトルを受信することと、
前記揮発性メモリおよび前記不揮発性記憶装置場所のうちの1つまたは複数に前記修正されたシーケンサベクトルを書き込むことと、
をさらに含み、
前記修正されたシーケンサベクトルを書き込むことが、
前記構成データにおいて前記第1のシーケンサベクトルを前記修正されたシーケンサベクトルと交換することと、
前記修正されたシーケンサベクトルを前記構成データに追加することと、
のうちの1つまたは複数を含む、項目21に記載の方法。
[項目23]
それぞれのアドレスで複数のシーケンサタイミングベクトルを揮発性ランダムアクセスメモリ(RAM)に格納するための手段であって、各シーケンサタイミングベクトルが、それぞれのタイミングデータおよび制御信号データを有する、前記格納するための手段と、
不揮発性メモリ上でメモリコマンドを実行するための手段であって、前記不揮発性メモリの不揮発性メモリセルを含むメモリ構造内で具体化される、手段であり、
前記メモリコマンドを前記揮発性RAMのアドレスと関連付けることと、
前記メモリコマンドと関連付けられた前記アドレスからシーケンサタイミングベクトルをフェッチすることと、
前記シーケンサタイミングベクトルを実装することであって、
前記シーケンサタイミングベクトルの前記タイミングデータに含まれる仮数および指数を使用することによって前記シーケンサタイミングベクトルに対するタイミングパラメータを決定することと、
前記決定されたタイミングパラメータに従って前記シーケンサタイミングベクトルの前記制御信号データに対応する制御タイミング信号をコマンド実行回路に提供することであって、前記制御タイミング信号が、前記不揮発性メモリの1つまたは複数の不揮発性メモリセル上での前記メモリコマンドの少なくとも一部分の実行を前記コマンド実行回路に行わせるように構成される、提供することと
を含む、前記実装することと
を含む、前記実行するための手段と
前記揮発性RAMの次のアドレスから次のシーケンサタイミングベクトルをフェッチするための手段と、
前記次のシーケンサタイミングベクトルのタイミングデータおよび前記次のシーケンサタイミングベクトルの制御信号データのうちの1つまたは複数に基づいて前記不揮発性メモリ上での前記メモリコマンドの実行が完了しているかどうかを判断するための手段と、
前記不揮発性メモリ上での前記メモリコマンドの実行が完了していないと判断することに応答して前記次のシーケンサタイミングベクトルを実装するための手段と、
を含む、システム。
図1A
図1B
図1C
図1D
図1E
図1F
図1G
図1H
図2
図3
図4
図5
図6