(57)【要約】【課題】自己演算機能を備えたメモリシステムを実現すること。【解決手段】実施形態にかかる演算制御装置は、複数のメモリセルを含むメモリセルアレイと前記メモリセルアレイに対するアクセスを制御するコントローラとを含むメモリチップを用いた演算を制御する演算制御装置であって、前記メモリセルアレイにおける第１セルに近接する第２セルに第１の値を書き込むように前記コントローラへ要求する第１書込手段と、前記第２セルに前記第１の値が書き込まれた後に前記第１セルから第２の値を読み出すように前記コントローラへ要求する第１読出手段と、を備えてもよい。【選択図】図１１
2015170368.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含むメモリセルアレイと前記メモリセルアレイに対するアクセスを制御するコントローラとを含むメモリチップを用いた演算を制御する演算制御装置であって、
前記メモリセルアレイにおける第１セルに近接する第２セルに第１の値を書き込むように前記コントローラへ要求する第１書込手段と、
前記第２セルに前記第１の値が書き込まれた後に前記第１セルから第２の値を読み出すように前記コントローラへ要求する第１読出手段と、
を備えた演算制御装置。
【請求項２】
前記第１セルは、第１配線に接続された１つ以上のメモリセルであり、
前記第２セルは、前記第１配線に隣接する第２配線に接続された１つ以上のメモリセルであり、
前記第１書込手段は、配線単位で前記第１の値の書き込みを要求し、
前記読出手段は、配線単位で前記第２の値の読み出しを要求する、
請求項１に記載の演算制御装置。
【請求項３】
前記第２配線は、前記第１配線を挟むように隣接する２つの配線であり、
前記第１書込手段は、前記２つの第２配線のうち一方に前記第１の値を書き込むように要求する第２書込手段と、前記２つの第２配線のうち他方に前記第１の値と同じまたは異なる第３の値を書き込むように要求する第３書込手段とを含む、
請求項２に記載の演算制御装置。
【請求項４】
前記第１配線は、前記第２配線を挟むように隣接する２つの配線であり、
前記第１読出手段は、前記２つの第１配線のうち一方から前記第２の値を読み出すように要求する第２読出手段と、前記２つの第１配線のうち他方から第３の値を読み出すように要求する第２読出手段とを含む、
請求項２に記載の演算制御装置。
【請求項５】
前記第１および第２配線は、ワードラインまたはビットラインである請求項２に記載の演算制御装置。
【請求項６】
前記第２セルに前記第１の値が書き込まれる前に前記第１セルに第３の値を書き込むように前記コントローラへ要求する第２書込手段をさらに備える請求項１に記載の演算制御装置。
【請求項７】
前記第２セルは、前記メモリセルアレイにおいて前記第１セルの隣に位置する隣接セル、または、前記隣接セルの隣に位置する近接セルである、請求項１に記載の演算制御装置。
【請求項８】
外部からの入力データを前記第１の値に変換する第１変換手段と、
前記第１読出手段が読み出した第２の値を変換する第２変換手段と、
をさらに備える請求項１に記載の演算制御装置。
【請求項９】
請求項１に記載の演算制御装置と、
前記メモリチップと、
外部に対してデータを入出力するインタフェースと、
を備えるメモリシステム。
【請求項１０】
請求項９に記載のメモリシステムと、
センサと、
ディスプレイと、
を備え、
前記センサおよび前記ディスプレイは、前記インタフェースを介して前記メモリシステムと接続され、
前記第１書込手段は、前記センサより入力された検出結果を前記第１の値として前記第２セルに書き込むように前記コントローラへ要求する、
情報処理装置。
【請求項１１】
複数のメモリセルを含むメモリセルアレイを含むメモリチップを用いた演算を制御する演算制御方法であって、
前記メモリセルアレイにおける第１セルに第１の値を書き込み、
前記第１の値が書き込まれた前記第１セルに隣接または近接する第２セルから第２の値を読み出す、
ことを含む演算制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、演算制御装置、それを備えたメモリシステム、情報処理装置、および、演算制御方法に関する。
【背景技術】
【０００２】
近年、半導体微細化技術の発展に伴い、軽量で、高速で、低消費電力でさらに大容量な不揮発メモリシステムの市場が大幅に拡大している。また、大容量メモリシステムに対するその他のニーズとして、データ記録以外の機能への展開が非常に重要になってきている。例えば今までのデータ演算は、基本的にはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの専用演算機がソフトウェアを経由して実行するものであり、メモリはデータ演算以外の単純なデータ記録や読出の用途に用いられていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２１２１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の実施形態では、演算が可能な演算制御装置、それを備えたメモリシステム、情報処理装置、および、演算制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態にかかる演算制御装置は、複数のメモリセルを含むメモリセルアレイと前記メモリセルアレイに対するアクセスを制御するコントローラとを含むメモリチップを用いた演算を制御する演算制御装置であって、前記メモリセルアレイにおける第１セルに近接する第２セルに第１の値を書き込むように前記コントローラへ要求する第１書込手段と、前記第２セルに前記第１の値が書き込まれた後に前記第１セルから第２の値を読み出すように前記コントローラへ要求する第１読出手段と、を備えてもよい。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態１にかかる不揮発メモリチップにおいて同一ワードラインにあるセル間でのセル間干渉作用を説明するための模式図である。
【図２】図２は、実施形態１にかかる不揮発メモリチップにおいて異なるワードライン間でのセル間干渉作用を説明するための模式図である。
【図３】図３は、実施形態１にかかる不揮発メモリチップにおいて異なるワードライン間でのセル間干渉作用による閾値分布のシフトを説明するための模式図である。
【図４】図４は、実施形態１において３ビットで動作するセルの閾値分布を示す模式図である。
【図５】図５は、実施形態１においてあるワードライン上の第１セル（被干渉セル）に対して与干渉セルとなる第２セルに書き込まれたビット値に応じてシフトする第１セルの閾値分布の実測データを示すグラフである。
【図６】図６は、実施形態１で例示する干渉用パターンの第１例を示す図である。
【図７】図７は、実施形態１で例示する干渉用パターンの第２例を示す図である。
【図８】図８は、実施形態１で例示する干渉用パターンの第３例を示す図である。
【図９】図９は、図６〜図８の与干渉パターンそれぞれで得られたセル間干渉効果の実測結果を示すグラフである。
【図１０】図１０は、実施形態１にかかるセル間干渉を利用した演算による入力データと出力データの関係を示すグラフである。
【図１１】図１１は、実施形態１にかかる自己演算メモリチップを具備するメモリシステムの一例を示す概略構成図である。
【図１２】図１２は、実施形態１にかかる演算動作の一例を示すフローチャートである。
【図１３】図１３は、実施形態１における演算用メモリ領域の第１使用例を示す模式図である。
【図１４】図１４は、実施形態１における演算用メモリ領域の第２使用例を示す模式図である。
【図１５】図１５は、実施形態１における演算用メモリ領域の第３使用例を示す模式図である。
【図１６】図１６は、実施形態１におけるメモリ領域に対する演算用メモリ領域の配置例を示す模式図である。
【図１７】図１７は、実施形態１におけるデータ記憶と演算処理とが混在する場合の動作シーケンスの一例を示す概念図である。
【図１８】図１８は、実施形態２にかかる情報処理装置の一例を示す概略構成図である。
【発明を実施するための形態】
【０００７】
以下、添付図面を参照しながら、例示する実施形態にかかる演算制御装置、それを備えたメモリシステムおよび演算制御方法を詳細に説明する。
【０００８】
（実施形態１）
まず、実施形態１に係る演算制御装置、それを備えたメモリシステム、情報処理装置、および、演算制御方法について、図面を参照しながら詳細に説明する。実施形態１で例示するメモリシステムは、メモリチップのセル間干渉効果を利用して演算機能を実現する自己演算メモリシステムである。すなわち、あるセルへのデータの書き込みは、それに隣接するメモリセル（以下、単にセルという）の閾値分布をシフトさせる。そこで、隣接セル群に対する書込み動作シーケンスをデザインすることで、第１セルの閾値レベルと第２セルの閾値分布のシフトとの相関を利用した演算式を実現することができる。なお、第１セルおよび第２セルは、それぞれ単一セルであってもよいし、複数のセルであってもよい。また、複数のセルである場合は、それぞれ隣接するワードライン上に並ぶセル群であってもよいし、隣接するビットライン上に並ぶセル群であってもよいし、平面的な領域で区切られる特定の範囲に含まれるセル群であってもよい。
【０００９】
まず、実施形態１にかかる自己演算機能のメカニズムについて、図面を参照しながら詳細に説明する。図１は、不揮発メモリチップにおいて、同一ワードラインにあるセル間でのセル間干渉作用を説明するための模式図である。たとえば、メモリチップにおけるあるセル（第１セル）に対し、これに近隣しないセル（第２セル）に書き込みをした場合、セル間干渉効果は無視することができる。これに対し、第１セルに近接する第２セルに書き込みをした場合、第１セルが干渉を受けるセル（以下、これを被干渉セル（Ｖｉｃｔｉｍ  Ｃｅｌｌ）という）となり、第２セルが干渉を与えるセル（以下、これを与干渉セル（Ａｔｔａｃｋｅｒ  Ｃｅｌｌ）という）となって、セル間干渉が起こる。その結果、第１ｓ流（被干渉セル）の閾値電圧値がシフトする。たとえば図１に示すように、同一ワードラインＷＬ（ｎ）における奇数配列位置（たとえば各ビットラインＢＬ（ｍ−１）、（ｍ＋１）、（ｍ＋３）および（ｍ＋５）とのクロスポイント）にあるセル（第１セル）のみを書き込みした場合には、セル間干渉効果は無視することができる程度である。これに対し、奇数配列位置にある第１セルに加え、偶数配列位置（たとえば各ビットラインＢＬ（ｍ）、（ｍ＋２）、（ｍ＋４）および（ｍ＋６）とのクロスポイント）にあるセル（第２セル）にも書き込みをした場合には、偶数配列位置にある第２セルが与干渉セルとなって奇数配列位置にある第１セル（被干渉セル）の閾値をシフトさせる。
【００１０】
また、図２は、不揮発メモリチップにおいて、異なるワードライン間でのセル間干渉作用を説明するための模式図である。なお、図２では、同一ワードラインにおけるセル間干渉作用を考慮から外すために、各ワードラインにおける奇数配列位置にあるセルに対してのみ書き込みを行った場合を示している。図２に示すように、近接するセルが異なるワードライン上にある場合も同様に、たとえばワードラインＷＬ（ｎ）における（第１セル）に加え、これと近接するワードラインＷＬ（ｎ＋１）におけるセル（第２セル）にも書き込みをした場合には、ワードラインＷＬ（ｎ＋１）の第２セルが与干渉セルとなってワードラインＷＬ（ｎ）の第１セル（被干渉セル）の閾値をシフトさせる。
【００１１】
つづいて、異なるワードライン間でのセル間干渉作用による閾値分布のシフトについて、図面を用いて詳細に説明する。図３は、不揮発メモリチップにおいて、異なるワードライン間でのセル間干渉作用による閾値分布のシフトを説明するための模式図である。まず、図３（ａ）に示すように、全てのセルのデータを消去した後、ワードラインＷＬ（ｎ）における隣接していないセル（たとえば奇数配列位置にあるセル（第１セル）に書き込みをした場合、書き込みがなされたセルから抽出される閾値分布は、図３（ｂ）のようになる。つぎに、図３（ｃ）に示すように、ワードラインＷＬ（ｎ）と近接するワードラインＷＬ（ｎ＋１）において第１セルと隣接するセル（第２セル）に書き込みをした場合、図３（ｄ）に示すように、被干渉セルとなる第１セルの閾値分布が全体的に高い方向へシフトする。このシフト量は、書き込み時の動作シーケンスの設計によって制御可能である。
【００１２】
また、図４は、３ビットで動作するセルの閾値分布を示す模式図である。図４に示すように、３ビットのセルでは、閾値分布を８つの分布に区切ることができる。各分布は、たとえばビット値に応じて、それぞれ消去（ｅ）レベル、Ａレベル、Ｂレベル、Ｃレベル、Ｄレベル、Ｅレベル、ＦレベルおよびＧレベルと定義することができる。なお、演算精度の向上を目的として、上記８つのレベルの一部を利用してもよい。その一例としては、たとえばＡレベル、Ｃレベル、ＥレベルおよびＧレベルの４つのレベルが演算用に使用される。これにより、各レベルに対するマージンを大きくすることが可能となり、その結果、演算精度を向上することができる。
【００１３】
図５は、あるワードライン（これをワードラインＷＬ１６とする）上の第１セル（被干渉セル）に対して与干渉セルとなる第２セル（これをワードラインＷＬ１７上のセルとする）に書き込まれたビット値に応じてシフトする第１セルの閾値分布の実測データを示すグラフである。なお、図５に示す実測データは、まず全てのセルのデータを消去し、つぎにワードラインＷＬ１６に特定パターン（被干渉パターン）｛ｅｅＡｅｅｅＡｅ｝を書き込みし、その後、ワードラインＷＬ１７に特定パターン（与干渉パターン）｛ｅｅＸｅｅｅＸｅ｝を書き込みする動作シーケンスによって得られたワードラインＷＬ１６上の各第１セル（被干渉セル）のビット数の平均値である。ただし、平均値に限らず、複数回の演算を実行することで得られた値の統計値であってもよいし、セル単体の値であってもよい。
【００１４】
また、図５において、ワードラインＷＬ１６上の第１セル（被干渉セル）は、Ａレベルが書き込まれたセルである。さらに、図５において、“ｅ”は消去レベルを示し、“Ａ”〜“Ｆ”はそれぞれＡレベル〜Ｆレベルを示している。また、“Ｘ”は、消去レベル“ｅ”からＧレベルまでを指定可能な変数である。
【００１５】
図５に示すように、書き込まれるデータがたとえば１Ｂｙｔｅのデータ（Ａ）である場合、ワードラインに書き込みする際には、この１Ｂｙｔｅのデータ（Ａ）は、１つのワードライン上で消去レベルの無視可能なセルを挟んで繰り返えされる１ワードラインのデータ（特定パターン｛ｅｅＡｅｅｅＡｅ｝）に転換される。このデータ｛ｅｅＡｅｅｅＡｅ｝をワードラインＷＬ１６に書き込んだ結果は、ワードラインＷＬ１７上の与干渉セルに書き込まれた値（Ｘ）に応じて閾値分布がシフトすることにより変化する。
【００１６】
つぎに、与干渉セル（第２セル）のワードライン上の配置パターン（与干渉パターン）によって変化するセル間干渉効果について説明する。図６〜図８は、実施形態１で例示する干渉用パターンの例である。図９は、図６〜図８の与干渉パターンそれぞれで得られたセル間干渉効果の実測結果を示すグラフである。なお、図６〜図８では、被干渉セル（第１セル）のワードライン上の配置パターン（被干渉パターン）として、共通の特定パターン｛ｅｅＡｅｅｅＡｅ｝を用いた。また、図６〜図８では、被干渉パターンが書き込まれたワードライン（これを被干渉ワードラインという）と隣り合う１つのワードライン（これを予干渉ワードラインという）に対して予干渉パターンを書き込んだ場合を示す。
【００１７】
図６は、被干渉セル（被干渉パターン｛ｅｅＡｅｅｅＡｅ｝におけるＡが書き込まれたセル）に対して最も近接するセル（これを第１近接セルという）が予干渉セルとなる予干渉パターンａ｛ｅｅＸｅｅｅＸｅ｝を予干渉ワードラインに書き込んだ場合を示す。図７は、予干渉ワードライン上で第１近接セルと隣り合う２つのセル（これを第２近接セルという）が予干渉セルとなる予干渉パターンｂ｛ｅＸｅＸｅＸｅＸ｝を書き込んだ場合を示す。図８は、予干渉ワードライン上のセル全てが予干渉セルとなる予干渉パターンｃ｛ＸＸＸＸＸＸＸＸ｝を書き込んだ場合を示す。
【００１８】
図９に示すように、全ての予干渉パターンａ〜ｃに関し、予干渉セルの値Ｘを大きくすることで、被干渉セルの閾値分布のシフト量を大きくすることができる。また、図６〜図８に示す予干渉パターンａ〜ｃのうち、予干渉パターンｂに比べて、予干渉パターンａおよびｃでの閾値分布のシフト量が比較的大きい。これは、第１近接セルが被干渉セルに与える影響が、第２干渉セルよりも非常に大きいためであると考えられる。なお、予干渉パターンａ〜ｃのなかでは、全てのセルが予干渉セルとなる予干渉パターンｃでの閾値分布のシフト量が最も大きかった。
【００１９】
図１０は、セル間干渉を利用した演算による入力データと出力データの関係を示すグラフである。なお、図１０では、入力データを与干渉データ｛ｅｅＸｅｅｅＸｅ｝とし、入力データを与干渉ワードラインに書き込んだ後に被干渉ワードラインから読み出された値を出力データとする。図１０に示すように、与干渉データ｛ｅｅＸｅｅｅＸｅ｝における値Ｘを入力データとして与干渉ワードライン（たとえばワードラインＷＬ（ｎ＋１））に書き込んだ後、被干渉ワードライン（たとえばワードラインＷＬ（ｎ））から閾値分布あるいは閾値シフト量（Ｙ）を読み出した場合、その結果（Ｙ）は、以下の式（１）で求められる演算結果と同じである。なお、以下の式（１）におけるａおよびｂは、それぞれ定数である。
Ｙ＝ａＸ＋ｂ      …（１）
【００２０】
このように、入力データ（Ｘ）に対して出力データ（Ｙ）が依存性を有することから、パラメータａおよびｂを予め求めておくことで、演算機能を備えた自己演算型のメモリチップを実現することができる。
【００２１】
つづいて、実施形態１にかかる自己演算メモリチップを具備するメモリシステムについて、図面を参照して詳細に説明する。図１１は、実施形態１にかかる自己演算メモリチップを具備するメモリシステムの一例を示す概略構成図である。図１１に示すように、メモリシステム１００は、演算用コントローラ１１０と、メモリチップ１２０と、データ入出力用のインタフェース１３０とを備える。メモリチップ１２０は、複数のセルが２次元配列したメモリセルアレイを含むメモリ領域１２２と、メモリ領域１２２に対するアクセスを制御するメモリチップコントローラ１２１とを有している。なお、図１１では、メモリ領域１２２が演算用メモリ領域１２３を含むようの構成されているが、これに限らず、演算用メモリ領域１２３と通常のメモリ領域とに区別されていなくともよい。
【００２２】
演算用コントローラ１１０は、入力データ（Ｘ）が入力されると、演算用のデータ（以下、演算式データ（Ｆ）という）の特定と、演算に使用するデータアドレスの配置と、演算用の書込み動作シーケンス（以下、演算シーケンスという）の選択とを実行する。これらの情報は、演算用コントローラ１１０からメモリチップコントローラ１２１に転送される。なお、演算に使用するデータアドレスには、たとえば演算式データ（Ｆ）の格納先となるアドレス領域（以下、被干渉ワードラインとする）の指定と、入力データ（Ｘ）の格納先となるアドレス領域（以下、与干渉ワードラインとする）の指定とが含まれている。
【００２３】
メモリチップコントローラ１２１は、入力された演算シーケンスに従って、演算用コントローラ１１０から入力された演算式データ（Ｆ）を演算用メモリ領域１２３における被干渉ワードラインに格納し、次いで入力データ（Ｘ）を同じく演算用メモリ領域１２３における与干渉ワードラインに格納し、その後、被干渉ワードラインから値を出力データ（Ｙ）として読み出す。これにより、演算式データ（Ｆ）で演算された結果としての出力データ（Ｙ）が取り出される。
【００２４】
なお、使用する演算式データ（Ｆ）が決まっている場合には、その演算式データ（Ｆ）を予め被干渉ワードラインに格納しておいてもよい。その場合、演算用コントローラ１１０は、入力データ（Ｘ）を格納するアドレス領域（与干渉ワードライン）の配置と、演算シーケンスの選択とを実行すればよい。メモリチップコントローラ１２１は、入力された演算シーケンスに従って、入力データ（Ｘ）をそのまま与干渉ワードラインに入力し、次いで演算式データ（Ｆ）が格納された被干渉ワードラインから値を読み出すことで、その演算式データ（Ｆ）で演算された結果としての出力データ（Ｙ）が取り出される。
【００２５】
図１２は、実施形態１にかかる演算動作の一例を示すフローチャートである。図１２に示すように、実施形態１にかかる演算動作では、まず、インタフェース１３０を介して入力データ（Ｘ）を入力すると（ステップＳ１０１）、演算用コントローラ１１０が入力データ（Ｘ）を演算用データ（Ｘ）に転換する（ステップＳ１０２）。なお、演算用データ（Ｘ）は、たとえば｛ｅｅＸｅｅｅＸｅ｝や｛ｅＸｅＸｅＸｅＸ｝や｛ＸＸＸＸＸＸＸＸ｝などの特定パターンであってよい。この際、データ記録用の動作シーケンス、データアドレスおよびデータ転換ルールと、演算用の動作シーケンス（演算シーケンス）、データアドレスおよびデータ転換ルールとが異なっている場合などでは、演算用コントローラ１１０は、演算シーケンス、データアドレスおよびデータ転換ルールを決定してもよい。また、演算に使用する演算式データ（Ｆ）が予め決まっていない場合には、演算用コントローラ１１０は、演算に使用する演算式データ（Ｆ）を特定または選択してもよい。
【００２６】
つぎに、メモリチップコントローラ１２１が、演算用コントローラ１１０から入力された演算式データ（Ｆ）を被干渉ワードラインに書き込み（ステップＳ１０３）、つづいて、演算用の入力データ（Ｘ）を与干渉ワードラインに書き込む（ステップＳ１０４）。その後、メモリチップコントローラ１２１が、被干渉ワードラインから値を出力データ（Ｙ）として読み出す（ステップＳ１０５）。ステップＳ１０５で読み出される出力データ（Ｙ）は、たとえば｛ｅｅＹｅｅｅＹｅ｝などのような特定パターンのデータである。そこで、演算用コントローラ１１０は、読み出された出力データ（Ｙ）を処理可能なパターンの出力データ（Ｙ）に変換し（ステップＳ１０６）、この変換後の出力データ（Ｙ）をインタフェース１３０を介して出力して（ステップＳ１０７）、本動作を終了する。
【００２７】
つづいて、演算用メモリ領域の使用例について、以下に具体例を上げて説明する。図１３〜図１５は、実施形態１における演算用メモリ領域の一部の使用例を示す模式図である。図１３〜図１５に示す例では、演算用メモリ領域１２３の各ワードラインが、それぞれの役割に従って３種類に分類される。すなわち、演算用メモリ領域１２３のワードラインは、演算結果読み出し用の被干渉ワードライン（出力データ）と、入力データ書き込み用の与干渉ワードライン（入力データ）とを含む。これらの被干渉ワードラインと与干渉ワードラインとは隣接するワードラインであってよい。また、目的以外のセル間干渉を防止するために、被干渉ワードラインと与干渉ワードラインとが成すペア間に、干渉防止用ワードラインが配置されてもよい。干渉防止用ワードラインは、被干渉ワードライン上のセルとこれとペアをなさない与干渉ワードライン上のセルとの間のセル間干渉の発生を防止するための、いわゆる消去レベルの無視可能なセルが配列しているワードラインであってよい。
【００２８】
図１３に示す例では、干渉防止用ワードラインと、被干渉ワードラインと、与干渉ワードラインとが、この順番で１回以上繰り返し配置されている。なお、被干渉ワードラインと与干渉ワードラインとの順番は、入れ換えられてもよい。
【００２９】
図１３に示す例の演算シーケンスでは、まず、干渉防止用ワードラインで区切られたブロック（ここでは、被干渉ワードラインと与干渉ワードラインとのペア）の全てのセルを消去する。ついで、演算用コントローラ１１０によって特定された演算式データ（Ｆ）を被干渉ワードラインに書き込む。たとえば、演算式データ（Ｆ）として特定パターン｛ｅＡｅＡｅＡｅＡ｝が選択された場合、被干渉ワードラインＷＬ（ｎ＋１）またはＷＬ（ｎ＋４）における奇数位置のセル（たとえば、ビットラインＢＬ（ｍ）、ＢＬ（ｍ＋２）、…とのクロスポイントにあるセル）にＡレベルを書き込む。つぎに、インタフェース１３０を介して入力された入力データ（Ｘ）を与干渉ワードラインＷＬ（ｎ）またはＷＬ（ｎ＋３）に書き込む。これにより、被干渉ワードラインＷＬ（ｎ＋１）またはＷＬ（ｎ＋４）上のセル（第１セル）の閾値分布がセル間干渉を受けてシフトする。その後、被干渉ワードラインＷＬＷＬ（ｎ＋１）またはＷＬ（ｎ＋４）から値を出力データ（Ｙ）として読み出す。
【００３０】
また、図１４に示す例では、１つの被干渉ワードラインが２つの与干渉ワードラインで挟まれている。このような配置とすることで、更に複雑な演算式の組み合わせが可能である。例えば、以下の式（２）のように、入力が必要なデータが２つ以上ある演算式を実現することも可能である。以下の式（２）では、入力が必要なデータがＸ１とＸ２との２つある。その場合、たとえば図１４における与干渉ワードラインＷＬ（ｎ）に入力データ（Ｘ１）が書き込まれ、与干渉ワードラインＷＬ（ｎ＋２）に入力データ（Ｘ２）が書き込まれる。その後、被干渉ワードラインＷＬ（ｎ＋１）から値を読み出すことで、式（２）の演算結果を出力データ（Ｙ）を取得することができる。
Ｙ＝ａＸ１＋ｂＸ２      …（２）
【００３１】
また、図１５に示す例では、１つの与干渉ワードラインが２つの被干渉ワードラインで挟まれている。このような配置とすることで、同時に２つの演算を実行することが可能となる。例えば、以下の式（３）および（４）のように、１つの入力データ（Ｘ）に対して２つの演算を一度に実行することも可能である。以下の式（３）および（４）では、演算用データ（Ｆ）がＹ１およびＹ２である、その場合、たとえば図１５における被干渉ワードラインＷＬ（ｎ）に演算用データ（Ｆ１）が書き込まれるとともに、被干渉ワードラインＷＬ（ｎ＋２）に演算用データ（Ｆ２）が書き込まれる。その後、与干渉ワードラインＷＬ（Ｎ＋１）に入力データ（Ｘ）を書き込み、つづいて、被干渉ワードラインＷＬ（ｎ）およびＷＬ（ｎ＋１）からそれぞれ値を読み出すことで、式（３）および（４）の演算結果を出力データ（Ｙ１）および（Ｙ２）を取得することができる。
Ｙ１＝ａＸ      …（３）
Ｙ２＝ｂＸ      …（４）
【００３２】
以上、図１３〜図１５に例示したように、被干渉ワードラインと与干渉ワードラインとの配置を適宜アレンジすることで、様々な演算式の組み合わせが可能である。
【００３３】
つぎに、図１６に、メモリチップ１２０のメモリ領域１２２に対する演算用メモリ領域１２３の配置について説明する。図１６に示すように、１つのメモリ領域１２２は、複数のブロック＃１〜＃ｐ＋ｑに分割されている。そこで、複数のブロック＃１〜＃ｐ＋ｑのうちの一部のブロック（たとえばブロック＃ｐ＋１〜＃ｐ＋ｑ）を、演算用メモリ領域１２３としてとして用いてもよい。また、１つまたは複数のブロックにおける特定のワードラインまたはビットラインに接続された一部のメモリ領域を、演算用メモリ領域１２３として用いるなど、データ保存用のメモリ領域と演算用メモリ領域１２３との切り分けは、自由に設定可能である。そこで、演算用コントローラ１１０やメモリチップコントローラ１２１等が使用状況等に応じて自動的に演算用メモリ領域１２３を設定できるように構成してもよい。
【００３４】
つぎに、データ記憶と演算処理とが混在する場合の動作シーケンスについて、図面を用いて詳細に説明する。図１７は、データ記憶と演算処理とが混在する場合の動作シーケンスの一例を示す概念図である。データ記憶と演算処理とが混在する場合、データ記録用の動作シーケンス、データアドレスおよびデータ転換ルールと、演算用の動作シーケンス、データアドレスおよびデータ転換ルールとが異なることが想定される。そのような場合、データ記録処理と演算処理とを分割制御する必要がある。図１７に示す例では、データ入力があると（Ｓ１）、演算用コントローラ１１０は、入力データ（Ｘ）をデータ変換し（Ｓ１）、その後、変換後の入力データ（Ｘ）に対して、データ記録（Ｓ３）と演算（Ｓ４）とのうち何れか一方もしくは両方を実行する。それにより、それぞれの動作に対する動作シーケンス、データアドレスおよびデータ転換ルールが決定され、これらがメモリチップ１２０におけるメモリチップコントローラ１２１に入力される。なお、演算用コントローラ１１０は、メモリチップコントローラ１２１に対して、データ記録とデータ計算との何れか、もしくは、それらの両方を実行するように指定できてもよい。
【００３５】
以上のように、実施形態１によれば、メモリチップのセル間干渉効果を利用することで、与干渉ワードラインの閾値レベルと被干渉ワードラインの閾値分布のシフトとの相関を一定の書き込み動作シークエンスに従う演算式とすることが可能となる。その結果、自己演算機能を備えたメモリシステムを実現することができる。
【００３６】
（実施形態２）
つぎに、実施形態２に係る演算制御装置、それを備えたメモリシステム、情報処理装置、および、演算制御方法について、図面を参照しながら詳細に説明する。実施形態２では、実施形態１において例示した自己演算機能を備えたメモリシステム１００を搭載した情報処理装置の一例について説明する。
【００３７】
図１８は、実施形態２にかかる情報処理装置の一例を示す概略構成図である。図１８に示す情報処理装置２００は、メモリチップ１２０に対するデータ記録の他に、メモリチップ１２０が備える自己演算機能を利用した演算（予測）が可能な情報処理装置である。図１８に示すように、情報処理装置２００は、実施形態１にかかるメモリシステム１００に加え、センサ２０１と、ディスプレイ２０２とを備える。なお、記録用メモリ領域１２４は、実施形態１におけるメモリ領域１２２の演算用メモリ領域１２３以外の領域であってよい。
【００３８】
図１８において、センサ２０１は、たとえば温度／湿度センサやｐＨセンサや位置センサや加速度センサや血圧センサや血糖値センサなど、種々のセンサであってよい。センサ２０１で得られた検出結果は、入力データ（Ｘ）として、インタフェース１３０を介して演算用コントローラ１１０へ入力される。演算用コントローラ１１０は、たとえば実施形態１において図１７を用いて説明した動作シーケンスと同様の動作シーケンスに従って、記録用メモリ領域１２４へのデータ記録とともに、入力データ（Ｘ）に対する演算を実行する。
【００３９】
演算用メモリ領域１２３から読み出された演算結果（出力データ（Ｙ））は、メモリチップコントローラ１２１を経由して記録用メモリ領域１２４に保存されてもよいし、インタフェース１３０を介して出力されてディスプレイ２０２に表示されてもよい。演算結果の保存や表示は、ユーザが不図示の入力部を用いて設定できてもよい。
【００４０】
以上のように、実施形態２によれば、実施形態１にかかるメモリシステム１００を利用して、様々な自己演算機能を備えた様々な情報処理装置を実現することが可能となる。たとえば、センサ２０１を血糖値センサとすることで、小型で演算速度の速い血糖値予測装置を実現することが可能である。
【００４１】
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
【符号の説明】
【００４２】
１００…メモリシステム、１１０…演算用コントローラ、１２０…メモリチップ、１２１…メモリチップコントローラ、１２２…メモリ領域、１２３…演算用メモリ領域、１２４…記録用メモリ領域、１３０…インタフェース、２００…情報処理装置、２０１…センサ、２０２…ディスプレイ
【図１】
2015170368.tif 000003
【図２】
2015170368.tif 000004
【図３】
2015170368.tif 000005
【図４】
2015170368.tif 000006
【図５】
2015170368.tif 000007
【図６】
2015170368.tif 000008
【図７】
2015170368.tif 000009
【図８】
2015170368.tif 000010
【図９】
2015170368.tif 000011
【図１０】
2015170368.tif 000012
【図１１】
2015170368.tif 000013
【図１２】
2015170368.tif 000014
【図１３】
2015170368.tif 000015
【図１４】
2015170368.tif 000016
【図１５】
2015170368.tif 000017
【図１６】
2015170368.tif 000018
【図１７】
2015170368.tif 000019
【図１８】
2015170368.tif 000020