(57)【要約】【課題】抵抗変化型メモリにおける抵抗状態の切り分けに十分な余裕を確保して、信頼性の高いデータリードを行う。【解決手段】メモリは、それぞれが第１および第２の値の何れかを示す複数のメモリセルを備える。リード領域識別情報記憶部は、第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れであるかを識別するためのリード領域識別情報を記憶する。リード要求部は、リード領域識別情報に基づいて複数の領域の何れであるかを識別して、その識別された領域のリード基準に従ったリードを行うようメモリに要求する。【選択図】図１６
2017054248.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが第１および第２の値の何れかを示す複数のメモリセルから構成されるメモリにおいて前記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れであるかを識別するためのリード領域識別情報を記憶するリード領域識別情報記憶部と、
前記リード領域識別情報に基づいて前記複数の領域の何れであるかを識別して当該識別された領域の前記リード基準に従ったリードを行うよう前記メモリに要求するリード要求部と
を具備するメモリコントローラ。
【請求項２】
前記メモリセルは抵抗変化型メモリであり、
前記リード基準は、前記メモリセルの抵抗状態を切り分けるためのリファレンス抵抗値である
請求項１記載のメモリコントローラ。
【請求項３】
前記複数の領域のうち第１の領域においては、フォーミング処理された前記メモリセルの抵抗状態と前記フォーミング処理がされていない前記メモリセルの抵抗状態とが第１のリファレンス抵抗値によって切り分けられ、
前記複数の領域のうち第２の領域においては、前記第１のリファレンス抵抗値よりも低い第２のリファレンス抵抗値によって２つの抵抗状態の何れかが切り分けられる
請求項２記載のメモリコントローラ。
【請求項４】
前記第１の領域においては前記第２の領域よりもエラー訂正能力の低いエラー訂正コードを用いてエラー訂正処理を行うエラー訂正処理部をさらに具備する請求項３記載のメモリコントローラ。
【請求項５】
前記第１の領域について前記フォーミング処理がされていない前記メモリセルに対して前記フォーミング処理を行って前記第２の領域に変化させる請求項３記載のメモリコントローラ。
【請求項６】
前記第１の領域にはコントローラファームウェアが予め記憶され、
前記第１の領域から読み出された前記コントローラファームウェアを実行する
請求項３記載のメモリコントローラ。
【請求項７】
前記リード領域識別情報記憶部は揮発性メモリから構成され、
前記リード領域識別情報を前記リード領域識別情報記憶部に供給するリード領域識別情報供給部をさらに具備する
請求項１記載のメモリコントローラ。
【請求項８】
前記リード領域識別情報供給部は、不揮発性メモリから構成されて前記リード領域識別情報を記憶する第２のリード領域識別情報記憶部である請求項７記載のメモリコントローラ。
【請求項９】
前記リード領域識別情報供給部は、外部から前記リード領域識別情報を受け取るインターフェースである請求項７記載のメモリコントローラ。
【請求項１０】
それぞれが第１および第２の値の何れかを示す複数のメモリセルを具備し、
前記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れかに前記複数のメモリセルを区分する
メモリ。
【請求項１１】
前記メモリセルは抵抗変化型メモリであり、
前記リード基準は、前記メモリセルの抵抗状態を切り分けるためのリファレンス抵抗値である
請求項１０記載のメモリ。
【請求項１２】
前記複数の領域のうち第１の領域においては、フォーミング処理された前記メモリセルの抵抗状態と前記フォーミング処理がされていない前記メモリセルの抵抗状態とが第１のリファレンス抵抗値によって切り分けられ、
前記複数の領域のうち第２の領域においては、前記第１のリファレンス抵抗値よりも低い２つの抵抗状態の何れかが第２のリファレンス抵抗値によって切り分けられる
請求項１１記載のメモリ。
【請求項１３】
前記第１の領域について前記フォーミング処理がされていない前記メモリセルに対して前記フォーミング処理を行って前記第２の領域に変化させる請求項１２記載のメモリ。
【請求項１４】
それぞれが第１および第２の値の何れかを示す複数のメモリセルを備えるメモリと、
前記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れであるかを識別するためのリード領域識別情報に基づいて前記複数の領域の何れであるかを識別して当該識別された領域の前記リード基準に従ったリードを行うよう前記メモリに要求するメモリコントローラと
を具備するメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリシステムに関する。詳しくは、第１および第２の値の何れかを示す複数のメモリセルから構成されるメモリ、そのメモリコントローラ、および、そのメモリを含むメモリシステム。
【背景技術】
【０００２】
情報処理システムにおいては、ワークメモリとしてＤＲＡＭ（Dynamic Random Access Memory）等が用いられる。このＤＲＡＭは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。一方、近年、不揮発性メモリ（ＮＶＭ：Non-Volatile Memory）が用いられるようになっている。この不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ：Non-Volatile RAM）とに大別される。ここで、フラッシュメモリの代表例としては、ＮＡＮＤ型フラッシュメモリが挙げられる。一方、不揮発性ランダムアクセスメモリの例としては、ＲｅＲＡＭ（Resistance RAM）、ＰＣＲＡＭ（Phase-Change RAM）、ＭＲＡＭ（Magnetoresistive RAM）などが挙げられる。
【０００３】
このような不揮発性メモリの中で、抵抗変化型メモリであるＲｅＲＡＭは、可変セル抵抗の抵抗値を変化させることにより、メモリセルとしての記憶を実現する。すなわち、メモリセル構造を形成した後にフォーミング処理を行うことにより、メモリセル内の高抵抗層に電流パスを形成する。そして、メモリセルにデータを記録する際には、メモリセル内の高抵抗層に形成された電流パスの一部を形成または消滅させることにより、メモリの抵抗状態を遷移させる。具体的には、低抵抗状態（ＬＲＳ：Low Resistance State）と高抵抗状態（ＨＲＳ：High Resistance State）の何れであるかによって、「１」または「０」を記憶する。一方、記録されたデータの読出しの際には、リファレンス抵抗値とメモリセルの抵抗値とを比較して、低抵抗状態または高抵抗状態の何れの状態であるかを判断して、「１」または「０」のデータとして読み出す（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７６９７３１７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＲｅＲＡＭにおいては、電流パスの一部を形成または消滅するため、フォーミング処理に必要な電圧よりも低い電圧でデータ書込みが可能である。その一方で、メモリセルの高抵抗状態における抵抗値と低抵抗状態における抵抗値とが比較的近いため、時間経過による抵抗状態の劣化やノイズの影響によって、データ読出しの際の抵抗状態の切り分けの判断に誤りが生じるおそれがある。
【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、抵抗変化型メモリにおける抵抗状態の切り分けに十分な余裕を確保して、信頼性の高いデータリードを行うことを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、それぞれが第１および第２の値の何れかを示す複数のメモリセルから構成されるメモリにおいて上記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れであるかを識別するためのリード領域識別情報を記憶するリード領域識別情報記憶部と、上記リード領域識別情報に基づいて上記複数の領域の何れであるかを識別して当該識別された領域の上記リード基準に従ったリードを行うよう上記メモリに要求するリード要求部とを具備するメモリコントローラ、および、メモリシステムである。これにより、リード領域識別情報に基づいて識別された領域のリード基準に従ったリードを行うという作用をもたらす。
【０００８】
また、この第１の側面において、上記メモリセルは抵抗変化型メモリであり、上記リード基準は、上記メモリセルの抵抗状態を切り分けるためのリファレンス抵抗値であってもよい。これにより、ＲｅＲＡＭなどの抵抗変化型メモリにおいて、領域毎に異なるリード閾値によってリードを行うという作用をもたらす。
【０００９】
また、この第１の側面において、上記複数の領域のうち第１の領域においては、フォーミング処理された上記メモリセルの抵抗状態と上記フォーミング処理がされていない上記メモリセルの抵抗状態とが第１のリファレンス抵抗値によって切り分けられ、上記複数の領域のうち第２の領域においては、上記第１のリファレンス抵抗値よりも低い第２のリファレンス抵抗値によって２つの抵抗状態の何れかが切り分けられるようにしてもよい。これにより、第１のリファレンス抵抗値（高抵抗リード閾値）を用いた信頼性の高いリード処理と、第２のリファレンス抵抗値（通常リード閾値）を用いた通常のリード処理とを提供するという作用をもたらす。
【００１０】
また、この第１の側面において、上記第１の領域においては上記第２の領域よりもエラー訂正能力の低いエラー訂正コードを用いてエラー訂正処理を行うエラー訂正処理部をさらに具備するようにしてもよい。これにより、領域の性質に応じたエラー訂正処理を行うという作用をもたらす。
【００１１】
また、この第１の側面において、上記第１の領域について上記フォーミング処理がされていない上記メモリセルに対して上記フォーミング処理を行って上記第２の領域に変化させるようにしてもよい。これにより、第１の領域として利用されていた領域を第２の領域として再利用するという作用をもたらす。
【００１２】
また、この第１の側面において、上記第１の領域にはコントローラファームウェアが予め記憶され、上記第１の領域から読み出された上記コントローラファームウェアを実行するようにしてもよい。これにより、コントローラファームウェアの信頼性を向上させるという作用をもたらす。
【００１３】
また、この第１の側面において、上記リード領域識別情報記憶部は揮発性メモリから構成され、上記リード領域識別情報を上記リード領域識別情報記憶部に供給するリード領域識別情報供給部をさらに具備するようにしてもよい。ここで、上記リード領域識別情報供給部は、不揮発性メモリから構成されて上記リード領域識別情報を記憶する第２のリード領域識別情報記憶部であってもよい。また、上記リード領域識別情報供給部は、外部から上記リード領域識別情報を受け取るインターフェースであってもよい。
【００１４】
また、本技術の第２の側面は、それぞれが第１および第２の値の何れかを示す複数のメモリセルを具備し、上記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れかに上記複数のメモリセルを区分するメモリである。これにより、領域のリード基準に従ったリードを行うという作用をもたらす。
【００１５】
また、この第２の側面において、上記メモリセルは抵抗変化型メモリであり、上記リード基準は、上記メモリセルの抵抗状態を切り分けるためのリファレンス抵抗値であってもよい。これにより、ＲｅＲＡＭなどの抵抗変化型メモリにおいて、領域毎に異なるリード閾値によってリードを行うという作用をもたらす。
【００１６】
また、この第２の側面において、上記複数の領域のうち第１の領域においては、フォーミング処理された上記メモリセルの抵抗状態と上記フォーミング処理がされていない上記メモリセルの抵抗状態とが第１のリファレンス抵抗値によって切り分けられ、上記複数の領域のうち第２の領域においては、上記第１のリファレンス抵抗値よりも低い２つの抵抗状態の何れかが第２のリファレンス抵抗値によって切り分けられるようにしてもよい。これにより、第１のリファレンス抵抗値を用いた信頼性の高いリード処理と、第２のリファレンス抵抗値を用いた通常のリード処理とを提供するという作用をもたらす。
【００１７】
また、この第２の側面において、上記第１の領域について上記フォーミング処理がされていない上記メモリセルに対して上記フォーミング処理を行って上記第２の領域に変化させるようにしてもよい。これにより、メモリ自身の判断により、必要なメモリセルに対してフォーミング処理を行うという作用をもたらす。
【発明の効果】
【００１８】
本技術によれば、抵抗変化型メモリにおける抵抗状態の切り分けに十分な余裕を確保して、信頼性の高いデータリードを行うという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１９】
【図１】本技術の実施の形態における情報処理システムの一構成例を示す図である。
【図２】本技術の実施の形態におけるホストコンピュータ１００の一構成例を示す図である。
【図３】本技術の実施の形態におけるホストコンピュータ１００のプロセッサ１１０において動作するソフトウェアの例を示す図である。
【図４】本技術の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【図５】本技術の実施の形態におけるメモリコントローラ２００のＲＡＭ２２０に記憶される管理情報の例を示す図である。
【図６】本技術の実施の形態におけるアドレス変換テーブル２２１の例を示す図である。
【図７】本技術の実施の形態におけるリード領域識別情報２２２の例を示す図である。
【図８】本技術の実施の形態におけるファームウェア領域情報２２３の例を示す図である。
【図９】本技術の実施の形態における未割当物理ページ情報２２４の例を示す図である。
【図１０】本技術の実施の形態におけるメモリ３００の一構成例を示す図である。
【図１１】本技術の実施の形態におけるバッファ３４０に保持される各バッファの例を示す図である。
【図１２】本技術の実施の形態におけるメモリセルアレイ３１０の構造の一例を示す図である。
【図１３】本技術の実施の形態におけるメモリセルアレイ３１０に記憶されるデータの構造の一例を示す図である。
【図１４】本技術の実施の形態におけるメモリセル３１３の回路例を示す図である。
【図１５】本技術の実施の形態における可変セル抵抗３１５の概念図である。
【図１６】本技術の実施の形態におけるメモリセル３１３の抵抗分布を示す図である。
【図１７】本技術の実施の形態におけるメモリ３００の物理ページについてフォーミング処理が実行された後の例を示す図である。
【図１８】本技術の実施の形態におけるメモリ３００のライトリクエスト処理の処理手順例を示す流れ図である。
【図１９】本技術の実施の形態におけるメモリ３００の物理ページリセット処理の処理手順の一例を示す流れ図である。
【図２０】本技術の実施の形態におけるメモリ３００の物理ページセット処理の処理手順の一例を示す流れ図である。
【図２１】本技術の実施の形態におけるメモリ３００の通常リードリクエスト処理の処理手順の一例を示す流れ図である。
【図２２】本技術の実施の形態におけるメモリ３００の高抵抗リードリクエスト処理の処理手順の一例を示す流れ図である。
【図２３】本技術の実施の形態におけるメモリコントローラ２００の電源投入時のファームウェアロード処理の処理手順の一例を示す流れ図である。
【図２４】本技術の実施の形態におけるメモリコントローラ２００のファームウェアリード処理の処理手順の一例を示す流れ図である。
【図２５】本技術の第１の実施の形態におけるメモリコントローラ２００のリードコマンド処理の処理手順の一例を示す流れ図である。
【図２６】本技術の第１の実施の形態におけるメモリコントローラ２００のライトコマンド処理の処理手順の一例を示す流れ図である。
【図２７】本技術の第２の実施の形態におけるメモリ３００の物理ページの状態例を示す図である。
【図２８】本技術の第２の実施の形態におけるメモリコントローラ２００のＲＡＭ２２０に記憶される管理情報の例を示す図である。
【図２９】本技術の第２の実施の形態における高抵抗リード領域使用状況管理テーブル２２５の例を示す図である。
【図３０】本技術の第２の実施の形態におけるリード領域識別情報２２２の例を示す図である。
【図３１】本技術の第２の実施の形態におけるメモリ３００のセル選択フォーミングリクエスト処理の処理手順例を示す流れ図である。
【図３２】本技術の第２の実施の形態におけるメモリコントローラ２００の領域使用状況取得処理の処理手順例を示す流れ図である。
【図３３】本技術の第２の実施の形態におけるメモリコントローラ２００の未フォーミング領域ライトコマンド処理の処理手順例を示す流れ図である。
【図３４】本技術の第２の実施の形態におけるメモリコントローラ２００のリードコマンド処理の処理手順の一例を示す流れ図である。
【図３５】本技術の第２の実施の形態におけるメモリコントローラ２００のライトコマンド処理の処理手順の一例を示す流れ図である。
【図３６】本技術の第３の実施の形態におけるリード領域識別情報２２２の遷移の一例を示す図である。
【図３７】本技術の第３の実施の形態におけるメモリコントローラ２００のライトコマンド処理の処理手順の一例を示す流れ図である。
【図３８】本技術の第３の実施の形態におけるメモリコントローラ２００の全セルフォーミング処理の処理手順の一例を示す流れ図である。
【図３９】本技術の実施の形態の第１の変形例におけるメモリ３００の全セルフォーミングリクエスト処理の処理手順の一例を示す流れ図である。
【図４０】本技術の実施の形態の第２の変形例におけるメモリコントローラ２００のリード領域識別情報転送コマンド処理の処理手順の一例を示す流れ図である。
【発明を実施するための形態】
【００２０】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（コントローラファームウェアを高抵抗リード領域に予め記憶する例）
２．第２の実施の形態（高抵抗リード領域に対してライトを行う例）
３．第３の実施の形態（高抵抗リード領域を通常リード領域として再利用する例）
４．第１の変形例（フォーミング処理をメモリにおいて行う例）
５．第２の変形例（リード領域識別情報をホストコンピュータから供給する例）
６．第３の変形例（高抵抗リード領域のエラー訂正能力を低く設定する例）
【００２１】
＜１．第１の実施の形態＞
［メモリシステムの全体構成］
図１は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、ホストコンピュータ１００と、メモリシステム４００とから構成される。メモリシステム４００は、メモリ３００と、メモリコントローラ２００とから構成される。
【００２２】
ホストコンピュータ１００は、メモリシステム４００に対してデータのリードやライトなどを要求するコマンドを発行するものである。
【００２３】
メモリ３００は不揮発性メモリからなり、特に、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）を想定する。ＮＶＲＡＭの例として、この実施の形態では、抵抗変化型のＲｅＲＡＭに着目する。
【００２４】
メモリコントローラ２００は、ホストコンピュータ１００からの要求に対して、メモリ３００の制御を行うものである。このメモリコントローラ２００において、ホストコンピュータ１００側とのインターフェース（Ｉ／Ｆ）をホストインターフェース２０１と称し、メモリ３００側とのインターフェースをメモリインターフェース２０３と称する。
【００２５】
［ホストコンピュータの構成］
図２は、本技術の実施の形態におけるホストコンピュータ１００の一構成例を示す図である。このホストコンピュータ１００は、プロセッサ１１０と、ＲＡＭ１２０と、コントローラインターフェース１０２とを備える。これらは、ホストバス１８０によって相互に接続されている。
【００２６】
プロセッサ１１０は、ホストコンピュータ１００における全体の動作を制御するものである。このプロセッサ１１０において、図３に示すアプリケーションプログラム１１１、ホストＯＳ（オペレーティングシステム）１１２、および、デバイスドライバ１１３が動作する。
【００２７】
アプリケーションプログラム１１１は、ユーザからの指示によって動作する個別のプログラムである。アプリケーションプログラム１１１は、ホストＯＳ１１２に対して、メモリ３００からのデータリード指示、および、メモリ３００からのデータライト指示を行い、ホストＯＳ１１２からの応答を受け取る。
【００２８】
ホストＯＳ１１２は、ホストコンピュータ１００を動作させるための基本ソフトウェアである。ホストＯＳ１１２は、デバイスドライバ１１３に対して、メモリ３００からのデータリード指示、メモリ３００からのデータライト指示を行い、その応答を受け取る。
【００２９】
デバイスドライバ１１３は、ホストコンピュータ１００のハードウェアを制御するためのソフトウェアである。デバイスドライバ１１３は、コントローラインターフェース１０２からメモリコントローラ２００を経由して、メモリ３００にアクセスを行う。
【００３０】
ＲＡＭ１２０は、プロセッサ１１０が動作するために必要なコード領域およびデータ領域を記憶するメモリである。
【００３１】
コントローラインターフェース１０２は、メモリコントローラ２００とのやりとりを行うためのインターフェースである。
【００３２】
［メモリコントローラの構成］
図４は、本技術の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【００３３】
メモリコントローラ２００は、プロセッサ２１０と、ＲＡＭ２２０と、ＲＯＭ２３０と、ＥＣＣ処理部２４０と、ファームウェアロード部２５０と、ホストインターフェース２０１と、メモリインターフェース２０３とを備える。
【００３４】
プロセッサ２１０は、メモリコントローラ２００全体の制御を行うものである。このプロセッサ２１０は、ＲＯＭ２３０に格納されたソフトウェアを実行する。このプロセッサ２１０は、ホストコンピュータ１００から発行されたコマンドを解釈して、メモリ３００に対して必要なリクエストを要求する。このプロセッサ２１０においては、コントローラファームウェアが動作する。このコントローラファームウェアは、制御タスクおよびコマンド実行タスクから構成され、メモリ３００に記録される。プロセッサ２１０は、ＲＡＭ２２０をコード領域およびデータ領域として使用して、制御タスクおよびコマンド実行タスクを実行する。なお、プロセッサ２１０は、特許請求の範囲に記載のリード領域識別情報記憶部（リード領域識別情報２２２）、
リード要求部の一例である。
【００３５】
ＲＡＭ２２０は、揮発性のメモリであり、プロセッサ２１０のワーキングメモリや、メモリ３００を管理するデータを一時的に保持するための領域として用いられる。また、ＲＡＭ２２０は、ホストコンピュータ１００とメモリコントローラ２００との間で転送されるデータを一時的に保持するための領域や、メモリコントローラ２００とメモリ３００との間で転送されるデータを一時的に保持するための領域としても用いられる。このＲＡＭ２２０に記憶される管理情報などについては後述する。
【００３６】
ＲＯＭ２３０は、メモリシステムを制御するためのソフトウェアプログラムを格納するメモリである。
【００３７】
ＥＣＣ処理部２４０は、メモリ３００に記録されるデータのエラー訂正コード（ＥＣＣ：Error Correcting Code）の生成、および、メモリ３００から読み出したデータのエラー検出および訂正処理を実行するものである。ＥＣＣ処理部２４０は、例えば８ビットの訂正能力を有する。このとき想定する冗長ビット数は１６バイトである。
【００３８】
ファームウェアロード部２５０は、コントローラファームウェアをメモリ３００からロードしてＲＡＭ２２０に書き込むものである。メモリシステム４００に電源が投入されると、ファームウェアロード部２５０は、コントローラファームウェアをメモリ３００から読み出すために必要な情報を、ＲＯＭ２３０から取得する。そして、ファームウェアロード部２５０は、その情報に基づいてコントローラファームウェアを読み出して、ＲＡＭ２２０に書き込む。
【００３９】
図５は、本技術の実施の形態におけるメモリコントローラ２００のＲＡＭ２２０に記憶される管理情報の例を示す図である。ＲＡＭ２２０には、アドレス変換テーブル２２１と、リード領域識別情報２２２と、ファームウェア領域情報２２３と、未割当物理ページ情報２２４とが記憶されている。
【００４０】
アドレス変換テーブル２２１は、ホストコンピュータ１００がコマンドで指定する論理アドレスを、対応する物理アドレスに変換するためのテーブルである。このアドレス変換は、コマンド実行タスクによって実行される。この実施の形態では、論理アドレスは５１２バイトでアドレッシングされる。１つの論理アドレスに書き込まれる５１２バイトのデータは、メモリ３００の１つの物理ページにユーザデータとして書き込まれる。したがって、１つの論理アドレスに、１つの物理アドレスが割り当てられる。図６は、本技術の実施の形態におけるアドレス変換テーブル２２１の例を示す図である。この例では、物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までは、コントローラファームウェアが書き込まれていることを想定するため、コマンド実行タスクはこの領域をデータのライトおよびリードの対象として使用しない。なお、「０ｘ」はそれに続く数字が１６進数であることを表す。
【００４１】
リード領域識別情報２２２は、メモリ３００からリードする際のリファレンス抵抗として、通常リード閾値を用いる通常リード領域と、高抵抗リード閾値を用いる高抵抗リード領域とを識別するための情報を記憶するものである。図７は、本技術の実施の形態におけるリード領域識別情報２２２の例を示す図である。この例では、コントローラファームウェアが記憶される領域を高抵抗リード領域として区分し、それ以外の領域を通常リード領域と区分している。なお、リード領域識別情報２２２は、特許請求の範囲に記載のリード領域識別情報記憶部の一例である。
【００４２】
ファームウェア領域情報２２３は、コントローラファームウェアが記憶される領域を示す情報を記憶するものである。図８は、本技術の実施の形態におけるファームウェア領域情報２２３の例を示す図である。この例では、物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までにコントローラファームウェアが記憶されていることを想定する。
【００４３】
未割当物理ページ情報２２４は、論理アドレスに割り当てられていない物理ページアドレスを保持して管理するものである。ライトコマンドにおいて指定された論理アドレスに対して物理ページアドレスが割り当てられていない場合、この未割当物理ページ情報２２４から、ライト対象となる物理ページアドレスが取得される。物理ページアドレスを取得する際は、最もアドレスの値の小さい順に取得されていく。図９は、本技術の実施の形態における未割当物理ページ情報２２４の例を示す図である。
【００４４】
リード領域識別情報２２２およびファームウェア領域情報２２３に相当する情報は、メモリシステム４００の製造時または出荷時に、ＲＯＭ２３０に記憶されていることを想定する。リード領域識別情報２２２に相当する情報は、メモリシステム４００の電源投入時に、ＲＯＭ２３０から読み出されて、リード領域識別情報２２２としてＲＡＭ２２０に展開される。アドレス変換テーブル２２１および未割当物理ページ情報２２４は、メモリシステム４００の電源遮断時に、ＲＡＭ２２０からメモリ３００に書き込まれる。すなわち、ＲＯＭ２３０は、特許請求の範囲に記載の第２のリード領域識別情報記憶部の一例である。
【００４５】
［メモリの構成］
図１０は、本技術の実施の形態におけるメモリ３００の一構成例を示す図である。このメモリ３００は、メモリセルアレイ３１０と、ロウ制御部３１１と、カラム制御部３１２と、プレート制御部３２０とを備える。また、このメモリ３００は、ライト制御部３３１と、リード制御部３３２と、リフレッシュ制御部３３３と、バッファ３４０と、検証処理部３５０と、リクエスト処理部３６０とを備える。
【００４６】
また、このメモリ３００は、メモリコントローラ２００との間のインターフェースである制御インターフェース３０９を備えている。この制御インターフェース３０９は、メモリコントローラ２００からのリクエストや物理アドレスおよびパラメータの受信、メモリセルアレイ３１０へのライトデータの受信、メモリセルアレイ３１０からのリードデータの送信、制御データの受送信などを行う。また、このメモリ３００は、テストインターフェース３０８を備えている。このテストインターフェース３０８は、メモリシステム４００の製造時、または、メモリ３００の製造時に使用される。
【００４７】
メモリセルアレイ３１０は、複数のメモリセルからなるメモリセルアレイであり、ビット毎に２値の何れかの値を記憶するメモリセルが２次元状（マトリクス状）に多数配列されている。このメモリセルアレイ３１０にアクセスするメモリコントローラ２００からのリクエストの単位は物理ページ単位である。物理ページには物理ページアドレスが割り振られている。
【００４８】
ロウ制御部３１１は、リクエスト処理部３６０からの指示に従って、メモリセルアレイ３１０のロウアドレスを特定してアクセス制御するものである。カラム制御部３１２は、リクエスト処理部３６０からの指示に従って、メモリセルアレイ３１０のカラムアドレスを特定してアクセス制御するものである。プレート制御部３２０は、メモリセルアレイ３１０のメモリセルにセル電流を流すためのプレート電圧を制御するものである。
【００４９】
ライト制御部３３１は、メモリセルアレイ３１０に書込みを行うための制御を実行するものである。リード制御部３３２は、メモリセルアレイ３１０から読出しを行うための制御を実行するものである。リフレッシュ制御部３３３は、メモリセルアレイ３１０に対してリフレッシュを行うための制御を実行するものである。
【００５０】
バッファ３４０は、各リクエストを処理するために必要なデータを保持するバッファの格納領域である。このバッファ３４０の構成については後述する。
【００５１】
検証処理部３５０は、メモリセルアレイ３１０にデータが正しく書き込まれたか否かを検証（ベリファイ）するものである。
【００５２】
リクエスト処理部３６０は、メモリコントローラ２００からのリクエストを処理するためのものである。このリクエスト処理部３６０は、メモリコントローラ２００からのリクエストがライトリクエストであれば、ライト制御部３３１に制御を指示する。また、このリクエスト処理部３６０は、メモリコントローラ２００からのリクエストがリードリクエストであれば、リード制御部３３２に制御を指示する。また、このリクエスト処理部３６０は、メモリコントローラ２００からのリクエストがリフレッシュリクエストであれば、リフレッシュ制御部３３３に制御を指示する。
【００５３】
図１１は、本技術の実施の形態におけるバッファ３４０に保持される各バッファの例を示す図である。この例では、バッファ３４０に、ライトデータバッファ３４１と、リードデータバッファ３４２と、ベリファイバッファ３４３とが設けられることを想定している。
【００５４】
ライトデータバッファ３４１は、メモリセルアレイ３１０に対するライト対象となるライトデータを保持するバッファである。リードデータバッファ３４２は、メモリセルアレイ３１０から読み出されたリードデータを保持するバッファである。ベリファイバッファ３４３は、検証処理部３５０による検証（ベリファイ）結果を保持するバッファである。また、ベリファイバッファ３４３は、セット対象またはリセット対象となるビットを特定するためにも使用される。これら各バッファは、物理ページと同様にそれぞれ５２８バイト幅を有する。
【００５５】
図１２は、本技術の実施の形態におけるメモリセルアレイ３１０の構造の一例を示す図である。このメモリセルアレイ３１０においては、メモリセル３１３をマトリクス状に、ロウ方向にＮ行（Ｎは２以上の整数）、カラム方向に４２２４列として配置している。メモリセル３１３は、ワード線ＷＬ、ビット線ＢＬ、プレート線ＰＬに接続されている。同図において、Ｎ本のワード線ＷＬをＷＬ［１］乃至［Ｎ］、４２２４本のビット線ＢＬをＢＬ［１］乃至［４２２４］、４２２４本のプレート線ＰＬをＰＬ［１］乃至［４２２４］と記している。ワード線ＷＬはロウ制御部３１１に接続され、ビット線ＢＬはカラム制御部３１２に接続されている。
【００５６】
この例では、メモリセルアレイ３１０のロウ方向のメモリセルを６４個のブロックＢＬＫ３１８に分割している。したがって、ブロックＢＬＫ３１８の各々はＮ行６６列のメモリセルから構成される。同図において、６４個のブロックＢＬＫ３１８の各々をＢＬＫ［１］乃至［６４］と記している。ブロックＢＬＫ３１８の各々は、６６本のビット線ＢＬに接続することになる。ブロックＢＬＫ３１８内では、６６本のビット線ＢＬをカラム線ＣＬＭ［１］乃至［６６］と記している。
【００５７】
同一のワード線ＷＬに接続された４２２４個のメモリセルの集合を物理ページと称する。メモリコントローラ２００は、物理ページを単位としてメモリ３００にアクセスする。物理ページには、固有の物理ページアドレスが割り当てられる。
【００５８】
６４個のブロックＢＬＫ３１８の各々から１つずつ選択された６４個のメモリセルから構成される集合をグループと称する。ここでは、１つのグループに属するメモリセルの数は、メモリセルアレイ３１０において許容される電流量に基づいて決定されている。１本のワード線ＷＬに接続された４２２４個のメモリセルのうち、ＣＬＭ［１］に接続するメモリセルの集合を第１グループと称し、ＣＬＭ［２］に接続するメモリセルの集合を第２グループと称する。以下同様にして、ＣＬＭ［６６］に接続するメモリセルの集合を第６６グループと称する。
【００５９】
ロウ制御部３１１は、リクエスト処理部３６０から入力される物理ページアドレスに基づいて指定されるワード線ＷＬを選択し、所定の期間、所定の電圧により駆動する。ワード線ＷＬの電圧は、ワード線ＷＬに接続されたメモリセルを、ライト、リード、または、リフレッシュ可能な状態にするための電圧である。この電圧はワード線電圧と呼ばれ、ハイレベルでアクティブとなる。ロウ制御部３１１は、ワード線電圧としての波高値をもつパルスの印加タイミングと持続時間および印加電圧を制御する。
【００６０】
カラム制御部３１２は、ビット線ＢＬの電位を読み出すセンスアンプを含む。これにより、４２２４ビット（５２８バイト）のデータを一括して読み出すことができる。
【００６１】
プレート制御部３２０は、メモリセルアレイ３１０のメモリセルにセル電流を流すためのプレート電圧を制御する。このプレート電圧は、ビット線ＢＬの電圧との電圧差によってメモリセル電流の向きが決まる。そのため、プレート制御部３２０は、プレート電圧のビット線電圧に対する高さを制御して、セット時とリセット時とで電圧印可の方向を反転させるように制御する。リード時に印可される電圧の方向は、リセット時に印可される電圧の方向と同方向となるように制御を行う。
【００６２】
図１３は、本技術の実施の形態におけるメモリセルアレイ３１０に記憶されるデータの構造の一例を示す図である。
【００６３】
上述のように、メモリセルアレイ３１０は、メモリセル３１３をマトリクス状に、ロウ方向にＮ行、カラム方向に４２２４列として配置している。なお、ここでは、物理アドレスとして、「０ｘ００００００００」から「０ｘ０１ＦＦＦＦＦＦ」をＮ個のアドレスを割り当てている。「０ｘ」はそれに続く数字が１６進数であることを表すため、１０進数ではＮは「３３５５４４３２」となる。すなわち、メモリセルアレイ３１０は３３５５４４３２個の物理ページから構成され、「０」乃至「３３５５４４３１」の物理アドレスにより特定される。このとき、各物理ページは５２８バイト（４２２４ビット）を有する。
【００６４】
図１４は、本技術の実施の形態におけるメモリセル３１３の回路例を示す図である。ここでは、メモリセル３１３として可変抵抗素子を想定し、１つのアクセストランジスタ（ＡＴ）３１４と、１つの可変セル抵抗（Ｒｃｅｌｌ）３１５とにより構成されるものとする。可変セル抵抗３１５の一端はプレート線ＰＬに接続され、他端はアクセストランジスタ３１４のソース端子に接続される。アクセストランジスタ３１４のドレイン端子はビット線ＢＬに接続され、ゲート端子はワード線ＷＬに接続される。
【００６５】
可変セル抵抗３１５は、ビット線ＢＬよりプレート線ＰＬを一定電圧高くすると、低抵抗状態（ＬＲＳ：Low Resistance State）になる。この可変セル抵抗３１５を低抵抗状態にする動作を、セット動作と称する。一方、プレート線ＰＬよりもビット線ＢＬの電圧を上げると、可変セル抵抗３１５は、高抵抗状態（ＨＲＳ：High Resistance State）になる。この可変セル抵抗３１５を高抵抗状態にする動作を、リセット動作と称する。
【００６６】
低抵抗状態と高抵抗状態との間で抵抗状態を可逆的に変化させることにより、１つのメモリセルによって１ビットを記憶することが可能な、複数回の書換えが可能なメモリが実現される。電圧の印加を止めた後もデータは保持されるため不揮発性メモリとして機能する。以下では、低抵抗状態のセルから読み出されるデータを「１」とし、高抵抗状態から読み出されるデータを「０」とした例について説明するが、これらは何れに対応付けても構わない。
【００６７】
図１５は、本技術の実施の形態における可変セル抵抗３１５の概念図である。
【００６８】
セット動作においては、導電材料層３１５１に正電位（プラス電位）を印加するとともに、電極３１５４に負電位（マイナス電位）またはゼロ電位を印加すると、イオン源層３１５２から金属原子がイオン化して高抵抗層３１５３内を拡散していく。そして、電極側で電子と結合して析出し、または、高抵抗層３１５３の内部に拡散した状態で留まる。その結果、高抵抗層３１５３の内部に金属原子を多量に含む電流パスが形成され、または、高抵抗層３１５３の内部に金属原子による欠陥が多数形成され、高抵抗層３１５３の抵抗値が低くなる。このとき、イオン源層３１５２の抵抗値は、高抵抗層３１５３のセット動作前の抵抗値に比べて元々低いため、高抵抗層３１５３の抵抗値が低くなることにより、可変セル抵抗３１５全体の抵抗値も低くなる。つまり、可変セル抵抗３１５がオン状態（導通状態）となる。その後、電極３１５４および導電材料層３１５１への電圧の印加を中止し、可変セル抵抗３１５に電圧が印加されていない状態とすると、可変セル抵抗３１５の抵抗値が低くなった状態で保持される。
【００６９】
一方、リセット動作においては、導電材料層３１５１に負電位を印加するとともに、電極３１５４に正電位またはゼロ電位を印加すると、高抵抗層３１５３内に形成されていた電流パス、または、不純物準位を構成する金属原子がイオン化して、高抵抗層３１５３内を移動してイオン源層３１５２へと戻る。その結果、高抵抗層３１５３内から電流パスまたは欠陥が消滅して、高抵抗層３１５３の抵抗値が高くなる。このとき、イオン源層３１５２の抵抗値は元々低いため、高抵抗層３１５３の抵抗値が高くなることにより、可変セル抵抗３１５全体の抵抗値も高くなる。つまり、可変セル抵抗３１５がオフ状態（非導通状態）となる。その後、電極３１５４および導電材料層３１５１への電圧の印加を中止し、高抵抗層３１５３に電圧が印加されていない状態とすると、高抵抗層３１５３の抵抗値が高くなった状態で保持される。
【００７０】
このような抵抗変化メモリにおいては、メモリ製造時にメモリセル構造を形成した後、それをメモリセルとして使用可能な状態にするために、書込み電圧よりも高い電圧であるフォーミング電圧を印加するフォーミング動作（フォーミング処理）が実行される。すなわち、このフォーミング処理によって、ＨＲＳとＬＲＳとの間で遷移可能な状態になる。
【００７１】
図１６は、本技術の実施の形態におけるメモリセル３１３の抵抗分布を示す図である。
【００７２】
メモリセル３１３は、フォーミング処理前の状態では、初期抵抗状態３１４１に示す抵抗分布を示す。メモリセル３１３は、フォーミング処理により初期抵抗状態３１４１からＬＲＳ３１４２に遷移する。そして、リセット処理によりＬＲＳ３１４２からＨＲＳ３１４３に遷移し、セット処理によりＨＲＳ３１４３からＬＲＳ３１４２に遷移する。フォーミング処理を行うためには、上述のようにリセット処理またはセット処理よりも高いパルス電圧が必要となる。
【００７３】
このメモリセル３１３から、データをリードする場合、通常リード閾値と高抵抗リード閾値で示した２種類のリファレンス抵抗値を想定する。通常リード閾値を使用してデータをリードした場合には、ＬＲＳ３１４２の状態であれば「１」、ＨＲＳ３１４３または初期抵抗状態３１４１であれば「０」と判断される。また、高抵抗リード閾値を使用してデータをリードした場合には、ＬＲＳ３１４２またはＨＲＳ３１４３の状態であれば「１」、初期抵抗状態３１４１であれば「０」と判断される。
【００７４】
通常リード閾値または高抵抗リード閾値のうち何れを使用してデータをリードするかは、メモリコントローラ２００が決定する。メモリコントローラ２００は、通常リード領域については通常リード閾値を使用してデータをリードし、高抵抗リード領域については高抵抗リード閾値を使用してデータをリードするよう決定する。通常リード閾値を使用してデータをリードする際には、メモリコントローラ２００は通常リードリクエストをメモリ３００に発行する。一方、高抵抗リード閾値を使用してデータをリードする際には、メモリコントローラ２００は高抵抗リードリクエストをメモリ３００に発行する。
【００７５】
高抵抗リード領域においては、「０」をライトするメモリセルにはフォーミング処理を行わず、「１」をライトするメモリセルにはフォーミング処理を行う。これにより、高抵抗リード領域において高抵抗リード閾値を使用してデータをリードすることができるようになる。この場合、抵抗分布の切り分けに十分な余裕を確保することができるため、時間経過やノイズによる影響を抑制して、信頼性の高いデータリードを行うことができる。
【００７６】
通常リード領域においては、全てのメモリセルがフォーミング処理される。これにより、フォーミング処理に用いられるパルス電圧よりも低いパルス電圧によってＨＲＳ３１４３とＬＲＳ３１４２との間の遷移が可能となる。
【００７７】
この第１の実施の形態では、メモリシステム４００の製造時または出荷時に、テストインターフェース３０８を用いて、メモリ３００に対して、コントローラファームウェアの書込みおよびフォーミング処理が実行されることを想定する。
【００７８】
コントローラファームウェアの書込みの際には、コントローラファームウェアの実行コードを、５１２バイト毎に分割し、分割した５１２バイト毎にエラー訂正コード（１６バイト）を付加して、ページ単位でメモリ３００に書き込む。データを書き込む際、データが「１」となるビットに対応するメモリセルのみに対してフォーミングを行い、データが「０」となるビットに対応するメモリセルに対してはフォーミングを行わない。
【００７９】
この第１の実施の形態では、コントローラファームウェアの実行コードは５１２Ｋバイトであることを想定し、物理ページ「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までの領域を使用して書き込まれるものとする。コントローラファームウェアの実行コードが書き込まれない物理ページに対しては、その物理ページ内のメモリセル全てに対してフォーミング処理が実行される。
【００８０】
図１７は、本技術の実施の形態におけるメモリ３００の物理ページについてフォーミング処理が実行された後の例を示す図である。この例では、コントローラファームウェアが記憶されている物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」まで以外の領域について、フォーミング処理が実行済であることを示している。したがって、この例では、コントローラファームウェアが記憶されている物理ページについては高抵抗リード閾値を使用してリードを行い、それ以外の物理ページについては通常リード閾値を使用してリードを行うことになる。
【００８１】
［動作］
図１８は、本技術の実施の形態におけるメモリ３００のライトリクエスト処理の処理手順例を示す流れ図である。ライトコマンド処理として、メモリコントローラ２００はメモリ３００にライトリクエストを指示する。これにより、リクエスト処理部３６０は、以下の手順によりライト動作を行う。
【００８２】
リクエスト処理部３６０は、メモリコントローラ２００から制御インターフェース３０９を経由して、ライトリクエストと物理ページアドレスを受信すると、物理ページライト処理を開始する。物理ページライト処理の開始の際には、メモリセルアレイ３１０に書き込まれるライトデータは、制御インターフェース３０９からライトデータバッファ３４１に転送されて保持されている。
【００８３】
リクエスト処理部３６０は、物理ページリセット処理を実行する（ステップＳ９２０）。その後、リクエスト処理部３６０は、ステップＳ９２０で実行された物理ページリセット処理が正常に終了したか否かを判定する（ステップＳ９１１）。このとき、正常終了しなかった場合には（ステップＳ９１１：Ｎｏ）、リクエスト処理部３６０は、物理ページライト処理がエラー終了したことを、制御インターフェース３０９を介してメモリコントローラ２００に通知する（ステップＳ９１４）。
【００８４】
物理ページリセット処理が正常に終了した場合には（ステップＳ９１１：Ｙｅｓ）、リクエスト処理部３６０は、物理ページセット処理を実行する（ステップＳ９４０）。その後、リクエスト処理部３６０は、ステップＳ９４０で実行された物理ページセット処理が正常に終了したか否かを判定する（ステップＳ９１２）。このとき、正常終了しなかった場合には（ステップＳ９１２：Ｎｏ）、リクエスト処理部３６０は、物理ページライト処理がエラー終了したことを、制御インターフェース３０９を介してメモリコントローラ２００に通知する（ステップＳ９１４）。
【００８５】
物理ページセット処理が正常に終了した場合には（ステップＳ９１２：Ｙｅｓ）、リクエスト処理部３６０は、物理ページライト処理が正常終了したことを、制御インターフェース３０９を介してメモリコントローラ２００に通知する（ステップＳ９１３）。
【００８６】
図１９は、本技術の実施の形態におけるメモリ３００の物理ページリセット処理（ステップＳ９２０）の処理手順の一例を示す流れ図である。
【００８７】
リセット処理では、メモリコントローラ２００から指定されたメモリセルをＨＲＳにする。ＨＲＳにするメモリセルの情報は、リセット処理開始前に、メモリコントローラ２００から、４２２４ビット（５２８バイト）のビット列のデータとして、制御インターフェース３０９経由で受信し、ライトデータバッファ３４１に保持される。物理ページアドレスは、リセット処理開始前に、メモリコントローラ２００から、制御インターフェース３０９経由で受信し、リクエスト処理部３６０に保持される。
【００８８】
リクエスト処理部３６０は、プレート制御部３２０、ロウ制御部３１１、リード制御部３３２に制御信号を供給し、指定された物理ページアドレスからデータを読み出す（ステップＳ９２１）。読み出されたデータは、プレリードデータとしてリードデータバッファ３４２に転送されて保持される。
【００８９】
リクエスト処理部３６０は、リードデータバッファ３４２に保持されたプレリードデータと、ライトデータバッファ３４１に保持されているライトデータとをビット単位で比較し、リセット処理を実行するメモリセルを特定する（ステップＳ９２２）。リセット処理を実行するメモリセルは、ライトデータバッファ３４１に保持されたデータの値が「０」であり、かつ、リードデータバッファ３４２に保持されたデータの値が「１」となっているメモリセルである。これは、対応するメモリセルが、「１」（低抵抗状態）から「０」（高抵抗状態）に状態を変化させる必要があることを意味する。リセット処理を実行するメモリセルの情報として、リセット処理を実行するメモリセルに対応するビットの値に「１」、リセット処理を実行する必要のないセルに対応するビットの値に「０」とし、データをベリファイバッファ３４３に保持する。
【００９０】
リクエスト処理部３６０は、リセットおよび検証の繰返し実行回数をカウントするためのカウンタｋの値を「１」に設定する（ステップＳ９２３）。
【００９１】
リクエスト処理部３６０は、リセット処理を実行するグループ番号を決定するためのカウンタｉの値に「１」に設定する（ステップＳ９２４）。
【００９２】
リクエスト処理部３６０は、プレート制御部３２０、ロウ制御部３１１、ライト制御部３３１に制御信号を供給するとともに、ベリファイバッファ３４３からリセットを実行するセルの特定情報をカラム制御部３１２に供給する。これにより、メモリセルアレイ３１０に対してリセットパルスを印加して、リセット動作を行う（ステップＳ９２５）。ここで、リセットパルスを印加するメモリセルは、指定された物理ページアドレス内の第ｉグループに属するメモリセルのうち、リセット処理を実行するセルである。
【００９３】
リクエスト処理部３６０は、リセット動作を行ったグループ番号を示すカウンタｉの値が「６６」であるか否かを判定する（ステップＳ９２６）。カウンタｉの値が「６６」でなければ（ステップＳ９２６：Ｎｏ）、カウンタｉに「１」を加算した後に（ステップＳ９２７）、ステップＳ９２５以降の処理を繰り返す。一方、カウンタｉの値が「６６」となった場合には、グループ毎のリセット動作を終了する（ステップＳ９２６：Ｙｅｓ）。
【００９４】
リクエスト処理部３６０は、リセット動作を検証するため、プレート制御部３２０、ロウ制御部３１１、リード制御部３３２に制御信号を供給して、リセットパルスを印加した物理ページアドレスからデータを読み出す（ステップＳ９３１）。読み出したデータは、リードデータバッファ３４２に転送されて保持される。
【００９５】
リクエスト処理部３６０は、検証処理部３５０に制御信号を供給して、リードデータバッファ３４２に保持されているデータと、ライトデータバッファ３４１に保持されているライトデータとをビット単位で比較して検証処理を実行する（ステップＳ９３２）。検証処理の対象となるビットは、ライトデータバッファ３４１に保持されたデータの値が「０」を示すビットである。ライトデータバッファ３４１に保持されたデータの値が「０」で、かつ、リードデータバッファ３４２に保持された値が「１」のビットは検証失敗となる。ライトデータバッファ３４１に保持されたデータの値が「０」で、かつ、リードデータバッファ３４２に保持された値が「０」のビットは検証成功となる。その結果、検証失敗となったビットに「１」、検証成功となったビットに「０」、それ以外のビットに「０」の値がセットされたものがベリファイバッファ３４３に保持される。
【００９６】
ベリファイバッファ３４３に保持されたデータの全てのビットが「０」を示す場合、全体が検証処理に成功したものとして（ステップＳ９３３：Ｙｅｓ）、検証処理部３５０はその旨をリクエスト処理部３６０に通知して、物理ページリセット処理を正常終了する。
【００９７】
一方、ベリファイバッファ３４３に保持されたデータの何れかのビットが「１」を示す場合、全体として検証処理に成功していないものとして（ステップＳ９３３：Ｎｏ）、リセット処理のリトライ動作が行われる。その際、カウンタｋの値が参照され、カウンタｋの値が「４」になっている場合には（ステップＳ９３４：Ｙｅｓ）、それ以上のリトライ動作を行わずに物理ページリセット処理をエラー終了する。カウンタｋの値が「４」になっていない場合には（ステップＳ９３４：Ｎｏ）、カウンタｋの値に「１」を加算して（ステップＳ９３５）、ステップＳ９２４以降の処理を繰り返す。
【００９８】
図２０は、本技術の実施の形態におけるメモリ３００の物理ページセット処理（ステップＳ９４０）の処理手順の一例を示す流れ図である。
【００９９】
この物理ページセット処理は、図１９により説明した物理ページリセット処理と同様の手順となっている。ただし、物理ページリセット処理ではステップＳ９２２においてリセット対象となるメモリセルを特定していたが、この物理ページリセット処理ではステップＳ９４２においてセット対象となるメモリセルを特定する。そして、その特定されたセット対象について、ステップＳ９４５においてグループ毎のセット処理が行われる。それ以外の点については、図１９により説明した物理ページリセット処理と同様であるため、詳細な説明は省略する。
【０１００】
図２１は、本技術の実施の形態におけるメモリ３００の通常リードリクエスト処理の処理手順の一例を示す流れ図である。
【０１０１】
リクエスト処理部３６０は、メモリコントローラ２００から制御インターフェース３０９経由で、通常リードリクエストと物理ページアドレスを受信すると、通常リードリクエストの処理を開始する。物理ページアドレスは、制御インターフェース３０９からリクエスト処理部３６０に転送され、保持されている。通常リードリクエストの処理では、４２２４ビット（５２８バイト）のデータが、メモリ３００からメモリコントローラ２００に転送される。
【０１０２】
リクエスト処理部３６０は、プレート制御部３２０、ロウ制御部３１１およびリード制御部３３２に、通常リード閾値の抵抗をリファレンス抵抗として、「０」か「１」かの判別を行うよう指示する制御信号を供給する。これにより、指定された物理ページアドレスから４２２４ビット（５２８バイト）のデータが読み出される（ステップＳ９６１）。読み出されたデータは、リードデータバッファ３４２に転送されて、保持される。
【０１０３】
リクエスト処理部３６０は、リードデータバッファ３４２に保持されている４２２４ビット（５２８バイト）のデータを、制御インターフェース３０９経由で、メモリコントローラ２００に転送する（ステップＳ９６２）。
【０１０４】
図２２は、本技術の実施の形態におけるメモリ３００の高抵抗リードリクエスト処理の処理手順の一例を示す流れ図である。
【０１０５】
リクエスト処理部３６０は、メモリコントローラ２００から制御インターフェース３０９経由で、高抵抗リードリクエストと物理ページアドレスを受信すると、高抵抗リードリクエストの処理を開始する。物理ページアドレスは、制御インターフェース３０９からリクエスト処理部３６０に転送され、保持されている。高抵抗リードリクエストの処理では、通常リードリクエストの処理と同様に、４２２４ビット（５２８バイト）のデータが、メモリ３００からメモリコントローラ２００に転送される。
【０１０６】
リクエスト処理部３６０は、プレート制御部３２０、ロウ制御部３１１およびリード制御部３３２に、高抵抗リード閾値の抵抗をリファレンス抵抗として、「０」か「１」かの判別を行うよう指示する制御信号を供給する。これにより、指定された物理ページアドレスから４２２４ビット（５２８バイト）のデータが読み出される（ステップＳ９６３）。読み出されたデータは、リードデータバッファ３４２に転送されて、保持される。
【０１０７】
リクエスト処理部３６０は、リードデータバッファ３４２に保持されている４２２４ビット（５２８バイト）のデータを、制御インターフェース３０９経由で、メモリコントローラ２００に転送する（ステップＳ９６４）。
【０１０８】
図２３は、本技術の実施の形態におけるメモリコントローラ２００の電源投入時のファームウェアロード処理の処理手順の一例を示す流れ図である。メモリコントローラ２００に電源が投入されたことを検出すると、ファームウェアロード部２５０は、ファームウェアロード処理を開始する。
【０１０９】
この第１の実施の形態では、物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までは、コントローラファームウェアが書き込まれていることを想定する。そして、このコントローラファームウェアが書き込まれている領域を高抵抗リード領域として設定し、それ以外の領域を通常リード領域と設定する。
【０１１０】
ファームウェアロード部２５０は、ＲＯＭ２３０からリード領域識別情報に相当する情報を読み出して、リード領域識別情報２２２としてＲＡＭ２２０に展開する（ステップＳ８１１）。すなわち、リード領域識別情報２２２は、物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までが高抵抗リード領域であることを示し、それ以外の領域が通常リード領域であることを示す。
【０１１１】
また、ファームウェアロード部２５０は、ＲＯＭ２３０からファームウェア領域情報に相当する情報を読み出して、ファームウェア領域情報２２３としてＲＡＭ２２０に展開する（ステップＳ８１２）。すなわち、ファームウェア領域情報２２３物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までにコントローラファームウェアが書き込まれていることを示す。
【０１１２】
そして、ファームウェアロード部２５０は、メモリ３００からコントローラファームウェアを読み出して、ＲＡＭ２２０に展開する（ステップＳ８２０）。このファームウェアリード処理の内容については、以下に説明する。
【０１１３】
図２４は、本技術の実施の形態におけるメモリコントローラ２００のファームウェアリード処理（ステップＳ８２０）の処理手順の一例を示す流れ図である。
【０１１４】
ファームウェアロード部２５０は、ファームウェア領域情報２２３に基づいて、コントローラファームウェアの実行コードが記録されているメモリ３００の物理ページの中から、データのリードを行う対象となる物理ページを選択する（ステップＳ８２１）。この場合の選択としては、例えば、値の小さい物理ページアドレスから順に行うことが考えられる。
【０１１５】
ファームウェアロード部２５０は、選択された物理ページを指定して、リードリクエストをメモリ３００に対して発行して、データをリードする（ステップＳ８２２）。このとき、リード領域識別情報２２２が高抵抗リード領域であることを示しているため、リードリクエストとして、高抵抗リードリクエストを発行する。なお、コントローラファームウェアについては常に高抵抗リードリクエストを発行するものと定義している場合には、リード領域識別情報２２２を参照することなく高抵抗リードリクエストを発行してよい。
【０１１６】
ファームウェアロード部２５０は、リードされたデータに対して、ＥＣＣ処理部２４０においてエラー検出訂正処理を行う（ステップＳ８２３）。エラーが検出されなければそのままのデータ、エラーが検出された場合にはそのエラー訂正が行われたデータを、ファームウェアロード部２５０はＲＡＭ２２０に転送する。
【０１１７】
ファームウェアロード部２５０は、コントローラファームウェアの実行コードが記録されている全ての物理ページからデータをリードしたか否かを判定する（ステップＳ８２５）。データリードをしていない物理ページが存在する場合には（ステップＳ８２５：Ｎｏ）、ステップＳ８２１からの処理を繰り返す。全ての物理ページからデータをリードした場合は（ステップＳ８２５：Ｙｅｓ）、このファームウェアリード処理を終了する。
【０１１８】
図２５は、本技術の第１の実施の形態におけるメモリコントローラ２００のリードコマンド処理の処理手順の一例を示す流れ図である。メモリコントローラ２００のプロセッサ２１０は、ホストコンピュータ１００からコマンドを受け取ると、そのコマンドの種別を解釈して、対応する処理を行う。ここでは、そのコマンドがリードコマンドであった場合の手順を示している。このリードコマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１１９】
プロセッサ２１０は、ホストインターフェース２０１で受信したリード対象の先頭論理アドレスとデータサイズとに基づいて、論理アドレス単位に処理を分割する（ステップＳ８３１）。１回の処理で実行されるのは１論理アドレスである。例えば、リード対象の先頭アドレスとして「０」、データサイズとして「１」が指定された場合は、１回の処理が行われる。また、リード対象の先頭論理アドレスとして「０」、データサイズとして「２」が指定された場合には、２回の処理に分割される。
【０１２０】
プロセッサ２１０は、リード対象とする論理アドレスを決定する（ステップＳ８３２）。対象となる論理アドレスは、リード対象の先頭論理アドレスから順番に決定される。リード対象の先頭論理アドレスとして「０」、データサイズとして「２」が指定された場合、最初に処理を実行する論理アドレスは「０」に決定される。そして、次に対象となる論理アドレスは「１」に決定される。
【０１２１】
プロセッサ２１０は、リード対象として決定した論理アドレスを、ＲＡＭ２２０内に保持しているアドレス変換テーブル２２１を使用して物理アドレスに変換する（ステップＳ８３３）。ステップＳ８３２において決定された論理アドレスに対応する物理アドレスが割り当てられていない場合には（ステップＳ８３３：Ｎｏ）、ホストコンピュータ１００にオールゼロのデータが送信される（ステップＳ８３８）。すなわち、プロセッサ２１０が、ホストインターフェース２０１を経由して、５１２バイトの全てが「０ｘ００」であるデータをホストコンピュータ１００に転送する。一方、ステップＳ８３２において決定された論理アドレスに対応する物理アドレスが割り当てられている場合には（ステップＳ８３３：Ｙｅｓ）、以下のステップＳ８３４以降の処理を行う。
【０１２２】
プロセッサ２１０は、変換した物理アドレスを指定して、メモリ３００に対してリードリクエストを要求する（ステップＳ８３４）。メモリ３００から読み出されるデータは、未使用領域と冗長ビットを含めた４２２４ビット（５２８バイト）である。
【０１２３】
メモリ３００から読み出されたデータは、ＥＣＣ処理部２４０に転送されて、ＥＣＣ処理部２４０で保持される。ＥＣＣ処理部２４０では、５２８バイトのデータから、エラー検出を行う（ステップＳ８３５）。このとき、エラーが検出され、かつ、エラービット数が訂正可能なビット数を超えている場合には（ステップＳ８３６：Ｎｏ）、プロセッサ２１０は、エラー終了した旨をホストコンピュータ１００に通知する（ステップＳ８４２）。一方、エラーが検出されず、または、エラービット数が訂正可能なビット数を超えていない場合には（ステップＳ８３６：Ｙｅｓ）、プロセッサ２１０は、制御インターフェース３０９経由でデータをホストコンピュータ１００に転送する（ステップＳ８３７）。このとき、転送されるデータは、５２８バイトのデータのうちエラー訂正コードを除いた５１２バイトのデータであり、ステップＳ８３５においてエラー訂正が行われた場合には、転送されるのは訂正後のデータである。
【０１２４】
ステップＳ８３７またはＳ８３８においてデータをホストコンピュータ１００に転送した後、プロセッサ２１０は、必要な転送が終了したか否かを判断する。すなわち、このリードコマンド処理においてホストコンピュータ１００に転送されたデータサイズの合計と、このリードコマンドで指定されたデータサイズとが一致するか否かを判定する（ステップＳ８３９）。転送されたデータサイズの合計が、指定されたデータサイズよりも少ない場合には（ステップＳ８３９：Ｎｏ）、ステップＳ８３２以降の処理を繰り返す。転送されたデータサイズの合計が、指定されたデータサイズに達した場合には（ステップＳ８３９：Ｙｅｓ）、ホストコンピュータ１００に対してコマンドの正常終了を通知する（ステップＳ８４１）。
【０１２５】
図２６は、本技術の第１の実施の形態におけるメモリコントローラ２００のライトコマンド処理の処理手順の一例を示す流れ図である。このライトコマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１２６】
プロセッサ２１０は、ホストインターフェース２０１で受信したライト対象の先頭論理アドレスとデータサイズとに基づいて、論理アドレス単位に処理を分割する（ステップＳ８５１）。そして、プロセッサ２１０は、ライト対象とする論理アドレスを決定する（ステップＳ８５２）。対象となる論理アドレスは、ライト対象の先頭論理アドレスから順番に決定される。
【０１２７】
プロセッサ２１０は、ライト対象として決定した論理アドレスを、ＲＡＭ２２０内に保持しているアドレス変換テーブルを使用して物理アドレスに変換する（ステップＳ８５３）。ステップＳ８５２において決定された論理アドレスに対応する物理アドレスが割り当てられていない場合には（ステップＳ８５３：Ｎｏ）、プロセッサ２１０は、未割当物理ページ情報２２４から未使用の物理ページアドレスを取得する（ステップＳ８５４）。未使用の物理ページアドレスは、値の小さいアドレスから順に選択される。そして、プロセッサ２１０は、アドレス変換テーブル２２１のうち、ステップＳ８５２において決定された論理アドレスに対応する物理ページアドレスの値を、ステップＳ８５４において取得された物理ページアドレスに更新する（ステップＳ８５４）。
【０１２８】
プロセッサ２１０は、ホストインターフェース２０１を経由して、ホストコンピュータ１００から５１２バイトのライトデータを受信する（ステップＳ８５５）。そして、プロセッサ２１０は、ホストコンピュータ１００から受信した５１２バイトのデータに対して、ＥＣＣ処理部２４０で、１６バイトのエラー訂正コードを付加する（ステップＳ８５６）。
【０１２９】
プロセッサ２１０は、ステップＳ８５３またはＳ８５４で変換された物理ページアドレスを指定して、メモリ３００にライトリクエストを発行して、５２８バイトのデータを書き込む（ステップＳ８５７）。ライトリクエストが正常に終了した場合（ステップＳ８５８：Ｙｅｓ）、プロセッサ２１０は、指定されたライト処理が終了したか否かを判断する。すなわち、このライトコマンド処理においてメモリ３００にライトされたデータサイズの合計と、このライトコマンドで指定されたデータサイズとが一致するか否かを判定する（ステップＳ８５９）。ライトされたデータサイズの合計が、指定されたデータサイズよりも少ない場合には（ステップＳ８５９：Ｎｏ）、ステップＳ８５２以降の処理を繰り返す。ライトされたデータサイズの合計が、指定されたデータサイズに達した場合には（ステップＳ８５９：Ｙｅｓ）、ホストコンピュータ１００に対してコマンドの正常終了を通知する（ステップＳ８６１）。一方、ライトリクエストが正常に終了しなかった場合（ステップＳ８５８：Ｎｏ）、プロセッサ２１０は、エラー終了した旨をホストコンピュータ１００に通知する（ステップＳ８６２）。
【０１３０】
このように、本技術の第１の実施の形態では、フォーミング処理がされていないメモリセルを含む高抵抗リード領域をメモリ３００に残し、通常リード閾値よりも高い高抵抗リード閾値を基準としてデータをリードする。これにより、時間経過やノイズによる影響を抑制して、信頼性の高いデータリードを行うことができる。
【０１３１】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、メモリシステム４００の製造時または出荷時に、メモリ３００に対して、コントローラファームウェアの書込みおよびフォーミング処理が実行されることを想定した。これに対して、この第２の実施の形態では、ページ内の全てのメモリセルをフォーミング処理されていない状態としたページ（未フォーミングページ）からなる未フォーミング領域を出荷時に残しておくことを想定する。
【０１３２】
すなわち、この第２の実施の形態では、メモリコントローラ２００がメモリインターフェース２０３を経由して、未使用の未フォーミングページにデータを書き込むためのセル選択フォーミングリクエストを、メモリ３００に発行する機能を備える。これにより、コントローラファームウェアだけでなく、ホストコンピュータ１００のアップデートコードや、アプリケーションプログラムの実行コード等を信頼性高く記憶することができる。
【０１３３】
ホストコンピュータ１００は、未使用の未フォーミング領域の使用状況の情報をメモリコントローラ２００から取得して、必要に応じて、未フォーミング領域ライトコマンドを発行することにより、未使用の未フォーミングページにデータを書き込む。
【０１３４】
なお、この第２の実施の形態における基本的な構成は上述の第１の実施の形態と同様であるため、詳細な説明は省略する。
【０１３５】
図２７は、本技術の第２の実施の形態におけるメモリ３００の物理ページの状態例を示す図である。この例では、第１の実施の形態と同様に、物理ページアドレス「０ｘ００００００００」から「０ｘ０００００３ＦＦ」までの領域にはコントローラファームウェアが記憶されている。また、物理ページアドレス「０ｘ０００１００００」から「０ｘ０１ＦＦＦＦＦＦ」までの領域においては全てのメモリセルがフォーミング処理されている。
【０１３６】
一方、物理ページアドレス「０ｘ０００００４００」から「０ｘ００００ＦＦＦＦ」までの領域は、全てフォーミング処理されていない状態として残されている。このフォーミング処理されていない領域については、あとからフォーミング処理を行うことができる。
【０１３７】
図２８は、本技術の第２の実施の形態におけるメモリコントローラ２００のＲＡＭ２２０に記憶される管理情報の例を示す図である。この例では、上述の第１の実施の形態において説明したものに加えて、高抵抗リード領域使用状況管理テーブル２２５が示されている。
【０１３８】
高抵抗リード領域使用状況管理テーブル２２５は、メモリ３００において高抵抗リード領域として使用されている領域および高抵抗リード領域として使用されていない領域を管理するためのテーブルである。メモリコントローラ２００は、この高抵抗リード領域使用状況管理テーブル２２５を参照することにより、メモリ３００のいずれの領域が高抵抗リード領域として使用されているか否かを知ることができる。
【０１３９】
図２９は、本技術の第２の実施の形態における高抵抗リード領域使用状況管理テーブル２２５の例を示す図である。この例では、コントローラファームウェアが記憶されている領域が、高抵抗リード領域として使用されている領域（使用済領域）として示されている。また、それ以外の領域が、高抵抗リード領域として使用されていない領域（未使用領域）として示されている。
【０１４０】
この高抵抗リード領域使用状況管理テーブル２２５は、フォーミング処理が実行されるたびに、更新されていく。すなわち、フォーミング処理が実行された領域については、使用済領域として設定され、未使用領域から外される。
【０１４１】
図３０は、本技術の第２の実施の形態におけるリード領域識別情報２２２の例を示す図である。この例では、コントローラファームウェアが記憶されている領域および出荷時に未フォーミングページとして残された領域を高抵抗リード領域として設定し、それ以外の領域を通常リード領域と設定している。高抵抗リード領域として設定された領域について、高抵抗リード領域使用状況管理テーブル２２５が、使用済領域または未使用領域の何れであるかを示すことになる。
【０１４２】
高抵抗リード領域使用状況管理テーブル２２５は、メモリシステム４００の電源投入時に、メモリ３００から読み出され、ＲＡＭ２２０に展開される。ファームウェアロード部２５０がコントローラファームウェアをＲＡＭ２２０に展開すると、制御タスクが実行されて、高抵抗リード領域使用状況管理テーブル２２５がメモリ３００から読み出される。コントローラファームウェアの初回起動時で、コントローラファームウェアがメモリ３００に記録されていない場合には、高抵抗リード領域使用状況管理テーブル２２５が作成される。このとき、高抵抗リード領域使用状況管理テーブル２２５は、ＲＡＭ２２０に展開されているリード領域識別情報２２２およびファームウェア領域情報２２３から作成される。
【０１４３】
高抵抗リード領域使用状況管理テーブル２２５は、メモリシステム４００の電源遮断時に、ＲＡＭ２２０からメモリ３００に書き込まれる。
【０１４４】
［動作］
図３１は、本技術の第２の実施の形態におけるメモリ３００のセル選択フォーミングリクエスト処理の処理手順例を示す流れ図である。
【０１４５】
リクエスト処理部３６０は、メモリコントローラ２００から制御インターフェース３０９を経由して、セル選択フォーミングリクエストと物理ページアドレスを受信すると、セル選択フォーミングリクエスト処理を開始する。セル選択フォーミングリクエスト処理に必要な４２２４ビット（５２８バイト）のデータは、制御インターフェース３０９からライトデータバッファ３４１に転送され、保持されている。物理ページアドレスは、制御インターフェース３０９からリクエスト処理部３６０に転送され、保持されている。
【０１４６】
リクエスト処理部３６０は、フォーミング電圧セット処理を実行する（ステップＳ９９３）。このフォーミング電圧セット処理は、図２０により説明した物理ページセット処理と同様であるが、ステップＳ９４５においてセットパルスを印加する際の電圧を、より高いフォーミング電圧により行う点が異なる。
【０１４７】
リクエスト処理部３６０は、フォーミング電圧セット処理が正常に終了したかを判別する（ステップＳ９９４）。正常終了した場合には（ステップＳ９９４：Ｙｅｓ）、リクエスト処理部３６０は、制御インターフェース３０９を介してメモリコントローラ２００に、セル選択フォーミングリクエスト処理が正常に終了した旨を通知する（ステップＳ９９５）。一方、エラー終了した場合には（ステップＳ９９４：Ｎｏ）、リクエスト処理部３６０は、制御インターフェース３０９を介してメモリコントローラ２００に、セル選択フォーミングリクエスト処理でエラーが発生した旨を通知する（ステップＳ９９５）。
【０１４８】
図３２は、本技術の第２の実施の形態におけるメモリコントローラ２００の領域使用状況取得処理の処理手順例を示す流れ図である。メモリコントローラ２００は、ホストコンピュータ１００から未フォーミングページ使用状況取得コマンドを受信すると、以下の領域使用状況取得処理を開始する。この領域使用状況取得処理は、プロセッサ２１０上で動作するコマンド実行タスクにより実行される。
【０１４９】
プロセッサ２１０は、高抵抗リード領域使用状況管理テーブル２２５から、未使用領域のサイズを取得する（ステップＳ８７１）。プロセッサ２１０は、取得した未使用領域のサイズを、ホストコンピュータ１００に送信する（ステップＳ８７２）。そして、プロセッサ２１０は、未フォーミングページ使用状況取得コマンドの処理が正常に終了したことをホストコンピュータ１００に通知する（ステップＳ８７３）。
【０１５０】
図３３は、本技術の第２の実施の形態におけるメモリコントローラ２００の未フォーミング領域ライトコマンド処理の処理手順例を示す流れ図である。この未フォーミング領域ライトコマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１５１】
プロセッサ２１０は、ホストインターフェース２０１で受信したライト対象の先頭論理アドレスとデータサイズとに基づいて、論理アドレス単位に処理を分割する（ステップＳ８６１）。そして、プロセッサ２１０は、ライト対象とする論理アドレスを決定する（ステップＳ８６２）。対象となる論理アドレスは、ライト対象の先頭論理アドレスから順番に決定される。
【０１５２】
プロセッサ２１０は、高抵抗リード領域使用状況管理テーブル２２５の情報から、未使用の未フォーミングページが存在するかを判別する（ステップＳ８６３）。未使用の未フォーミングページが存在しない場合には（ステップＳ８６３：Ｎｏ）、プロセッサ２１０は、ホストコンピュータ１００に、未フォーミング領域ライトコマンドの処理においてエラーが発生した旨を通知する（ステップＳ８７３）。未使用の未フォーミングページが存在する場合には（ステップＳ８６３：Ｙｅｓ）、以下の処理を行う。
【０１５３】
プロセッサ２１０は、高抵抗リード領域使用状況管理テーブル２２５から、未使用の物理ページアドレスを取得する（ステップＳ８６４）。未使用の物理ページアドレスは、値の小さい物理ページアドレスから使用する。取得した未使用の物理ページアドレスは、使用済みとなるため、高抵抗リード領域使用状況管理テーブル２２５は更新される。すなわち、高抵抗リード領域使用状況管理テーブル２２５において、「使用済領域」の「サイズ」の値がインクリメントされ、「未使用領域」の「サイズ」の値がデクリメントされる。また、「未使用領域」の「開始アドレス」の値がインクリメントされる。
【０１５４】
プロセッサ２１０は、ホストインターフェース２０１を経由して、ホストコンピュータ１００から５１２バイトのライトデータを受信する（ステップＳ８６５）。そして、プロセッサ２１０は、ホストコンピュータ１００から受信したデータに対して、ＥＣＣ処理部２４０で、１６バイトのエラー訂正コードを付加する（ステップＳ８６６）。
【０１５５】
プロセッサ２１０は、ステップＳ８６４において取得した物理ページアドレスを指定して、メモリ３００にセル選択フォーミングリクエストを発行し（ステップＳ８６７）、ステップＳ８６６でエラー訂正コードを付加した５２８バイトのデータを書き込む。
【０１５６】
プロセッサ２１０は、発行したセル選択フォーミングリクエストが正常に終了したか否かを判別する（ステップＳ８６８）。セル選択フォーミングリクエストが正常に終了しなかった場合には（ステップＳ８６８：Ｎｏ）、プロセッサ２１０は、ホストコンピュータ１００に、未フォーミング領域ライトコマンドの処理においてエラーが発生した旨を通知する（ステップＳ８７３）。セル選択フォーミングリクエストが正常に終了した場合には（ステップＳ８６８：Ｙｅｓ）、以下の処理を行う。すなわち、プロセッサ２１０は、アドレス変換テーブル２２１のうち、ステップＳ８６２で選択された論理アドレスに対応する物理ページアドレスを、ステップＳ８６４において取得した物理ページアドレスに更新する（ステップＳ８６９）。その更新時に、ステップＳ８６２で選択された論理アドレスに対応する物理ページアドレスに、通常リード領域の物理ページアドレスが割り当てられている場合には、その割り当てられている物理ページアドレスを未割当物理ページ情報２２４に加える。
【０１５７】
プロセッサ２１０は、指定されたライト処理が終了したか否かを判断する。すなわち、この未フォーミング領域ライトコマンド処理においてメモリ３００にライトされたデータサイズの合計と、この未フォーミング領域ライトコマンドで指定されたデータサイズとが一致するか否かを判定する（ステップＳ８７１）。ライトされたデータサイズの合計が、指定されたデータサイズよりも少ない場合には（ステップＳ８７１：Ｎｏ）、ステップＳ８６２以降の処理を繰り返す。ライトされたデータサイズの合計が、指定されたデータサイズに達した場合には（ステップＳ８７１：Ｙｅｓ）、ホストコンピュータ１００に対してコマンドの正常終了を通知する（ステップＳ８７２）。
【０１５８】
図３４は、本技術の第２の実施の形態におけるメモリコントローラ２００のリードコマンド処理の処理手順の一例を示す流れ図である。このリードコマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１５９】
プロセッサ２１０は、ホストインターフェース２０１で受信したリード対象の先頭論理アドレスとデータサイズとに基づいて、論理アドレス単位に処理を分割する（ステップＳ８８１）。プロセッサ２１０は、リード対象とする論理アドレスを決定する（ステップＳ８８２）。そして、プロセッサ２１０は、リード対象として決定した論理アドレスを、ＲＡＭ２２０内に保持しているアドレス変換テーブル２２１を使用して物理アドレスに変換する（ステップＳ８８３）。
【０１６０】
プロセッサ２１０は、リード領域識別情報２２２を参照して、リード対象の物理アドレスが、通常リード領域または高抵抗リード領域の何れであるかを識別する（ステップＳ８８４）。通常リード領域であると識別した場合（ステップＳ８８４：通常）、プロセッサ２１０は、ステップＳ８８３で変換された物理アドレスを指定して、メモリ３００に通常リードリクエストを発行する（ステップＳ８８５）。一方、高抵抗リード領域であると識別した場合（ステップＳ８８４：高抵抗）、プロセッサ２１０は、ステップＳ８８３で変換された物理アドレスを指定して、メモリ３００に高抵抗リードリクエストを発行する（ステップＳ８８６）。
【０１６１】
メモリ３００から読み出されたデータは、ＥＣＣ処理部２４０に転送されて、ＥＣＣ処理部２４０で保持される。ＥＣＣ処理部２４０では、５２８バイトのデータから、エラー検出を行う（ステップＳ８８７）。このとき、エラーが検出され、かつ、エラービット数が訂正可能なビット数を超えている場合には（ステップＳ８８８：Ｎｏ）、プロセッサ２１０は、エラー終了した旨をホストコンピュータ１００に通知する（ステップＳ８９３）。一方、エラーが検出されず、または、エラービット数が訂正可能なビット数を超えていない場合には（ステップＳ８８８：Ｙｅｓ）、プロセッサ２１０は、制御インターフェース３０９経由でデータをホストコンピュータ１００に転送する（ステップＳ８８９）。このとき、転送されるデータは、５２８バイトのデータのうちエラー訂正コードを除いた５１２バイトのデータであり、ステップＳ８３５においてエラー訂正が行われた場合には、転送されるのは訂正後のデータである。
【０１６２】
データをホストコンピュータ１００に転送した後、プロセッサ２１０は、必要な転送が終了したか否かを判断する。すなわち、このリードコマンド処理においてホストコンピュータ１００に転送されたデータサイズの合計と、このリードコマンドで指定されたデータサイズとが一致するか否かを判定する（ステップＳ８９１）。転送されたデータサイズの合計が、指定されたデータサイズよりも少ない場合には（ステップＳ８９１：Ｎｏ）、ステップＳ８８２以降の処理を繰り返す。転送されたデータサイズの合計が、指定されたデータサイズに達した場合には（ステップＳ８９１：Ｙｅｓ）、ホストコンピュータ１００に対してコマンドの正常終了を通知する（ステップＳ８９２）。
【０１６３】
図３５は、本技術の第２の実施の形態におけるメモリコントローラ２００のライトコマンド処理の処理手順の一例を示す流れ図である。このライトコマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１６４】
プロセッサ２１０は、ホストインターフェース２０１で受信したライト対象の先頭論理アドレスとデータサイズとに基づいて、論理アドレス単位に処理を分割する（ステップＳ７１１）。そして、プロセッサ２１０は、ライト対象とする論理アドレスを決定する（ステップＳ７１２）。対象となる論理アドレスは、ライト対象の先頭論理アドレスから順番に決定される。
【０１６５】
プロセッサ２１０は、ライト対象として決定した論理アドレスを、ＲＡＭ２２０内に保持しているアドレス変換テーブルを使用して物理アドレスに変換する（ステップＳ７１３）。ステップＳ７１２において決定された論理アドレスに対応する物理アドレスが割り当てられている場合（ステップＳ７１３：Ｙｅｓ）、プロセッサ２１０は、リード領域識別情報２２２を参照して、ライト対象の物理アドレスが、通常リード領域または高抵抗リード領域の何れであるかを識別する（ステップＳ７１４）。このとき、高抵抗リード領域であると識別した場合には（ステップＳ７１４：Ｙｅｓ）、以下のステップＳ７１５の処理を実行する。また、ステップＳ７１２において決定された論理アドレスに対応する物理アドレスが割り当てられていない場合にも（ステップＳ７１３：Ｎｏ）、同様にステップＳ７１５の処理を実行する。
【０１６６】
すなわち、プロセッサ２１０は、未割当物理ページ情報２２４から未使用の物理ページアドレスを取得する（ステップＳ７１５）。未使用の物理ページアドレスは、値の小さいアドレスから順に選択される。そして、プロセッサ２１０は、アドレス変換テーブル２２１のうち、ステップＳ７１２において決定された論理アドレスに対応する物理ページアドレスの値を、ステップＳ７１５において取得された物理ページアドレスに更新する（ステップＳ７１５）。
【０１６７】
以下のステップＳ７１６以降の処理は、図２６において説明したステップＳ８５５以降の処理と同様であるため、詳細な説明は省略する。
【０１６８】
このように、本技術の第２の実施の形態では、未フォーミングページについて、メモリコントローラ２００からセル選択フォーミングリクエストを発行して、選択したセルをＬＲＳにフォーミングして、それ以外のセルを初期抵抗状態とする。これにより、高抵抗リード領域において、メモリシステム４００の出荷後に信頼性の高いデータライトを行うことができる。
【０１６９】
＜３．第３の実施の形態＞
上述の第２の実施の形態では、未フォーミングページの選択したセルのみをＬＲＳにフォーミングすることにより、そのページを高抵抗リード領域として利用していた。この第３の実施の形態では、高抵抗リード領域のページの全てのセルについてフォーミング処理を行うことにより、通常リード領域として再利用する。
【０１７０】
なお、この第３の実施の形態における基本的な構成は上述の第１の実施の形態と同様であるため、詳細な説明は省略する。
【０１７１】
この第３の実施の形態では、高抵抗リード領域が可変となるため、メモリコントローラ２００のＲＡＭ２２０に展開されたリード領域識別情報２２２は、メモリ３００に記録される。リード領域識別情報２２２は、メモリシステム４００の電源投入時に、メモリ３００から読み出され、ＲＡＭ２２０に展開される。コントローラファームウェアの初回起動時で、リード領域識別情報２２２がメモリ３００に記録されていない場合には、ＲＯＭ２３０からＲＡＭ２２０に展開される。
【０１７２】
図３６は、本技術の第３の実施の形態におけるリード領域識別情報２２２の遷移の一例を示す図である。
【０１７３】
同図におけるａは、図３０に示した第２の実施の形態のリード領域識別情報２２２と同様である。この第３の実施の形態では、例えば、高抵抗リード領域の物理ページ「０ｘ００００１０００」を通常リード領域として変更した場合、同図におけるｂのように、リード領域識別情報２２２が更新される。
【０１７４】
［動作］
図３７は、本技術の第３の実施の形態におけるメモリコントローラ２００のライトコマンド処理の処理手順の一例を示す流れ図である。このライトコマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１７５】
この第３の実施の形態におけるライトコマンド処理は、図３５により説明した第２の実施の形態におけるライトコマンド処理と基本的には同様の内容となっている。ただし、ライト対象となる物理ページアドレスが既に割当済であり（ステップＳ７１３：Ｙｅｓ）、かつ、そのページが高抵抗リード領域である場合に（ステップＳ７１４：Ｙｅｓ）、全セルフォーミング処理を行う点が異なる（ステップＳ７３０）。この全セルフォーミング処理により、高抵抗リード領域として使用されていた物理ページが、通常リード領域として使用されるようになる。すなわち、そのメモリセルは、リセット動作によりＨＲＳに遷移し、セット動作によりＬＲＳに遷移する。
【０１７６】
図３８は、本技術の第３の実施の形態におけるメモリコントローラ２００の全セルフォーミング処理（ステップＳ７３０）の処理手順の一例を示す流れ図である。この全セルフォーミング処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１７７】
プロセッサ２１０は、この全セルフォーミング処理の実行時に指定された物理ページアドレスを指定して、メモリ３００に対して高抵抗リードリクエストを発行し、５２８バイトのデータの読出しを行う（ステップＳ７３１）。
【０１７８】
プロセッサ２１０は、読み出されたデータに対して、ＥＣＣ処理部２４０によってエラー訂正を行う（ステップＳ７３２）。その結果、エラー訂正が正常に終了しなかった場合には（ステップＳ７３３：Ｎｏ）、この全セルフォーミング処理をエラー終了する。エラーが検出されず、または、検出されたエラーが正常に訂正された場合には（ステップＳ７３３：Ｙｅｓ）、以下の処理が実行される。
【０１７９】
プロセッサ２１０は、エラーが検出されなかったデータ、または、エラー訂正が正常に終了したデータについて、ビット単位で「０」を「１」に、「１」を「０」に反転させる（ステップＳ７３４）。そして、プロセッサ２１０は、データを読み出した物理ページアドレスを指定して、メモリ３００にセル選択フォーミングリクエストを発行して、ステップＳ７３４において反転させたデータを書き込む（ステップＳ７３５）。すなわち、反転の結果が「１」となったセルに対してフォーミング処理を行う。
【０１８０】
セル選択フォーミングリクエストが正常に終了しなかった場合には（ステップＳ７３６：Ｎｏ）、この全セルフォーミング処理をエラー終了する。セル選択フォーミングリクエストが正常終了した場合（ステップＳ７３６：Ｙｅｓ）、プロセッサ２１０は、フォーミング処理が実行されたページを、高抵抗リード領域から通常リード領域に変更するよう、リード領域識別情報２２２を更新する（ステップＳ７３７）。また、プロセッサ２１０は、フォーミング処理が実行されたページを、未割当物理ページ情報２２４に登録する（ステップＳ７３８）。
【０１８１】
このように、本技術の第３の実施の形態では、ライト対象となる物理ページが高抵抗リード領域である場合には、ページ内の全てのセルがフォーミング済の状態となるようフォーミング処理を行う。これにより、高抵抗リード領域を通常リード領域として再利用することができる。
【０１８２】
＜４．第１の変形例＞
ここまでに説明したように、高抵抗リード領域においては、エラーが発生する確率は十分に低いことが期待される。そこで、この第１の変形例では、メモリコントローラ２００によるエラー訂正を前提とせずに、メモリ３００において全セルフォーミングを行うことを想定する。すなわち、発生するビットエラーの期待値がＥＣＣ処理部２４０の訂正能力と比較して十分小さく、例えば、エラー訂正能力が１００ビットであるのに対してエラービットの期待値が１ビット程度である場合には、エラー訂正を省いても影響は少ないと考えられる。
【０１８３】
この第１の変形例では、メモリコントローラ２００からメモリ３００に対して全セルフォーミングリクエストを発行し、メモリ３００が自ら全セルフォーミングを行う。この場合、第３の実施の形態のライトコマンド処理において、ステップＳ７３１乃至Ｓ７３５の処理を、全セルフォーミングリクエストに置き換えて実行してもよい。
【０１８４】
図３９は、本技術の実施の形態の第１の変形例におけるメモリ３００の全セルフォーミングリクエスト処理の処理手順の一例を示す流れ図である。
【０１８５】
リクエスト処理部３６０は、プレート制御部３２０、ロウ制御部３１１およびリード制御部３３２に、高抵抗リード閾値の抵抗をリファレンス抵抗として、「０」か「１」かの判別を行うよう指示する制御信号を供給する。これにより、指定された物理ページアドレスから４２２４ビット（５２８バイト）のデータが読み出される（ステップＳ９９１）。読み出されたデータは、リードデータバッファ３４２に転送されて、保持される。
【０１８６】
リクエスト処理部３６０は、リードデータバッファ３４２のデータを、ライトデータバッファ３４１に転送して、ビット単位で「０」を「１」に、「１」を「０」に反転させる（ステップＳ９９２）。
【０１８７】
これ以降の処理は、図３１において説明したステップＳ９９３乃至Ｓ９９６の処理と同様である。すなわち、通常の物理ページセット処理よりも高いフォーミング電圧によってセット処理が行われる。
【０１８８】
このように、この第１の変形例によれば、メモリコントローラ２００においてエラー訂正やビット反転などの処理を行うことを要せず、メモリ３００において全セルフォーミングを行うことができる。
【０１８９】
＜５．第２の変形例＞
上述の実施の形態では、リード領域識別情報２２２は、初回起動時にＲＯＭ２３０から読み出されて展開されることを想定していた。これに対して、この第２の変形例では、リード領域識別情報２２２に相当する情報をホストコンピュータ１００から供給する。そのため、この第２の変形例では、ホストコンピュータ１００から転送されたリード領域識別情報２２２に相当する情報を受け付けるために、リード領域識別情報転送コマンドを設ける。
【０１９０】
図４０は、本技術の実施の形態の第２の変形例におけるメモリコントローラ２００のリード領域識別情報転送コマンド処理の処理手順の一例を示す流れ図である。このリード領域識別情報転送コマンド処理は、プロセッサ２１０のコマンド実行タスクによって処理される。
【０１９１】
プロセッサ２１０は、ホストインターフェース２０１を経由して、ホストコンピュータ１００から、リード領域識別情報２２２に相当する情報を受信する（ステップＳ７９１）。すなわち、ホストインターフェース２０１は、特許請求の範囲に記載のインターフェースの一例である。プロセッサ２１０は、ホストコンピュータ１００から受信したリード領域識別情報２２２に相当する情報を、リード領域識別情報２２２としてＲＡＭ２２０に展開する（ステップＳ７９２）。そして、プロセッサ２１０は、ホストコンピュータ１００に対してリード領域識別情報転送コマンドの処理が正常に終了した旨を通知する（ステップＳ７９３）。
【０１９２】
このように、この第２の変形例によれば、リード領域識別情報２２２をＲＡＭ２２０上に展開するための情報を、ホストコンピュータ１００から供給することができる。
【０１９３】
＜６．第３の変形例＞
上述の実施の形態では、ＥＣＣ処理部２４０のエラー訂正能力を８ビットと想定し、５１２バイトのデータに対して１６バイトのエラー訂正コードを付加して、通常リード領域および高抵抗リード領域に記憶していた。これに対して、通常リード領域および高抵抗リード領域の何れであるかに応じて、異なるエラー訂正能力を有するエラー訂正コードを用いることが考えられる。この第３の変形例では、高抵抗リード領域の信頼性が高いことに着目して、高抵抗リード領域に記憶させる際は、通常リード領域と比べてエラー訂正能力の低いエラー訂正コードを付加することを想定する。
【０１９４】
例えば、高抵抗リード領域については、ＥＣＣ処理部２４０のエラー訂正能力を２ビットとし、５１２バイトのデータに対して４バイトのエラー訂正コードを付加する。この場合、メモリ３００の物理ページのサイズは５２８バイトであるため、１２バイト分の余剰を生じることになるが、その部分は「０」を埋めることが考えられる。
【０１９５】
このように、この第３の変形例によれば、高抵抗リード領域のエラー訂正コードのエラー訂正能力を低くすることにより、エラー訂正に要する時間を短縮することができ、高速なデータリードを行うことができる。特に、コントローラファームウェアのロードを高速化することにより、メモリシステム４００を高速に起動することができるようになる。
【０１９６】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１９７】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【０１９８】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１９９】
なお、本技術は以下のような構成もとることができる。
（１）それぞれが第１および第２の値の何れかを示す複数のメモリセルから構成されるメモリにおいて前記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れであるかを識別するためのリード領域識別情報を記憶するリード領域識別情報記憶部と、
前記リード領域識別情報に基づいて前記複数の領域の何れであるかを識別して当該識別された領域の前記リード基準に従ったリードを行うよう前記メモリに要求するリード要求部と
を具備するメモリコントローラ。
（２）前記メモリセルは抵抗変化型メモリであり、
前記リード基準は、前記メモリセルの抵抗状態を切り分けるためのリファレンス抵抗値である
前記（１）に記載のメモリコントローラ。
（３）前記複数の領域のうち第１の領域においては、フォーミング処理された前記メモリセルの抵抗状態と前記フォーミング処理がされていない前記メモリセルの抵抗状態とが第１のリファレンス抵抗値によって切り分けられ、
前記複数の領域のうち第２の領域においては、前記第１のリファレンス抵抗値よりも低い第２のリファレンス抵抗値によって２つの抵抗状態の何れかが切り分けられる
前記（２）に記載のメモリコントローラ。
（４）前記第１の領域においては前記第２の領域よりもエラー訂正能力の低いエラー訂正コードを用いてエラー訂正処理を行うエラー訂正処理部をさらに具備する前記（３）に記載のメモリコントローラ。
（５）前記第１の領域について前記フォーミング処理がされていない前記メモリセルに対して前記フォーミング処理を行って前記第２の領域に変化させる前記（３）に記載のメモリコントローラ。
（６）前記第１の領域にはコントローラファームウェアが記憶され、
前記第１の領域から読み出された前記コントローラファームウェアを実行する
前記（３）に記載のメモリコントローラ。
（７）前記リード領域識別情報記憶部は揮発性メモリから構成され、
前記リード領域識別情報を前記リード領域識別情報記憶部に供給するリード領域識別情報供給部をさらに具備する
前記（１）に記載のメモリコントローラ。
（８）前記リード領域識別情報供給部は、不揮発性メモリから構成されて前記リード領域識別情報を記憶する第２のリード領域識別情報記憶部である前記（７）に記載のメモリコントローラ。
（９）前記リード領域識別情報供給部は、外部から前記リード領域識別情報を受け取るインターフェースである前記（７）に記載のメモリコントローラ。
（１０）それぞれが第１および第２の値の何れかを示す複数のメモリセルを具備し、
前記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れかに前記複数のメモリセルを区分する
メモリ。
（１１）前記メモリセルは抵抗変化型メモリであり、
前記リード基準は、前記メモリセルの抵抗状態を切り分けるためのリファレンス抵抗値である
前記（１０）に記載のメモリ。
（１２）前記複数の領域のうち第１の領域においては、フォーミング処理された前記メモリセルの抵抗状態と前記フォーミング処理がされていない前記メモリセルの抵抗状態とが第１のリファレンス抵抗値によって切り分けられ、
前記複数の領域のうち第２の領域においては、前記第１のリファレンス抵抗値よりも低い２つの抵抗状態の何れかが第２のリファレンス抵抗値によって切り分けられる
前記（１１）に記載のメモリ。
（１３）前記第１の領域について前記フォーミング処理がされていない前記メモリセルに対して前記フォーミング処理を行って前記第２の領域に変化させる前記（１２）に記載のメモリ。
（１４）それぞれが第１および第２の値の何れかを示す複数のメモリセルを備えるメモリと、
前記第１および第２の値の何れであるかを切り分けるためのリード基準が互いに異なる複数の領域の何れであるかを識別するためのリード領域識別情報に基づいて前記複数の領域の何れであるかを識別して当該識別された領域の前記リード基準に従ったリードを行うよう前記メモリに要求するメモリコントローラと
を具備するメモリシステム。
【符号の説明】
【０２００】
１００  ホストコンピュータ
１０２  コントローラインターフェース
１１０  プロセッサ
１２０  ＲＡＭ
１８０  ホストバス
２００  メモリコントローラ
２０１  ホストインターフェース
２０３  メモリインターフェース
２１０  プロセッサ
２２０  ＲＡＭ
２２１  アドレス変換テーブル
２２２  リード領域識別情報
２２３  ファームウェア領域情報
２２４  未割当物理ページ情報
２２５  高抵抗リード領域使用状況管理テーブル
２３０  ＲＯＭ
２４０  ＥＣＣ処理部
２５０  ファームウェアロード部
３００  メモリ
３０８  テストインターフェース
３０９  制御インターフェース
３１０  メモリセルアレイ
３１１  ロウ制御部
３１２  カラム制御部
３１３  メモリセル
３１４  アクセストランジスタ
３１５  可変セル抵抗
３２０  プレート制御部
３３１  ライト制御部
３３２  リード制御部
３３３  リフレッシュ制御部
３４０  バッファ
３４１  ライトデータバッファ
３４２  リードデータバッファ
３４３  ベリファイバッファ
３５０  検証処理部
３６０  リクエスト処理部
４００  メモリシステム
３１５１  導電材料層
３１５２  イオン源層
３１５３  高抵抗層
３１５４  電極
【図１】
2017054248.tif 000003
【図２】
2017054248.tif 000004
【図３】
2017054248.tif 000005
【図４】
2017054248.tif 000006
【図５】
2017054248.tif 000007
【図６】
2017054248.tif 000008
【図７】
2017054248.tif 000009
【図８】
2017054248.tif 000010
【図９】
2017054248.tif 000011
【図１０】
2017054248.tif 000012
【図１１】
2017054248.tif 000013
【図１２】
2017054248.tif 000014
【図１３】
2017054248.tif 000015
【図１４】
2017054248.tif 000016
【図１５】
2017054248.tif 000017
【図１６】
2017054248.tif 000018
【図１７】
2017054248.tif 000019
【図１８】
2017054248.tif 000020
【図１９】
2017054248.tif 000021
【図２０】
2017054248.tif 000022
【図２１】
2017054248.tif 000023
【図２２】
2017054248.tif 000024
【図２３】
2017054248.tif 000025
【図２４】
2017054248.tif 000026
【図２５】
2017054248.tif 000027
【図２６】
2017054248.tif 000028
【図２７】
2017054248.tif 000029
【図２８】
2017054248.tif 000030
【図２９】
2017054248.tif 000031
【図３０】
2017054248.tif 000032
【図３１】
2017054248.tif 000033
【図３２】
2017054248.tif 000034
【図３３】
2017054248.tif 000035
【図３４】
2017054248.tif 000036
【図３５】
2017054248.tif 000037
【図３６】
2017054248.tif 000038
【図３７】
2017054248.tif 000039
【図３８】
2017054248.tif 000040
【図３９】
2017054248.tif 000041
【図４０】
2017054248.tif 000042