IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 東芝メモリ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025010762
(43)【公開日】2025-01-23
(54)【発明の名称】磁気メモリ及びメモリシステム
(51)【国際特許分類】
   G11C 11/16 20060101AFI20250116BHJP
   G06F 11/10 20060101ALI20250116BHJP
   H10B 61/00 20230101ALI20250116BHJP
   H10D 48/40 20250101ALI20250116BHJP
   H10N 50/10 20230101ALI20250116BHJP
【FI】
G11C11/16 230
G11C11/16 100C
G06F11/10 648
H10B61/00
H01L29/82 Z
H10N50/10 Z
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023112947
(22)【出願日】2023-07-10
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】武藤 庄吾
(72)【発明者】
【氏名】白川 政信
(72)【発明者】
【氏名】山田 英樹
(72)【発明者】
【氏名】山城 遼
(72)【発明者】
【氏名】上田 善寛
(72)【発明者】
【氏名】近藤 剛
【テーマコード(参考)】
4M119
5F092
【Fターム(参考)】
4M119CC02
4M119CC05
4M119CC10
4M119DD31
4M119EE04
4M119HH01
4M119HH04
5F092AB06
5F092AC12
5F092AD03
5F092AD07
5F092AD25
5F092AD26
5F092BB23
5F092BB36
5F092BB43
5F092BC04
5F092DA04
(57)【要約】      (修正有)
【課題】エラービット数の少ない磁気メモリを提供する。
【解決手段】磁気メモリによるデータ読出しのフローは、データラッチ31中の仮読出しデータの第1位ビットにおいて仮の値をセットすることと、全読出し対象メモリセルについての仮読出しデータの取得が完了していない場合、磁壁をシフトして次の読出し対象メモリセルを読出し位置に移動することと、メモリセル間の磁壁の有無を判断することと、仮読出しデータの第1位ビットにおいて、第2位ビットと同じ値をセットすることと、磁壁が検知される場合、仮読出しデータのビットを上位ビット側に1ビットシフトすることと、前記第1位ビットにおいて、第2位ビットの値と逆の値をセットすることと、磁化情報を使用して、検知した磁壁の変化のタイプに基づく値で磁化情報ラッチの値を更新することとを、含み、読出し対象メモリセル全てについて仮読出しデータの取得が完了している場合、磁化解決を行う。
【選択図】図15
【特許請求の範囲】
【請求項1】
第1方向に延び、前記第1方向に並ぶ複数の部分を含んだ磁性体と、
前記複数の部分のうちの隣り合う各2つの間の磁壁の有無を示す第1情報、及び前記各2つの磁化状態の組合せに基づく第2情報を出力する第1回路と、
前記複数の部分にそれぞれ対応する複数の第1ビットを記憶する第1記憶回路であって、前記複数の第1ビットの最上位ビットは、前記複数の部分のうちの対応する1つの磁化状態によらない値を有し、前記複数の第1ビットの各々は、前記第1情報に基づく値を有する、第1記憶回路と、
第2ビットにおいて前記第2情報を記憶する第2記憶回路と、
前記複数の第1ビットの最下位ビットの値と、前記第2記憶回路に記憶されている前記第2情報の値とが一致する場合、前記複数の第1ビットを前記第1記憶回路から出力させ、前記最下位ビットの値と前記第2記憶回路に記憶されている前記第2情報の値とが異なる場合、各ビットにおいて前記複数の第1ビットの値と反対の値を有する複数の第3ビットを前記第1記憶回路から出力させる第2回路と、
を備える磁気メモリ。
【請求項2】
前記複数の第1ビットの各々は、前記複数の部分のうちの対応する1つの部分と、前記対応する1つの部分に前記第1方向の側で並ぶ隣接部分との間で磁化状態が同じであると判断される場合に、前記複数の第1ビットのうちの前記最上位ビットの側に並ぶ隣接ビットの値と同じ値を有し、前記対応する1つの部分と前記隣接部分と間での磁化状態が異なると判断される場合に、前記隣接ビットの値と異なる値を有する、
請求項1に記載の磁気メモリ。
【請求項3】
前記第1記憶回路は、前記第1情報を受け取る度に、前記複数の第1ビットの各々の値を隣のビットに移動し、前記複数の第1ビットの前記最下位ビットにおいて、前記受け取られた第1情報に基づく値を記憶する、
請求項2に記載の磁気メモリ。
【請求項4】
前記第2情報は、前記複数の部分のうちの第1部分が第1磁化状態を有するとともに前記複数の部分の中の磁壁が前記第1方向に移動する前の前記第1部分が第2磁化状態を有する場合に第1値を有し、前記第1部分が前記第2磁化状態を有するとともに前記磁壁の前記移動の前の前記第1部分が前記第1磁化状態を有する場合に第2値を有する、
請求項1に記載の磁気メモリ。
【請求項5】
前記第1磁化状態は、第2方向を向く磁化の状態であり、
前記第2磁化状態は、第3方向を向く磁化の状態であり、
前記第3方向は、前記第2方向と異なる、
請求項4に記載の磁気メモリ。
【請求項6】
前記複数の部分の中の磁壁が前記第1方向に移動する度に、前記第1回路は、前記複数の部分のうちの第1部分の磁化状態と、前記磁壁の前記移動の前の前記第1部分の磁化状態とに基づいて前記第1情報を次々と出力するとともに前記第2情報を次々と出力する、
請求項1に記載の磁気メモリ。
【請求項7】
前記第2記憶回路は、前記第2情報を受け取る度に、前記第2ビットの値を前記受け取られた第2情報で更新する、
請求項1に記載の磁気メモリ。
【請求項8】
前記磁気メモリは、複数の第4ビットを記憶する第3記憶回路をさらに備え、
前記第3記憶回路は、前記第1情報を受け取る度に、前記複数の第4ビットの各々の値を隣のビットに移動し、前記複数の第4ビットの最下位ビットにおいて、前記受け取られた第1情報に基づく値を記憶し、
前記第1情報は、磁壁があると判断される場合に第3値を有し、
前記第2記憶回路は、複数の第5ビットを記憶し、
前記第2記憶回路は、前記第2情報を受け取る度に、前記複数の第5ビットの各々の値を隣のビットに移動し、前記複数の第5ビットの最下位ビットにおいて、前記受け取られた第2情報に基づく値を記憶し、
前記第2ビットは、前記複数の第4ビットのうちで前記第3値を有する最下位ビットと同位のビットである、
請求項1に記載の磁気メモリ。
【請求項9】
第1方向に延び、前記第1方向に並ぶ複数の部分を含んだ磁性体と、
前記複数の部分のうちの隣り合う各2つの間の磁壁の有無を示す第1情報、及び前記各2つの磁化状態の組合せに基づく第2情報を出力する第1回路と、
前記複数の部分にそれぞれ対応する複数の第1ビットを記憶する第1記憶回路であって、前記複数の第1ビットの最上位ビットは、前記複数の部分のうちの対応する1つの磁化状態によらない値を有し、前記複数の第1ビットの各々は、前記第1情報に基づく値を有する、第1記憶回路と、
第2ビットにおいて前記第2情報を記憶する第2記憶回路と、
前記複数の第1ビットの最下位ビットの値と、前記第2記憶回路に記憶されている前記第2情報の値とが一致する場合、前記複数の第1ビットを前記第1記憶回路から出力させ、前記最下位ビットの値と前記第2記憶回路に記憶されている前記第2情報の値とが異なる場合、各ビットにおいて前記複数の第1ビットの値と反対の値を有する複数の第3ビットを前記第1記憶回路から出力させる第2回路と、
を備えるメモリシステム。
【請求項10】
前記複数の第1ビットの各々は、前記複数の部分のうちの対応する1つの部分と、前記対応する1つの部分に前記第1方向の側で並ぶ隣接部分との間で磁化状態が同じであると判断される場合に、前記複数の第1ビットのうちの前記最上位ビットの側に並ぶ隣接ビットの値と同じ値を有し、前記対応する1つの部分と前記隣接部分と間での磁化状態が異なると判断される場合に、前記隣接ビットの値と異なる値を有する、
請求項9に記載のメモリシステム。
【請求項11】
前記第1記憶回路は、前記第1情報を受け取る度に、前記複数の第1ビットの各々の値を隣のビットに移動し、前記複数の第1ビットの前記最下位ビットにおいて、前記受け取られた第1情報に基づく値を記憶する、
請求項10に記載のメモリシステム。
【請求項12】
前記第2情報は、前記複数の部分のうちの第1部分が第1磁化状態を有するとともに前記複数の部分の中の磁壁が前記第1方向に移動する前の前記第1部分が第2磁化状態を有する場合に第1値を有し、前記第1部分が前記第2磁化状態を有するとともに前記磁壁の前記移動の前の前記第1部分が前記第1磁化状態を有する場合に第2値を有する、
請求項9に記載のメモリシステム。
【請求項13】
前記第1磁化状態は、第2方向を向く磁化の状態であり、
前記第2磁化状態は、第3方向を向く磁化の状態であり、
前記第3方向は、前記第2方向と異なる、
請求項12に記載のメモリシステム。
【請求項14】
前記複数の部分の中の磁壁が前記第1方向に移動する度に、前記第1回路は、前記複数の部分のうちの第1部分の磁化状態と、前記磁壁の前記移動の前の前記第1部分の磁化状態とに基づいて前記第1情報を次々と出力するとともに前記第2情報を次々と出力する、
請求項9に記載のメモリシステム。
【請求項15】
前記第2記憶回路は、前記第2情報を受け取る度に、前記第2ビットの値を前記受け取られた第2情報で更新する、
請求項9に記載のメモリシステム。
【請求項16】
前記メモリシステムは、複数の第4ビットを記憶する第3記憶回路をさらに備え、
前記第3記憶回路は、前記第1情報を受け取る度に、前記複数の第4ビットの各々の値を隣のビットに移動し、前記複数の第4ビットの最下位ビットにおいて、前記受け取られた第1情報に基づく値を記憶し、
前記第1情報は、磁壁があると判断される場合に第3値を有し、
前記第2記憶回路は、複数の第5ビットを記憶し、
前記第2記憶回路は、前記第2情報を受け取る度に、前記複数の第5ビットの各々の値を隣のビットに移動し、前記複数の第5ビットの最下位ビットにおいて、前記受け取られた第2情報に基づく値を記憶し、
前記第2ビットは、前記複数の第4ビットのうちで前記第3値を有する最下位ビットと同位のビットである、
請求項9に記載のメモリシステム。
【請求項17】
前記メモリシステムは、磁気メモリと、メモリコントローラと、を備え、
前記磁気メモリは、前記磁性体、前記第1回路、前記第1記憶回路、前記第2記憶回路を備え、
前記メモリコントローラは、前記第2回路を備え、
前記メモリコントローラは、前記複数の第1ビット又は前記複数の第3ビットを含んだ読出しデータを受け取り、前記読出しデータのエラー訂正に失敗する場合、前記磁気メモリに、前記複数の第4ビット及び前記複数の第5ビットを出力させる、
請求項16に記載のメモリシステム。
【請求項18】
前記メモリシステムは、磁気メモリと、メモリコントローラと、を備え、
前記磁気メモリは、前記磁性体、前記第1回路、前記第1記憶回路、前記第2記憶回路を備え、
前記メモリコントローラは、前記磁気メモリに第1コマンドを送信し、
前記磁気メモリは、前記第1コマンドを受け取ると、前記複数の第1ビット、前記複数の第4ビット、及び前記複数の第5ビットを出力する、
請求項16に記載のメモリシステム。
【請求項19】
前記メモリシステムは、磁気メモリと、メモリコントローラと、を備え、
前記磁気メモリは、前記磁性体、前記第1回路、前記第1記憶回路、前記第2記憶回路、前記第2回路を、備える、
請求項9に記載のメモリシステム。
【請求項20】
前記メモリシステムは、磁気メモリと、メモリコントローラと、を備え、
前記磁気メモリは、前記磁性体、前記第1回路、前記第1記憶回路、前記第2記憶回路を備え、
前記メモリコントローラは、前記第2回路を備える、
請求項9に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、概して、磁気メモリ及びメモリシステムに関する。
【背景技術】
【0002】
メモリとメモリコントローラを含んだメモリシステムが知られている。メモリの例は、磁性体を用いた磁気メモリを含む。メモリシステムは、正確にデータを記憶及び出力できることを求められる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2022/0101901号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
エラービット数の少ない磁気メモリ及びメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【0005】
一実施形態による磁気メモリは、磁性体と、第1回路と、第1記憶回路と、第2記憶回路と、第2回路と、を含む。上記磁性体は、第1方向に延び、上記第1方向に並ぶ複数の部分を含む。上記第1回路は、上記複数の部分のうちの隣り合う各2つの間の磁壁の有無を示す第1情報、及び上記各2つの磁化状態の組合せに基づく第2情報を出力する。上記第1記憶回路は、上記複数の部分にそれぞれ対応する複数の第1ビットを記憶する。上記複数の第1ビットの最上位ビットは、上記複数の部分のうちの対応する1つの磁化状態によらない値を有する。上記複数の第1ビットの各々は、上記第1情報に基づく値を有する。上記第2記憶回路は、第2ビットにおいて上記第2情報を記憶する。上記第2回路は、上記複数の第1ビットの最下位ビットの値と、上記第2記憶回路に記憶されている上記第2情報の値とが一致する場合、上記複数の第1ビットを上記第1記憶回路から出力させ、上記最下位ビットの値と上記第2記憶回路に記憶されている上記第2情報の値とが異なる場合、各ビットにおいて上記複数の第1ビットの値と反対の値を有する複数の第3ビットを上記第1記憶回路から出力させる。
【図面の簡単な説明】
【0006】
図1図1は、第1実施形態のメモリシステムを含んだ情報処理システムの機能ブロックの例を示す。
図2図2は、第1実施形態のメモリシステムの機能ブロックの例を示す。
図3図3は、第1実施形態のメモリシステムの磁気メモリの機能ブロックの例を示す。
図4図4は、第1実施形態のメモリシステムのメモリセルアレイの構成要素の例を示す。
図5図5は、第1実施形態のメモリシステムのメモリセルアレイの一部の構造の例を示す。
図6図6は、第1実施形態のメモリシステムの磁性体及び積層体の構造の例を示す。
図7図7は、第1実施形態のメモリシステムの読出し回路の構成要素の例を示す。
図8図8は、第1実施形態のメモリシステムの磁気メモリによるデータ書込みのフローを示す。
図9図9は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図10図10は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図11図11は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図12図12は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図13図13は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図14図14は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図15図15は、第1実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。
図16図16は、第1実施形態のメモリシステムによるデータ読出しのフローを示す。
図17図17は、単位磁化の磁化状態の意図しない反転を示す。
図18図18は、第2実施形態のメモリシステムのメモリコントローラの機能ブロックの例を示す。
図19図19は、第2実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。
図20図20は、第2実施形態のメモリシステムによるデータ読出しのフローを示す。
図21図21は、第3実施形態のメモリシステムの磁気メモリの機能ブロックの例を示す。
図22図22は、第3実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。
図23図23は、第3実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。
図24図24は、第3実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。
図25図25は、第3実施形態のメモリシステムによるデータ読出しのフローを示す。
図26図26は、第3実施形態のメモリシステムによるデータ読出しのフローを示す。
図27図27は、第3実施形態のメモリシステムにおける動作の間に生成されるデータの例を示す。
図28図28は、第4実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。
図29図29は、第4実施形態のメモリシステムによるデータ読出しのフローを示す。
【発明を実施するための形態】
【0007】
以下に実施形態が図面を参照して記述される。或る実施形態又は相違する実施形態での略同一の機能及び構成を有する複数の構成要素は、互いに区別されるために、参照符号の末尾にさらなる数字又は文字が付加される場合がある。或る記述済みの実施形態に後続する実施形態では、記述済みの実施形態と異なる点が主に記述される。或る実施形態についての記述は全て、明示的に又は自明的に排除されない限り、別の実施形態の記述としても当てはまる。
【0008】
各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれか又は両者を組み合せたものとして実現されることが可能である。このため、各機能ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から記述される。
【0009】
実施形態の方法のフローにおけるいずれのステップも、例示の順序に限定されず、そうでないと示されない限り、例示の順序とは異なる順序で及び(又は)別のステップと並行して起こることが可能である。
【0010】
本明細書及び特許請求の範囲において、或る第1要素が別の第2要素に「接続されている」とは、第1要素が直接的又は常時或いは選択的に導電性となる要素を介して第2要素に接続されていることを含む。
【0011】
1.第1実施形態
1.1.構成(構造)
1.1.1.情報処理システム
図1は、第1実施形態のメモリシステムを含んだ情報処理システムの機能ブロックの例を示す。情報処理システム100は、メモリシステム1及びホスト装置5を含む。
【0012】
ホスト装置5は、データの読出し及びデータの書込みをメモリシステム1に要求する。
【0013】
メモリシステム1は、データを記憶するシステムである。メモリシステム1は、ホスト装置5からデータ書込みの要求を受け取り、要求されたデータを記憶する。メモリシステム1は、ホスト装置5からデータ読出しの要求を受け取り、要求されたデータをホスト装置5に送信する。
【0014】
1.1.2.メモリシステム
図2は、第1実施形態のメモリシステム1の機能ブロックの例を示す。図2に示されるように、メモリシステム1は、磁気メモリ2及びメモリコントローラ3を含む。
【0015】
磁気メモリ2は、磁化を利用して不揮発にデータを記憶する装置である。磁気メモリ2は、複数の磁区を有する磁性体を含み、磁区の磁化の向きを使用してデータを記憶する。
【0016】
メモリコントローラ3は、磁気メモリ2を制御する装置である。メモリコントローラ3は、ホスト装置5からの要求に基づくデータの読出し及びデータの書込みを実行するための制御を磁気メモリ2に対して行う。
【0017】
メモリコントローラ3は、ホストインターフェース11、ROM(read only memory)12、RAM(random access memory)13、CPU(central processing unit)14、メモリインターフェース15、及びエラー訂正回路16などの機能ブロックを含む。
【0018】
メモリコントローラ3は、実行している動作に基づいて、エラー訂正制御部、書込み制御部、読出し制御部、信号送信制御部、及び信号受信制御部等のサブ部分として機能する。エラー訂正制御部は、エラー訂正のために行われる処理の全体を制御し、データの分割、データの結合、データの一時的記憶、データの供給、エンコード制御部の制御、及びデコード制御部の制御を行う。書込み制御部は、磁気メモリ2へのデータの書込みのための処理を制御し、磁気メモリ2に書き込まれるデータの用意、書込みのためのコマンドCMD及びアドレス情報ADDの生成を行う。読出し制御部は、磁気メモリ2からのデータの読出しのための処理を制御し、磁気メモリ2から読み出されるデータに基づいて、読出しのためのコマンドCMD及びデータを特定するアドレス情報ADDの生成を行う。信号送信制御部は、磁気メモリ2へのデータDAT、コマンドCMD、アドレス情報ADD、及び制御信号CNTを含む信号の送信を制御し、メモリインターフェース15を制御する。信号受信制御部は、磁気メモリ2からのデータDAT及び制御信号CNTを含む信号の受信を制御し、メモリインターフェース15を制御する。
【0019】
ホストインターフェース11は、メモリコントローラ3がホスト装置5と通信するためのインターフェースである。ホストインターフェース11は、ハードウェア、又はハードウェアとソフトウェアの組合せからなることが可能である。ホストインターフェース11は、ホストインターフェース11とホスト装置5が準拠する方式(又は、規格)の通信を可能にするための配線によってホスト装置5と接続されている。
【0020】
ROM12は、不揮発性のメモリである。ROM12は、ファームウェアを含むプログラムを記憶する。プログラムは、CPU14によって実行されることによって、メモリコントローラ3に、本明細書に記述されている動作を行わせるように構成されている。ROM12は、1つの半導体チップとして実現されてもよいし、独立した複数の半導体チップとして実現されていてもよいし、半導体基板に形成された回路であってもよい。
【0021】
RAM13は、揮発性のメモリである。RAM13は、データを一時的に記憶し、メモリシステム1が電源の供給を受けている間、ROM12に記憶されているプログラムを記憶する。RAM13の例は、DRAM(Dynamic Random Access Memory)及びSRAM(Static RAM)を含む。RAM13はまた、メモリコントローラ3が動作している間、ワーキングメモリ及びデータバッファとして機能する。RAM13は、1つの半導体チップとして実現されてもよいし、独立した複数の半導体チップとして実現されていてもよいし、半導体基板に形成された回路であってもよい。
【0022】
CPU14は、メモリコントローラ3の全体の動作を制御する回路である。ROM12に記憶されているとともにRAM13上にロードされたプログラムがCPU14によって実行されることによって、メモリコントローラ3は種々の動作を実行し、種々のサブ部分として機能する。CPU14は、1つの半導体チップとして実現されてもよいし、独立した複数の半導体チップとして実現されていてもよいし、半導体基板に形成された回路であってもよい。
【0023】
メモリインターフェース15は、メモリコントローラ3が磁気メモリ2と通信するためのインターフェースである。メモリインターフェース15は、ハードウェア、又はハードウェアとソフトウェアの組合せからなることが可能である。メモリインターフェース15は、磁気メモリ2とメモリコントローラ3が準拠する方式の通信を可能にするための配線によって磁気メモリ2と接続されている。メモリインターフェース15は、コマンドCMD及びアドレス情報ADDを磁気メモリ2に送信する。メモリインターフェース15は、制御信号CNT及びデータDATを磁気メモリ2に送信し、制御信号CNT及びデータDATを磁気メモリ2から受信する。
【0024】
コマンドCMDは、磁気メモリ2が実行すべき動作を示す。アドレス情報ADDは、磁気メモリ2中のデータの読出し又は書込みの対象の領域を特定する。制御信号CNTは、磁気メモリ2とメモリコントローラ3との間の動作タイミング及び磁気メモリ2の内部の動作のタイミングを制御するための信号である。
【0025】
エラー訂正回路16は、エラー訂正符号(Error Correction Code, ECC)を使用して、磁気メモリ2から読み出されたデータのエラーの検出及び訂正を行う。エラー訂正回路16は、磁気メモリ2に書き込まれるデータ(実書き込みデータ)からエラー訂正符号を生成する。実書込みデータと、この実書込みデータから生成されたエラー訂正符号は、磁気メモリ2に書き込まれる。エラー訂正回路16は、エラー訂正符号を使用して、磁気メモリ2から読み出されたデータの中のエラーを検出し、エラーが検出された場合にエラーを訂正する。エラー訂正回路16は、独立した専用の半導体チップとして実現されていてもよいし、半導体基板に形成された回路であってもよいし、CPU14がファームウェアを実行することにより実現されてもよい。
【0026】
1.1.3.磁気メモリ
図3は、第1実施形態のメモリシステムの磁気メモリの機能ブロックを示す。図3に示されるように、磁気メモリ2は、メモリセルアレイ21、入出力回路22、制御回路23、ロウ選択回路24、カラム選択回路25、書込み回路26、読出し回路27、シフト制御回路29、データラッチ31、磁化情報ラッチ32、及び磁化解決回路33などの機能ブロックを含む。
【0027】
メモリセルアレイ21は、複数のストリングSTRを含む。各ストリングSTRは、複数のメモリセルMCを含む。各メモリセルMCは、1ビットのデータを不揮発に記憶することができ、磁性体を含む。メモリセルアレイ21中には、複数のソース線SL、複数のビット線BL、及び複数のフィールド線ELなどの配線も位置している。配線は、図3では、示されていない。
【0028】
入出力回路22は、磁気メモリ2への信号の入力及び磁気メモリ2からの信号の出力を行う回路である。入出力回路22は、配線によってメモリコントローラ3と接続されている。入出力回路22は、メモリコントローラ3から、制御信号CNT、コマンドCMD、アドレス情報ADD、及びデータDATを受け取る。入出力回路22は、制御信号CNT及びデータDATをメモリコントローラ3に送信する。データDATは、磁気メモリ2でのデータ書込みの場合は、書込みデータを含む。データDATは、磁気メモリ2からのデータ読出しの場合は、読出しデータを含む。
【0029】
ロウ選択回路24は、メモリセルMCの行を選択する回路である。ロウ選択回路24は、入出力回路22からアドレス情報ADDを受け取る。ロウ選択回路24は、アドレス情報ADDからロウアドレスを取得する。ロウ選択回路24は、メモリセルアレイ21の中のロウアドレスにより特定されるロウを、選択された状態にする。ロウ選択回路24は、マルチプレクサ、スイッチ回路、及びドライバ回路等の回路を含む。
【0030】
カラム選択回路25は、メモリセルMCの列を選択する回路である。カラム選択回路25は、入出力回路22からアドレス情報ADDを受け取る。カラム選択回路25は、アドレス情報ADDからカラムアドレスを取得する。ロウ選択回路24は、メモリセルアレイ21の中のカラムアドレスにより特定されるカラム(例えば、ビット線BL)を、選択された状態にする。カラム選択回路25は、マルチプレクサ、スイッチ回路、及びドライバ回路等の回路を含む。
【0031】
書込み回路26は、メモリセルMCへのデータの書込みを制御する回路である。書込み回路26は、データ書込みの間、書込み電流又は書込み電圧をメモリセルアレイ21に供給する。これにより、データが、選択されているメモリセルMCに書き込まれる。例えば、書込み回路26は、ロウ選択回路24を介して、メモリセルアレイ21に接続される。書込み回路26は、電圧源及び(又は)電流源を含む。
【0032】
読出し回路27は、メモリセルMCからのデータの読出しを制御する回路である。読出し回路27は、メモリセルMCからのデータの読出しを制御する回路である。読出し回路27は、読み出し電流又は電圧をメモリセルアレイ21に供給し、メモリセルMCから出力された信号をセンスし、データ読出し対象のメモリセルMCの状態に関するデータを出力する。データ読出し対象のメモリセルMCの状態に関するデータは、磁壁存在情報及び磁化情報を含む。磁壁存在情報は、或る2つの隣り合うメモリセルMCの磁化が相違すると判断されるかを少なくとも1ビットによって示す。磁化情報は、或る2つの隣り合うメモリセルMCそれぞれの磁化の組合せを少なくとも1ビットによって示す。磁化情報は、或る状態の判断の対象のメモリセルMCの状態が、この判断対象のメモリセルMCに隣り合うメモリセルMCの状態からどのように変化したかを表現する。
【0033】
シフト制御回路29は、メモリセルMCの移動を制御する回路である。シフト制御回路29は、指定されるアドレスのメモリセルMCにデータを記憶するため、及び指定されるアドレスのメモリセルMCからデータを読み出すために、磁壁をシフトする。シフト制御回路29は、メモリセルアレイ21に電流又は電圧を供給し、これによって、磁壁を移動する。例えば、シフト制御回路29は、カラム選択回路25を介して、メモリセルアレイ21に接続されている。
【0034】
データラッチ31は、データを記憶する回路である。データラッチ31は、データ書込みのとき、入出力回路から書込みデータを受け取り、受け取られた書込みデータを書込み回路26に送信する。データラッチ31は、データ読出しの間、読出しデータ及び仮読出しデータを記憶する。仮読出しデータは、読出しデータの生成に使用される。データラッチ31は、シフトレジスタの機能、及び記憶されているデータのうちの指定される1又は複数のビットの値が反転されたデータを記憶する機能をさらに有する。データラッチ31は、読出しデータを入出力回路22に送信する。
【0035】
磁化情報ラッチ32は、磁化情報を記憶する回路である。磁化情報ラッチ32は、1又は複数のビットを記憶できる。磁化情報ラッチ32は、磁化解決回路33から、磁化情報を受け取る。
【0036】
磁化解決回路33は、磁壁存在情報及び磁化情報から読出しデータを生成する回路である。磁化解決回路33は、受け取られた最新の磁化情報を磁化情報ラッチ32において記憶する。磁化解決回路33は、受け取られた磁壁存在情報に基づいて、読出し対象のメモリセルMCに記憶されていると判断されるデータを示す情報を生成し、仮読出しデータを生成する。磁化解決回路33は、磁化情報ラッチ32中の磁化情報を参照し、磁化情報を使用して、仮読出しデータから、読出し対象のメモリセルMCに記憶されていると判断される読出しデータを生成する。
【0037】
制御回路23は、磁気メモリ2の全体を制御する回路である。制御回路23は、入出力回路22から制御信号CNT及びコマンドCMDを受け取る。制御回路23は、制御信号CNTによって指示される制御及びコマンドCMDに基づいて制御信号を生成する。制御回路23は、生成された制御信号を使用して、書込み回路26、読出し回路27、シフト制御回路29、及び磁化解決回路33を制御する。
【0038】
1.1.4.メモリセルアレイ
図4は、第1実施形態のメモリシステムのメモリセルアレイの構成要素の例を示す。図4に示されるように、各ストリングSTRは、N個のメモリセルMC_0~MC_N-1を含む。Nは正の整数である。各ストリングSTRにおいて、このストリングSTRのメモリセルMCは、全体として或る方向に延びる1つの磁性体の部分からなる。
【0039】
図5は、第1実施形態のメモリシステムのメモリセルアレイの一部の構造の例を示す。図5に示されるように、メモリセルアレイ21は、複数の磁性体UT及び複数の積層体LSを含む。また、メモリセルアレイ21には、複数の導電体41、複数の導電体42、及び複数の導電体43が位置している。
【0040】
磁性体UTは、互いに直交するX方向及びY方向に並ぶ。各磁性体UTは、線状の形状を有し、Z方向に延びる。Z方向は、X方向及びY方向に直交する。以下、或る位置よりZ方向の位置は、上と称される場合があり、或る位置よりZ方向と反対の方向(-Z方向)の位置は、下と称される場合がある。一例において、各磁性体UTは、表面の薄膜の磁性体と内部の非磁性体とを含む。各磁性体UTは、1つのストリングSTRとして機能する。磁性体UTは、複数の単位部分MLを含む。各単位部分MLは、磁性体UTの延びる方向に1つずつ並び、隣の単位部分MLと接する。
【0041】
各積層体LSは、複数の磁性体及び複数の絶縁体を含む。複数の磁性体及び複数の絶縁体は、各々、層の形状を有し、Z方向に並ぶ。各積層体LSは、スイッチング素子として機能する構造と、MTJ(Magnetic Tunneling Junction)素子として機能する構造と、を含む。MTJ素子として機能する構造は、スイッチング素子として機能する構造の上面上に位置する。各積層体LSは、上面において、1つの磁性体UTの下面と接する。MTJ素子として機能する構造は、MTJを含み、2つの強磁性体及び2つの強磁性体の間の絶縁体を含む。スイッチング素子として機能する構造は、スイッチング素子の両端の電気的な導通及び非導通を制御する。
【0042】
導電体41は、積層体LSの組よりも-Z方向に位置する。導電体41は、X方向に延び、Y方向に並ぶ。各導電体41は、1つのソース線SLとして機能する。各導電体41は、X方向に並ぶ複数の積層体LSの下面と接続されている。
【0043】
導電体42は、磁性体UTの組よりもZ方向に位置する。導電体42は、X方向及びY方向からなるXY面に沿うとともに、X方向及びY方向と交わる方向、例えば、導電体42が延びる方向と交わる方向に並ぶ。各導電体42は、1つのビット線BLとして機能する。各導電体42は、1つの導電体41と接続されている複数の磁性体UTとは異なる複数の磁性体UTのそれぞれの上面と接続されている。
【0044】
導電体43は、X方向に延びる。各導電体43は、X方向に並ぶ複数の磁性体UTのそれぞれの上端に位置する単位部分MLに沿って延びる。各導電体43は、X方向に並ぶ複数の磁性体UTのそれぞれの上端に位置する単位部分MLと間隔を有する。各導電体43は1つのフィールド線ELとして機能する。データの書込みの間に導電体43を電流が流れることにより、導電体43の周囲に磁場が発生する。この磁場は、導電体43と間隔を有して並ぶ単位部分MLに、磁場の向きに基づく向きの磁化を持たせる。
【0045】
図6は、第1実施形態のメモリシステムの磁性体及び積層体の構造の例を示す。磁性体UTは、図5を参照して上記されているように複数の単位部分MLを含み、例として、N個の単位部分ML_0~ML_N-1を含む。隣接する各2つの単位部分MLの境界は、他の位置でのXY面積よりも小さいXY面積を有する。XY面積は、XY面に沿った面における面積である。単位部分MLの各境界でのXY面積が小さいことにより、磁壁は、単位部分MLの境界において、他の位置よりも留まりやすい。磁壁が単位部分MLの境界に留まりやすいことに基づいて、各単位部分ML中に磁区が形成される。各磁区は、磁化を有する。磁化は、相違する2つの方向のいずれかを有することができる。磁化の方向は、磁気メモリ2による制御によって可変である。図6は、理解のしやすさの目的で、各単位部分MLが1つの磁区を有する形態を示す。しかしながら、隣り合う2つ以上の単位部分MLが同じ方向の磁化を有する場合、これらの単位部分MLからなる領域は、単一の磁区を有し、磁壁を含まない。磁気メモリ2は、各単位部分MLにおける磁化の方向によって1ビットのデータを記憶する。すなわち、各単位部分MLが1つのメモリセルMCとして機能する。
【0046】
導電体43は、最上の単位部分ML_0と並ぶ。データの書込みは、単位部分ML_0に位置するメモリセルMCに対して行われる。単位部分ML_0は、書込み位置と称される場合がある。
【0047】
積層体LSは、MTJ素子MTJ、及び可変抵抗材料SELを含む。可変抵抗材料SELは、スイッチング素子として機能する。可変抵抗材料SELは、動的に可変な抵抗を示す材料であり、例えば層の形状を有する。可変抵抗材料SELは、2端子間スイッチング素子であり、2端子のうちの第1端子は可変抵抗材料SELの上面及び下面の一方であり、2端子のうちの第2端子は可変抵抗材料SELの上面及び下面の他方である。2端子間に印加される電圧が或る閾値電圧未満の場合、可変抵抗材料は“高抵抗”状態、例えば電気的に非導通状態である。2端子間に印加される電圧が上昇し、閾値電圧以上になると、可変抵抗材料は“低抵抗”状態、例えば電気的に導通状態になる。低抵抗状態の可変抵抗材料SELの2端子間に印加される電圧が低下し、閾値電圧未満になると、可変抵抗材料は高抵抗状態になる。
【0048】
一例において、可変抵抗材料SELは、絶縁体と、絶縁体にイオン注入により導入されたドーパントと、を含む。絶縁体は、例えば、酸化物を含み、SiOから実質的になる材料を含む。ドーパントは、一例において、ヒ素(As)、ゲルマニウム(Ge)を含む。「実質的になる(又は、構成される)」という記載及び同種の記載は、「実質的になる」構成要素が意図せぬ不純物を含有することを許容することを意味する。
【0049】
MTJ素子MTJは、強磁性層RL、絶縁層TB、及び強磁性層FLを含む。一例において、図6に示されるように、絶縁層TBは強磁性層RLの上面上に位置し、強磁性層FLは絶縁層TBの上面上に位置する。
【0050】
強磁性層RLは、強磁性を示す材料の層である。強磁性層RLは、或る方向に沿った磁化容易軸を有する。強磁性層RLの磁化の向きは、メモリセルMCでのデータの読出し及び書込み並びに磁壁のシフトのための電圧又は電流の印加によっても不変であることを意図されている。強磁性層RLは、いわゆる参照層として機能する。強磁性層RLは、複数の層を含んでいてもよい。
【0051】
絶縁層TBは、絶縁体の層である。絶縁層TBは、例えば、酸化マグネシウム(MgO)を含むか、MgOから実質的に構成され、いわゆるトンネルバリアとして機能する。
【0052】
強磁性層FLは、強磁性を示す材料の層である。強磁性層FLは、例えば、コバルト鉄ボロン(CoFeB)又はホウ化鉄(FeB)を含むか、CoFeB又はFeBから実質的に構成される。強磁性層FLは、強磁性層RLの磁化容易軸に沿う方向の磁化容易軸を有する。強磁性層FLの磁化の向きは、可変であり、最下の単位部分ML_N-1の磁化の向きと連動し、例えば、最下の単位部分ML_N-1の磁化の向きと平行の向きの磁化を有する。強磁性層FLは、いわゆる記憶層として機能する。
【0053】
記憶層FLの磁化の向きが参照層RLの磁化の向きと平行であると、MTJ素子MTJは、或る低い抵抗を有する。記憶層FLの磁化の向きが参照層RLの磁化の向きと反平行であると、MTJ素子MTJは、記憶層FLの磁化の向きと参照層RLの磁化の向きが平行である場合の抵抗よりも高い抵抗を有する。MTJ素子の抵抗に基づいて、記憶層FLの磁化の向き、ひいては、単位部分ML_N-1の磁化の向きが割り出されることが可能である。単位部分ML_N-1の磁化の向きによって、単位部分ML_N-1に位置するメモリセルMCが記憶しているデータが割り出されることが可能である。最下の単位部分ML_N-1は、読出し位置と称される場合がある。
【0054】
以下、或る単位部分が、互いに反対の2つの方向の一方及び他方の磁化を有する状態は、それぞれ、この単位部分がN極状態及びS極状態にあると称される。
【0055】
或るメモリセルMCからのデータの読出しのために、磁性体UTの磁壁が、積層体LSに向かって、読出し対象のメモリセルMCが単位部分ML_N-1に位置するまでシフトされる。すなわち、データの書込みは単位部分ML_0において行われ、データの読出しは、単位部分ML_N-1において行われる。このようなデータ書込み及び読出しの方式は、FIFO(First In First Out)方式である。
【0056】
積層体LSは、導電体等のさらなる層を含んでいてもよい。
【0057】
1.1.5.読出し回路
図7は、第1実施形態のメモリシステムの読出し回路の構成要素の例を示す。図7に示されるように、読出し回路27は、情報保持回路271及び272、並びにセンスアンプ273を含む。
【0058】
情報保持回路271及び272は、各々、メモリセルMCの磁化の向き、すなわちN極状態であるかS極状態であるかを反映する物理的な値を保持する。すなわち、メモリセルMCの磁化の向きに基づいて、MTJ素子MTJは高抵抗状態又は低抵抗状態にあり、よって、MTJ素子MTJの抵抗状態に基づく物理的な値が取得されることが可能である。物理的な値は、読出し位置にあるメモリセルMCの磁化状態、すなわち、N極状態及びS極状態のいずれにあるかを反映する。物理的な値の例は、メモリセルMCの抵抗に基づく電圧を含み、この例の場合、情報保持回路271及び272は、キャパシタである。
【0059】
情報保持回路271及び272の一方は、読出し位置にあるメモリセルMCの状態に基づく値を保持する。読出し位置にあるメモリセルMCは、読出し位置セルMCと称される場合がある。情報保持回路271及び272の他方は、読出し位置セルMCに-Z方向において隣接するメモリセルMCの状態に基づく値を保持し、例えば、磁壁のシフト前に読出し位置にあったメモリセルMCの状態に基づく値を保持する。読出し位置セルMCに-Z方向において隣接するメモリセルMCは、前読出し位置セルMCと称される場合がある。
【0060】
センスアンプ273は、情報保持回路271及び272のそれぞれの値、すなわち、読出し位置セルMCについての値と、前読出し位置セルMCについての値とに基づいて、磁壁存在情報及び磁化情報を出力する。
【0061】
読出し位置セルMCについての値と前読出し位置セルMCについての値が実質的に同じである場合、例えば、2つの値の差が或る範囲に収まる場合、これは、読出し位置セルMCと前読出し位置セルMCが同じ磁化状態を有することを意味する。この場合、読出し位置セルMCと前読出し位置セルMCの間に磁壁は存在せず、よって、センスアンプ273は、磁壁が存在しない旨を示す磁壁存在情報、例えば、“0”データを出力する。
【0062】
一方、読出し位置セルMCについての値と前読出し位置セルMCについての値が異なる場合、例えば、2つの値の差が或る範囲を超える場合、これは、読出し位置セルMCと前読出し位置セルMCが異なる磁化状態を有することを意味する。この場合、読出し位置セルMCと前読出し位置セルMCの間に磁壁が存在し、よって、センスアンプ273は、磁壁が存在する旨を示す磁壁存在情報、例えば、“1”データを出力する。
【0063】
磁化情報は、前読出し位置セルMCがN極状態にあるとともに読出し位置セルMCがS極状態にある場合に、その旨の値、例えば、“0”データを有する。一方、磁化情報は、前読出し位置セルMCがS極状態にあるとともに読出し位置セルMCがN極状態にある場合に、その旨の値、例えば、“1”データを有する。磁化情報が有する値は、この例と逆であってもよい。
【0064】
1.2.動作
以下の記述は、磁気メモリ2が、S極状態のメモリセルMCを“0”データを記憶しているものとして扱うとともに、N極状態のメモリセルMCを“1”データを記憶しているものとして扱う例に基づく。磁気メモリ2は、S極状態のメモリセルMCによって“1”データを記憶するとともに、N極状態のメモリセルMCによって“0”データを記憶してもよい。
【0065】
1.2.1.データ書込み
図8は、第1実施形態のメモリシステムの磁気メモリによるデータ書込みのフローを示す。図8のフローは、磁気メモリ2が、データ書込みを指示する書込みコマンド、及び書込みデータを受け取ると、開始する。書込みコマンドは、書込みデータが書き込まれる対象のメモリセルMCを特定するアドレス情報ADDを含むか、付随する。
【0066】
磁気メモリ2は、書込みデータをデータラッチ31にセットする(ST1)。書込みデータは、1又は複数のビットを含む。複数ビットのデータ書込みの場合、1ビットずつデータが書き込まれる。
【0067】
磁気メモリ2、例えば、書込み回路26は、書込みデータ中のメモリセルMCに書き込まれるビット(書込みビット)を選択する(ST2)。書込みビットは、例えば、書込みデータのビット列の最上位ビットから最下位ビットに向かって1つずつ順に選択される。
【0068】
磁気メモリ2、例えば、制御回路23は、シフト制御回路29を制御して、書き込み先のメモリセルMCを書込み位置にシフトする(ST3)。書込み位置にあるメモリセルMCが未書込みの場合、ステップST3はスキップされる。
【0069】
書き込まれるビットが“0”データを有する場合(ST4_Yes)、磁気メモリ2、例えば、書込み回路26は、書込み先のメモリセルMCをS極状態にする(ST5)。書き込まれるビットが“1”データを有する場合(ST4_No)、磁気メモリ2、例えば、書込み回路26は、書込み先のメモリセルMCをN極状態にする(ST6)。
【0070】
ステップST5及びST6は、ステップST7に継続する。磁気メモリ2、例えば、書込み回路26は、書込みデータの全ビットが書き込まれたかを判断する(ST7)。全ビットが書き込まれている場合(ST7_Yes)、図8のフローは終了する。全ビットが書き込まれていない場合(ST7_No)、フローは、ステップST2に移行する。
【0071】
1.2.2.データ読出し
データ読出しは、磁化解決を使用する。磁化解決の原理が、図9図14を参照して記述される。図9図14は、第1実施形態のメモリシステムでの動作の間の幾つかの要素の状態を順に示す。図9図14の各々は、図の左右の方向において、相違する時刻を示す。図9図14の各々は、図の最上の行において、読出し位置の単位部分ML及びこの単位部分と並ぶ幾つかの単位部分MLを示す。図9図14の各々は、上から2つ目、3つ目、及び最下の行において、それぞれ、磁壁存在情報、仮読出しデータ、及び磁化情報ラッチの値を示す。仮読出しデータは、読出し対象の複数のメモリセルMCと同じ数のビットの列である。仮読出しデータは、各ビットにおいて、或るメモリセルMCの磁化状態を示す。仮読出しデータのビットは、最上位ビットから最下位ビットに向かって順に、読出しの間の磁壁のシフトの方向に向かって先頭から末尾に位置するメモリセルMCについて示す。仮読出しデータのビットは、最下位ビット(又は末尾ビット)から最上位ビット(又は先頭ビット)に向かって、第1位ビット、第2位ビット、第3位ビット、第4位ビット、及び第5位ビットと称される。以下、各ビットの値が無効なデータを有している状態は、記号「-」によって示される。
【0072】
図9に示されるように、例として、読出し対象は、5つのメモリセルMCであり、単位部分ML_N-1、ML_N-2、ML_N-3、ML_N-4、及びML_N-5、は、状態0にある。状態0において、単位部分ML_N-1、ML_N-2、ML_N-3、ML_N-4、及びML_N-5は、それぞれ、メモリセルMC1、MC2、MC3、MC4、及びMC5によって占められている。メモリセルMC1、MC2、MC4、及びMC5はN極状態にあり、メモリセルMC3はS極状態にある。
【0073】
メモリセルMC1の磁化状態が不明であり、よって、図10に示されるように、磁化解決回路33は、仮読出しデータの第1位ビットにおいて、仮の値のデータを記憶する。よって、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“----0”を有する。仮の値のデータは、“0”データ(すなわち、S極状態を示すデータ)であってもよいし、“1”データ(すなわち、N極状態を示すデータ)であってもよい。まず、“0”データを入れる例、すなわち、メモリセルMC1の磁化状態と逆の磁化状態が仮定されている例が記述される。すなわち、メモリセルMC1は、S極状態にあると仮定され、この仮定のもとに、後続の処理が起こる。
【0074】
磁化の変化が検出されていないため、磁化解決回路33は、磁化情報の値によらずに、磁化情報ラッチ32の値を更新しない。
【0075】
図11に示されるように、磁壁がシフトされ、状態1が得られる。状態1では、メモリセルMC2~MC5は、それぞれ、単位部分ML_N-1、ML_N-2、ML_N-3、及びML_N-4に位置する。
【0076】
メモリセルMC2がメモリセルMC1と同じ磁化状態を有するため、磁壁存在情報は“0”データを有する。磁化解決回路33は、仮読出しデータのビットを1ビット、上位ビット側にシフトするとともに、第1位ビットにおいて、磁壁存在情報に基づく値を記憶する。磁壁存在情報が磁壁の不在を示す場合、このことに基づいて、磁化解決回路33は、仮読出しデータの第1位ビットにおいて、第2位ビット(すなわち、磁壁シフト前の第1位ビット)の値と同じ値をセットする。すなわち、メモリセルMC2は、メモリセルMC1が有すると仮定されているS極状態と同じS極状態を有するとして扱われる。仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“---00”を有する。
【0077】
磁化の変化が起こっていないため、磁化解決回路33は、磁化情報の値によらずに、磁化情報ラッチ32の値を更新しない。
【0078】
図12に示されるように、磁壁がシフトされ、状態2が得られる。状態2では、メモリセルMC3~MC5は、それぞれ、単位部分ML_1、ML_2、及びML_3に位置する。
【0079】
メモリセルMC3がメモリセルMC2と異なる磁化状態を有するため、磁壁存在情報は“1”データを有する。磁化解決回路33は、仮読出しデータのビットを1ビット、上位ビット側にシフトするとともに、第1位ビットにおいて、磁壁存在情報に基づく値を記憶する。磁壁存在情報が磁壁の存在を示す場合、このことに基づいて、磁化解決回路33は、仮読出しデータの第1位ビットにおいて、第2位ビットと逆の値を記憶する。すなわち、メモリセルMC3は、メモリセルMC2が有すると仮定されているS極状態と逆のN極状態を有するとして扱われる。よって、仮読出しデータは、第5位から第1位ビットにおいて、それぞれ、“--001”を有する。
【0080】
磁化の変化が起こっているため、磁化解決回路33は、磁壁シフト前に磁化状態を判断されたメモリセルMC2が有すると仮定される磁化状態に基づいて、メモリセルMC3の極への変化を示す値で、磁化情報ラッチ32の値を更新する。現行の例では、メモリセルMC3がメモリセルMC2のN極状態からS極状態に変化しているため、磁化情報ラッチ32に“0”データがセットされる。
【0081】
図13に示されるように、図11及び図12を参照して上記されている処理と同じ処理が、続けて行われる。状態3では、メモリセルMC4及びMC5は、それぞれ、単位部分ML_0及びML_1に位置する。メモリセルMC4はメモリセルMC3の磁化状態と異なる磁化状態を有する。このため、磁壁存在情報は“1”データを有する。磁化解決回路33は、仮読出しデータのビットを、1ビット、上位ビット側にシフトするとともに、第1位ビットにおいて、第2位ビットと異なる値、すなわち“0”データをセットする。よって、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“-0010”を有する。メモリセルMC4がメモリセルMC3のS状態からN極状態に変化しているため、磁化情報ラッチ32に“1”データがセットされる。
【0082】
状態4では、メモリセルMC5は、単位部分ML_1に位置する。メモリセルMC5はメモリセルMC4の磁化状態と同じ磁化状態を有する。このため、磁壁存在情報は“0”データを有する。磁化解決回路33は、仮読出しデータのビットを、1ビット、上位ビット側にシフトするとともに、第1位ビットにおいて、第2位ビットと同じ値、すなわち“0”データをセットする。よって、仮読出しデータは、第5位から第1位ビットにおいて、それぞれ、“00100”を有する。磁化の変化が起こっていないため、磁化情報ラッチ32は“1”データを維持する。
【0083】
状態4から、磁壁のシフトが行われると、磁壁のシフトは完了する。すると、磁化解決回路33は、磁化解決を行う。磁化解決は、仮読出しデータの第1位ビットの値に基づいて、仮読出しデータから読出しデータを生成することを指す。
【0084】
磁化解決回路33は、磁化情報ラッチ32の値と、仮読出しデータの第1位ビットの値に基づいて、読出しデータを生成する。磁化解決回路33は、磁化情報ラッチ32の値と、仮読出しデータの第1位ビットの値が一致する場合、仮読出しデータをそのまま、読出しデータとして使用する。
【0085】
一方、磁化情報ラッチ32の値と、仮読出しデータの第1位ビットの値が一致しない場合、これは、読出し対象の最初のメモリセルMC(すなわち、メモリセルMC1)の仮定された磁化状態が実際の磁化状態と一致していないことを意味する。このことに基づいて、仮読出しデータの全ビットの値の反対の値の組を、読出しデータとして使用する。現行の例では、磁化情報ラッチ32の値と、仮読出しデータの第1位ビットの値が一致しない。このため、磁化解決回路33は、読出しデータとして、“11011”のビット列を読出しデータとして使用する。
【0086】
図14は、図9図13と異なり、読出し対象の最初のメモリセルMC(すなわち、メモリセルMC1)の仮定された磁化状態が実際の磁化状態と一致しているケースを示す。メモリセルMC1~MC5の磁化状態は、図9図13でのものと同じである。
【0087】
状態0において、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“----1”を有する。
【0088】
状態1において、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“---11”を有する。
【0089】
状態2において、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“--110”を有し、磁化情報ラッチ32は、“0”データを有する。
【0090】
状態3において、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“-1101”を有し、磁化情報ラッチ32は、“1”データを有する。
【0091】
状態4及び状態5において、仮読出しデータは、第5位ビットから第1位ビットにおいて、それぞれ、“11011”を有する。
【0092】
磁化情報ラッチ32の値と、仮読出しデータの第1位ビットの値は一致する。よって、磁化解決回路33は、仮読出しデータをそのまま、読出しデータとして使用する。
【0093】
図15は、第1実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。図15のフローは、磁気メモリ2が、データ読出しを指示する読出しコマンドを受け取ると、開始する。読出しコマンドは、データ読出しの対象のメモリセルMCを特定するアドレス情報ADDを付随するか、含む。
【0094】
磁気メモリ2は、まず、ステップST11、ST12、ST13、ST14、ST15、ST16、ST17、ST18、及びST19によって、仮読出しデータ及び磁化情報を取得する。
【0095】
磁気メモリ2、例えば、磁化解決回路33は、制御回路23の制御に従って、データラッチ31中の仮読出しデータの第1位ビットにおいて仮の値をセットする(ST11)。
【0096】
磁気メモリ2、例えば、制御回路23は、全読出し対象メモリセルMCについての仮読出しデータの取得が完了していない場合(ST12_No)、磁壁をシフトして(ST13)、次の読出し対象メモリセルMCを読出し位置に移動する。
【0097】
磁気メモリ2、例えば、磁化解決回路33は、読出し位置にあるメモリセルMCと、直前の磁壁シフト前に読出し位置にあったメモリセルMCとの間の磁壁の有無を判断する。磁壁が検知されない場合(ST14_No)、磁化解決回路33は、仮読出しデータのビットを、上位ビット側に1ビットシフトする(ST15)。次いで、磁化解決回路33は、仮読出しデータの第1位ビットにおいて、第2位ビットと同じ値をセットする(ST16)。ステップST16は、ステップST12に継続する。
【0098】
磁壁が検知される場合(ST14_Yes)、磁化解決回路33は、仮読出しデータのビットを上位ビット側に1ビットシフトする(ST17)。次いで、磁化解決回路33は、仮読出しデータの第1位ビットにおいて、第2位ビットの値と逆の値をセットする(ST18)。
【0099】
磁化解決回路33は、磁化情報を使用して、ステップST14として検知された磁壁の変化のタイプに基づく値で磁化情報ラッチ32の値を更新する(ST19)。ステップST19は、ステップST12に継続する。
【0100】
読出し対象メモリセルMCの全てについての仮読出しデータの取得が完了している場合(ST12_Yes)、処理はステップST21に移行する。磁気メモリ2は、ST21、ST22、及びST23によって磁化解決を行う。
【0101】
仮読出しデータの第1位ビットの値と、磁化情報ラッチ32の値が一致する場合(ST21_Yes)、磁化解決回路33は、仮読出しデータをそのまま、読出しデータとして使用する(ST22)。読出しデータの取得によって、図15のフローは終了する。
【0102】
仮読出しデータの第1位ビットの値と、磁化情報ラッチ32の値が一致しない場合(ST21_No)、磁化解決回路33は、仮読出しデータの全ビットにおいて逆の値を有するビットの組を、読出しデータとして生成する(ST23)。
【0103】
図16は、第1実施形態のメモリシステムによるデータ読出しのフローを示す。図16のフローは、ホスト装置5がメモリシステム1からデータを読み出すことを決定すると、開始する。
【0104】
ホスト装置5は、データ読出しを指示する読出し要求コマンドを送信する(ST31)。読出し要求コマンドは、データ読出しの対象の領域を指定するアドレスを付随するか、含む。
【0105】
メモリシステム1は、読出し要求コマンドを受け取ると、受け取られた読出し要求コマンドに基づいて、読出しコマンドを磁気メモリ2に送信する(ST32)。読出しコマンドの送信は、読出しコマンドの生成を含む。読出しコマンドの生成は、データ読出し要求の対象の領域(例えば、論理アドレス)から、データ読出し要求の対象のデータを記憶しているメモリセルMCを特定する情報(例えば、物理アドレス)を取得することを含む。読出しコマンドは、データ読出しの対象のメモリセルMCを特定するアドレス情報ADDを含むか、付随する。
【0106】
磁気メモリ2は、読出しコマンドを受け取ると、磁化解決を使用するデータ読出しを行う(ST33)。磁化解決を使用するデータ読出しは、図15に示されるフローのステップST11、ST12、ST13、ST14、ST15、ST16、ST17、ST18、ST19、ST21、ST22、及びST23の実行を含む。ステップST33の完了によって、読出しデータが得られる。
【0107】
磁気メモリ2、例えば、制御回路23は、読出しデータをメモリコントローラ3に送信する(ST34)。
【0108】
メモリコントローラ3は、読出しデータを受け取ると、エラー訂正回路16を使用して、読出しデータに対するエラー訂正を行う(ST35)。エラー訂正に成功する場合(ST36_Yes)、メモリコントローラ3は、エラーを訂正されたデータを、読出し要求の対象のデータとして、ホスト装置5に送信する(ST37)。エラー訂正に成功する場合は、エラー訂正対象データがエラーを含んでいないケースを含む。ホスト装置5が、読出し要求対象のデータを受け取る(ST38)と、図16のフローは終了する。
【0109】
エラー訂正に失敗する場合(ST36_No)、メモリコントローラ3は、読出しエラーのステータスを示す信号をホスト装置5に送信する(ST39)。ホスト装置5が、ステータスを受け取る(ST40)と、図16のフローは終了する。
【0110】
1.3.利点(効果)
第1実施形態によれば、以下に記述されるように、読み出されるデータのエラービットの少ない磁気メモリ及びメモリシステムが提供される。
【0111】
単位部分に1ビットデータを記憶することが考えられる。このようなタイプは以下、磁化・データ対応タイプと称される。MTJ素子の2つの強磁性層の磁化が平行である場合のMTJ素子の抵抗と、2つの強磁性層の磁化が反平行である場合のMTJ素子の抵抗と、の差は小さい。このため、磁化・データ対応タイプでデータを記憶するとともに、抵抗の差を使用してデータを読み出すことは困難である。このため、磁壁シフトを使用するメモリは、広く、単位部分の間において1ビットデータを記憶する。例えば、隣り合う2つの単位部分の間に磁壁が存在しない場合は、この単位部分の間は“0”データを記憶していると扱われ、2つの単位部分の間に磁壁が存在する場合は、この単位部分の間は“1”データを記憶していると扱われる。このようなタイプは、以下、磁壁・データ対応タイプと称される。
【0112】
単位部分の磁化状態は、図17に示されるように、データ書き込みの後に、意図せずに変化することがある。また、データ書込みに失敗して、書込みデータと異なるデータが書き込まれることがある。例として、単位部分ML_1、ML_2、ML_3、ML_4、及びML_5をそれぞれS極、N極、N極、S極、及びS極状態とすることによって磁壁によって“1010”データが書き込まれた、又は書き込まれる予定であったが、読出しのときに、単位部分ML_N-2がS極状態になっているとする。この場合、書き込まれるはず、又は書き込まれたデータは、“1010”データであるが、“0110”データが読み出される。これは、1つの単位部分の磁化状態の反転が2ビットのエラーを生んだことを意味する。さらに、データ読出しのときに、磁壁シフトに失敗する場合がある。この場合、多くの単位部分での磁化が誤って判断され、ビットエラーの数は多い。
【0113】
第1実施形態によれば、磁気メモリ2は、読出し対象のメモリセルMCの磁化状態が、この読出し対象メモリセルMCに隣接するとともに先に磁化状態を判断されたメモリセルMCの磁化状態との異同を使用して、仮読出しデータを生成する。そして、磁気メモリ2は、隣り合う2つのメモリセルMCの磁化の変化のタイプを示す磁化情報を更新し続け、磁化情報と仮読出しデータを使用して読出しデータを生成する。先頭の読出し対象メモリセルMCの磁化状態は未知であるが、仮の値を使用するとともに、隣り合うメモリセルの磁化の変化と変化のタイプを使用して、仮の値が違っていたとしても、正しい読出しデータが生成されることが可能である。このような手法により、磁化・データ対応タイプであってもデータが読み出されることが可能である。
【0114】
磁化・データ対応タイプによって、1つの単位部分の磁化状態の反転によって生じるエラービットの数は、1ビットに制限される。よって、エラービット数の少ない磁気メモリ2が実現される。
【0115】
また、第1実施形態のメモリシステム及び磁気メモリは、磁化・データ対応タイプであることによって、低いレイテンシでデータを読み出せるとともに、大きな記憶容量を有する。図17から明らかなように、5つの単位部分MLによって、磁壁・データ対応タイプは4ビットのデータを記憶するのに対し、第1実施形態のような磁化・データ対応タイプは5ビットのデータを記憶できる。よって、或るビット数のデータの読出しは、磁化・データ対応タイプのケースで、磁壁・データ対応タイプのケースより早く完了する。磁化・データ対応タイプは、或る数の単位部分によって、磁壁・データ対応タイプのケースでの同じ数の単位部分MLの使用のケースよりも多くのビットを実現できる。
【0116】
また、第1実施形態のメモリシステム及び磁気メモリは、磁化・データ対応タイプであることによって、データを書込み済みの磁性体の未書込みの単位部分にデータを追記できる。磁壁・データ対応タイプは、磁壁の有無によって相違するデータを記憶するため、データ書込みのために或る単位部分の磁化状態を決定するにあたり、隣の単位部分の状態を知る必要がある。このため、データを書込み済みの磁性体の未書込みの単位部分にデータを追記できない。一方、第1実施形態によれば、磁化・データ対応タイプであることによって、隣の単位部分MLの磁化状態を知る必要がなく、よって、データを書き込み済みの磁性体の未書込みの単位部分MLにデータを追記できる。
【0117】
1.4.変形例
ここまでの記述は、データ書込み及びデータ読出しが、FIFOタイプである例に基づくが、第1実施形態は、LIFO(Last In First Out)タイプも採用できる。データ読出しのときの磁壁のシフトの方向は、FIFOタイプではデータ書込みのときの磁壁のシフトの方向と同じであるのに対し、LIFOタイプでは、データ書込みのときの磁壁のシフトの方向と反対である。LIFOタイプでは、積層体LSがZ方向に関して反転された構造が単位部分ML_0と導電体42の間に位置する。
【0118】
ホスト装置5からの書込み要求の対象のデータのビットが全て同じ値を有する場合、データを書き込まれた単位部分MLの組は、磁壁を含まない。このような場合、メモリセルに書き込まれるビット列の、例えば1つビットの値を敢えて反転させて、エラービットを作成することができる。エラービットの作成は、メモリコントローラ3によって行われてもよいし、磁気メモリ2によって行われてもよい。
【0119】
2.第2実施形態
第2実施形態は、磁化解決を行う構成要素の点で、第1実施形態と異なる。
【0120】
図18は、第2実施形態のメモリシステムのメモリコントローラの機能ブロックの例を示す。図18に示されるように、メモリコントローラ3bは、第1実施形態のメモリコントローラ3に含まれる機能ブロックに加えて、磁化解決部18をさらに含む。磁化解決部18は、磁化情報を使用して、仮読出しデータから読出しデータを生成する機能ブロックである。磁化解決部18は、専用の1以上の半導体チップ又は回路として実現されていてもよいし、半導体基板に形成された回路であってもよい。又は、磁化解決部18は、ROM12に記憶されているとともにRAM13上にロードされたプログラムがCPU14によって実行されることによって実現されるサブ部分として実現されてもよい。
【0121】
磁化解決部18は、第1実施形態のメモリシステムの磁化解決回路33の機能の一部を実行する。すなわち、磁化解決部18は、メモリコントローラ3bがデータ読出しコマンドを送信したことに応答して、磁気メモリ2bから仮読出しデータ及び磁化情報を受け取る。磁化解決部18は、受け取られた仮読出しデータ及び磁化情報に基づいて、読出しデータを生成する。
【0122】
磁気メモリ2bは、第1実施形態の磁気メモリ2の機能ブロックと同じ機能ブロックを含む。磁気メモリ2bの磁化解決回路33bは、第1実施形態と同じく、磁壁存在情報に基づいて仮読出しデータを生成するとともに、磁化情報ラッチ32中の値を更新する。一方、磁化解決回路33bは、磁化解決を行わない。
【0123】
図19は、第2実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。図19のフローは、磁気メモリ2bが、読出しコマンドを受け取ると、開始する。図19のフローは、読出し対象メモリセルMCの全てについての仮読出しデータの取得が完了している場合(ST12_Yes)にフローが終了する点で、第1実施形態の図15のフローと異なる。
【0124】
図20は、第2実施形態のメモリシステムによるデータ読出しのフローを示す。図20のフローは、ホスト装置5がメモリシステム1bからデータを読み出すことを決定すると、開始する。
【0125】
図20に示されるように、ステップST32は、ステップST41に継続する。ステップST41として、磁気メモリ2bは、仮読出しデータ及び磁化情報を取得する。仮読出しデータ及び磁化情報の取得は、図19に示されるフローのステップST11、ST12、ST13、ST14、ST15、ST16、ST17、ST18、及びST19の実行を含む。
【0126】
磁気メモリ2bは、メモリコントローラ3bに、仮読出しデータ、及び磁化情報ラッチ32b中の磁化情報を送信する(ST42)。
【0127】
メモリコントローラ3bは、仮読出しデータ及び磁化情報を受け取ると、磁化解決部18を使用して、磁化解決を行う(ST43)。磁化解決は、第1実施形態の図15に示されるフローのステップST21、ST22、及びST23の実行を含む。磁化解決によって、読出しデータが得られる。ステップST43は、ステップST35に継続する。ステップST35を含む後続の動作は、第1実施形態(図16)での動作と同じである。
【0128】
第2実施形態によれば、磁気メモリ2bは、第1実施形態と同じく仮読出しデータ及び磁化情報を生成し、メモリコントローラ3bは、磁化解決を行って読出しデータを生成する。よって、第1実施形態と同じ利点を得られる。
【0129】
3.第3実施形態
第3実施形態は、磁化情報の記憶の方法の点で、第1実施形態と異なる。
【0130】
第3実施形態のメモリコントローラ3cは、第1実施形態のメモリコントローラ3の機能ブロックと同じ機能ブロックを有する。一方、メモリコントローラ3cのエラー訂正回路16cは、後述の動作を行えるように構成されている。
【0131】
図21は、第3実施形態のメモリシステムの磁気メモリの機能ブロックの例を示す。図21に示されるように、磁気メモリ2cは、第1実施形態の磁気メモリ2に含まれる機能ブロックに加えて、磁壁存在情報ラッチ37を含む。磁壁存在情報ラッチ37は、シフトレジスタの機能を有する。磁化情報ラッチ32cも、シフトレジスタの機能を有する。
【0132】
図22は、第1実施形態の図9図14と同様に、第3実施形態のメモリシステムでの動作の間の幾つかの要素の状態を示す。図22は、上から2つ目、3つ目、4つ目、及び最下の行において、それぞれ、磁壁存在情報、仮読出しデータ、磁壁存在情報ラッチの値、及び磁化情報ラッチの値を示す。
【0133】
磁壁存在情報ラッチ37は、シフトレジスタと同じ動作を行って、磁壁存在情報を蓄積する。すなわち、磁壁存在情報ラッチ37は、新たな磁壁存在情報を受け取る度に、すでに記憶している磁壁存在情報のビットを上位ビット側に1ビットシフトし、第1位ビットに、最後に受け取られた磁壁存在情報をセットする。
【0134】
磁化情報ラッチ32cは、第1実施形態と異なり、シフトレジスタと同じ動作を行って、磁化情報を蓄積する。すなわち、磁化情報ラッチ32cは、新たな磁化情報を受け取る度に、すでに記憶している磁化情報のビットを上位ビット側に1ビットシフトし、第1位ビットに、最後に受け取られた磁化情報をセットする。
【0135】
磁化解決は、仮読出しデータの第1位ビットの値と、磁化情報ラッチ32cのビットのうちで、磁壁存在情報ラッチ37の“1”データを有する全ビットのうちの最下位のビットと同位のビットの値との比較によって行われる。すなわち、磁化解決回路33cは、仮読出しデータの第1位ビットの値と、磁化情報ラッチ32cのビットのうちで、磁壁存在情報ラッチ37の“1”データを有する全ビットのうちの最下位のビットと同位のビットの値が一致する場合、仮読出しデータをそのまま、読出しデータとして使用する。以下、磁壁存在情報ラッチ37の“1”データを有する全ビットのうちの最下位のビットは、“1”データ最下位ビットと称される場合がある。
【0136】
一方、磁化解決回路33cは、仮読出しデータの第1位ビットの値と、磁化情報ラッチ32cのビットのうちで磁壁存在情報ラッチ37の“1”データ最下位ビットと同位のビットの値が一致しない場合、仮読出しデータの全ビットの値の反対の値の組を、読出しデータとして使用する。
【0137】
3.2.動作
図23及び図24は、第3実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。図23及び図24に示されるように、ステップST16の後、磁化解決回路33cは、磁壁存在情報ラッチ37のビットを、上位ビット側に1ビットシフトする(ST51)。磁化解決回路33cは、磁壁存在情報ラッチ37の第1位ビットに“0”をセットする(ST52)。磁化解決回路33cは、磁化情報ラッチ32cのビットを、上位ビット側に1ビットシフトする(ST53)。磁化解決回路33cは、磁化情報ラッチ32cの第1位ビットに“0”をセットする(ST54)。ステップST54は、ステップST12に継続する。
【0138】
ステップST18の後、磁化解決回路33cは、磁壁存在情報ラッチ37のビットを、上位ビット側に1ビットシフトする(ST55)。磁化解決回路33cは、磁壁存在情報ラッチの第1位ビットに、“1”をセットする(ST56)。磁化解決回路33cは、磁化情報ラッチ32cのビットを、上位ビット側に1ビットシフトする(ST57)。磁化解決回路33cは、磁化情報ラッチ32cの第1位ビットに、磁化情報の値をセットする(ST58)。ステップST58は、ステップST12に継続する。
【0139】
読出し対象メモリセルMCの全てについての仮読出しデータの取得が完了している場合(ST12_Yes)、処理はステップST59に移行する。磁気メモリ2は、ST59、ST22、及びST23によって磁化解決を行う。
【0140】
仮読出しデータの第1位ビットの値と、磁化情報ラッチ32cのビットのうちで磁壁存在情報ラッチ37の“1”データ最下位ビットと同位のビットの値が一致する場合(ST59_Yes)、処理は、ステップST22に移行する。仮読出しデータの第1位ビットの値と、磁化情報ラッチ32cのビットのうちで磁壁存在情報ラッチ37の“1”データ最下位ビットと同位のビットの値が一致しない場合(ST59_No)、処理は、ステップST23に移行する。
【0141】
ステップST15及びST16の組、ステップST51及びST52の組、並びにステップST53及びST54の組は、任意の順序で行われることが可能である。ステップST17及びST18の組、ステップST55及びST56の組、並びにステップST57及びST58の組は、任意の順序で行われることが可能である。
【0142】
図25及び図26は、第3実施形態のメモリシステムによるデータ読出しのフローを示す。図25及び図26のフローは、ホスト装置5がメモリシステム1cからデータを読み出すことを決定すると、開始する。
【0143】
図25及び図26に示されるように、ステップST32は、ステップST61に継続する。ステップST61として、磁気メモリ2cは、磁化解決を使用するデータ読出しを行う。磁化解決を使用するデータ読出しは、図23及び図24に示されるフローのステップST11、ST12、ST13、ST14、ST15、ST16、ST17、ST18、ST22、ST23、ST51、ST52、ST53、ST54、ST55、ST56、ST57、ST58、及びST59の実行を含む。ステップST61の完了によって、読出しデータが得られる。ステップST61は、ステップST34に継続する。
【0144】
エラー訂正に失敗する場合(ST36_No)、メモリコントローラ3cは、磁壁存在情報ラッチ37中の磁壁存在情報のビット列、及び磁化情報ラッチ32c中の磁化情報のビット列の出力を指示するコマンドを磁気メモリ2cに送信する(ST62)。
【0145】
磁気メモリ2cは、コマンドを受け取ると、磁壁存在情報及び磁化情報をメモリコントローラ3cに送信する(ST63)。
【0146】
メモリコントローラ3c、例えば、エラー訂正回路16cは、読出しデータ中の、磁壁存在情報及び磁化情報を使用して決定された複数のビットの値を反転させることによって、磁壁の誤検知に基づくエラーが訂正されていると推定される読出しデータの1又は複数の候補を生成する(ST64)。磁壁誤検知に基づくエラーが訂正されていると推定される読出しデータ候補の生成の詳細は、図27を参照して後述される。
【0147】
メモリコントローラ3cは、エラー訂正回路16cを使用して、磁壁誤検知によるエラーを訂正されていると推定される読出しデータ候補に対するエラー訂正を行う(ST65)。磁壁誤検知によるエラーが訂正されることにより、ステップST36としてのエラー訂正が失敗する読出しデータのステップST65としてのエラー訂正に成功する場合がある。エラー訂正に成功する場合(ST66_Yes)、処理は、ステップST37に移行する。エラー訂正に失敗する場合(ST66_No)、処理は、ステップST39に移行する。
【0148】
図27は、第3実施形態のメモリシステムにおける動作の間に生成されるデータの例を示す。具体的には、図27は、第3実施形態のメモリシステムによる磁壁誤検知に起因するエラーの訂正の間に生成されるデータの例を示す。
【0149】
読出し対象のメモリセルMCに書き込まれたデータ、ひいては、得られるべき読出しデータが、最初に読み出されたビット(最上位ビット)から順に“11000010”を有している例が想定される。第4位ビットを記憶しているメモリセルMCと第5位ビットを記憶しているメモリセルMCとの間で磁壁が存在しないにも関わらず、誤って磁壁が検知されたとする。この結果、得られる仮読出しデータは、最上位ビットから順に“11001101”を有する。磁壁存在情報は、第7位ビットから第1位ビットにおいて、それぞれ、“0101011”を有する。磁化情報ラッチは、第7位ビットから第1位ビットにおいて、それぞれ、“0001010”を有する。
【0150】
磁化解決により、“00110010”の読出しデータが生成される。読出しデータは、得られるはずの(又は、正しい)読出しデータと相違しており、誤検知された磁壁より上位ビット側の全ビットにおいて、正しい読出しデータのビットの値と相違している。この現象に基づいて、エラー訂正回路16cは、以下の処理を行って、磁壁誤検知がない場合に得られるはずであると推定される幾つかの読出しデータの候補を生成する。
【0151】
磁壁が存在する場合、磁壁の両側のメモリセルMCの磁化状態は相違する。したがって、磁化情報ラッチは、磁壁の両側のメモリセルMCの値について、反対の値を有するはずである。このことに基づいて、例えば、エラー訂正回路16c、磁化情報ラッチ32cのビットのうち磁壁存在情報ラッチ37において“1”データを有するビットと同じビットを参照する。第6位ビットと第4位ビットでは、値は反転している。しかしながら、第4位ビットと第2位ビットでは、値が同じである。磁化は2つの状態の間を交互に切り替わるので、隣合う第1の磁壁と第2の磁壁の両方において、磁化が同じ方向に変化することは起こらないはずである。このことに基づいて、例えば、エラー訂正回路16cは、磁壁存在情報ラッチ37で磁壁の存在を示すとともに磁化情報ラッチ32cで同じ値を保持する2つのビットの各々の上位ビット側の境界、及びこれらの境界の間の全ての境界のいずれかで磁壁が誤って検知されたと推定する。図27の例では、仮読出しデータの第5位ビットと第4位ビットの境界、第4位ビットと第3位ビットの境界、及び第3位ビットと第2位ビットの境界のいずれかで磁壁が誤検知されたと推定する。この推定に基づいて、全ての境界の各々について、最上位ビットから当該境界までの全ビットにおいて値が反転された複数の読出しデータを、候補として生成する。
【0152】
第3実施形態によれば、磁気メモリ2cは、第1実施形態と同じく仮読出しデータ及び磁化情報を生成し、磁化解決を行って読出しデータを生成する。よって、第1実施形態と同じ利点を得られる。
【0153】
また、第3実施形態によれば、磁気メモリ2cは、読出し対象のメモリセルMCの全体に亘って、磁壁存在情報と磁化情報を蓄積する。そして、メモリコントローラ3cは、読出しコマンドに応答して最初に受け取った読出しデータのエラー訂正に失敗する場合、磁気メモリ2cから磁壁存在情報のビット列と磁化情報のビット列を受け取り、これに基づいて、最初に受け取った読出しデータのエラーの訂正を試みる。よって、メモリシステム1cは、エラー訂正符号を使用するエラー訂正に加えて、別のエラー訂正の仕組みを有することにより、少ない読出しエラーを達成できる。
【0154】
4.第4実施形態
第4実施形態は、磁化解決を行う構成要素の点で、第3実施形態と異なる。
【0155】
第4実施形態のメモリシステム1dのメモリコントローラ3dは、第2実施形態のメモリコントローラ3bと同じ構成を有する。ただし、メモリコントローラ3dは、後述の動作を行えるように構成されている。
【0156】
第4実施形態のメモリシステム1dの磁気メモリ2dは、第3実施形態の磁気メモリ2cの機能ブロックと同じ機能ブロックを含む。磁気メモリ2dの磁化解決回路33dは、第1実施形態と同じく、磁壁存在情報に基づいて仮読出しデータを生成し、第3実施形態と同じく、磁壁存在情報ラッチ37dにおいて磁壁存在情報を蓄積するとともに、磁化情報ラッチ32dにおいて磁化情報を蓄積する。一方、磁化解決回路33dは、磁化解決を行わない。
【0157】
図28は、第4実施形態のメモリシステムの磁気メモリによるデータ読出しのフローを示す。図28のフローは、磁気メモリ2dが、読出しコマンドを受け取ると、開始する。図28のフローは、読出し対象メモリセルMCの全てについての仮読出しデータの取得が完了している場合(ST12_Yes)にフローが終了する点で、第3実施形態の図23のフローと異なる。
【0158】
図29は、第4実施形態のメモリシステムによるデータ読出しのフローを示す。図29のフローは、ホスト装置5がメモリシステム1dからデータを読み出すことを決定すると、開始する。
【0159】
図29に示されるように、ステップST32は、ステップST71に継続する。ステップST71として、磁気メモリ2dは、仮読出しデータ、磁壁存在情報のビット列、及び磁化情報のビット列を取得する。仮読出しデータ、磁壁存在情報のビット列、及び磁化情報のビット列の取得は、図28に示されるフローのステップST11、ST12、ST13、ST14、ST15、ST16、ST17、ST18、ST51、ST52、ST53、ST54、ST55、ST56、ST57、及びST58の実行を含む。
【0160】
磁気メモリ2dは、メモリコントローラ3dに、仮読出しデータ、磁壁存在情報ラッチ37中の磁壁存在情報のビット列、磁化情報ラッチ32d中の磁壁存在情報のビット列を送信する(ST72)。
【0161】
メモリコントローラ3dは、仮読出しデータ、磁壁存在情報のビット列、及び磁化情報のビット列を受け取ると、磁化解決部18dを使用して、磁化解決を行う(ST73)。磁化解決は、第3実施形態の図23及び図24に示されるフローのステップST59、ST22、及びST23の実行を含む。磁化解決によって、読出しデータが得られる。ステップST73は、ステップST35に継続する。ステップST35を含む後続の動作は、第3実施形態(図26)での動作と同じである。
【0162】
第4実施形態によれば、磁気メモリ2dは、第3実施形態と同じく仮読出しデータ及び磁化情報を生成し、メモリコントローラ3dは、磁化解決を行って読出しデータを生成する。よって、第3実施形態と同じ利点を得られる。
【0163】
また、第4実施形態によれば、第3実施形態と同じく、読出し対象のメモリセルMCの全体に亘って、磁壁存在情報と磁化情報が蓄積され、読出しコマンドに応答して最初に受け取られた読出しデータのエラー訂正に失敗する場合、磁壁存在情報のビット列と磁化情報のビット列に基づいて、最初に受け取った読出しデータのエラーの訂正を試みる。よって、第3実施形態と同じ利点を得られる。
【0164】
ステップST72として仮読出しデータ及び磁化情報のみが送信されるとともに、ステップST64の直前にメモリコントローラ3dがコマンドの送信によって磁気メモリ2dから磁壁存在情報ラッチ37中の磁壁存在情報のビット列を取得してもよい。
【0165】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0166】
100…情報処理システム、
1…メモリシステム、
5…ホスト装置、
2…磁気メモリ、
3…メモリコントローラ、
11…ホストインターフェース、
12…ROM、
13…RAM、
14…CPU、
15…メモリインターフェース、
16…エラー訂正回路、
21…メモリセルアレイ、
STR…ストリング、
MC…メモリセル、
SL…ソース線、
BL…ビット線、
EL…フィールド線、
22…入出力回路、
23…制御回路、
24…ロウ選択回路、
25…カラム選択回路、
26…書込み回路、
27…読出し回路、
29…シフト制御回路、
31…データラッチ、
32…磁化情報ラッチ、
33…磁化解決回路、
UT…磁性体、
LS…積層体、
41…導電体、
42…導電体、
43…導電体、
ML…単位部分、
271…情報保持回路、
272…情報保持回路、
273…センスアンプ、
18…磁化解決部、
37…磁壁存在情報ラッチ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29