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

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

▶ 株式会社メガチップスの特許一覧

<>
  • 特許6359980-情報処理システム 図000002
  • 特許6359980-情報処理システム 図000003
  • 特許6359980-情報処理システム 図000004
  • 特許6359980-情報処理システム 図000005
  • 特許6359980-情報処理システム 図000006
  • 特許6359980-情報処理システム 図000007
  • 特許6359980-情報処理システム 図000008
  • 特許6359980-情報処理システム 図000009
  • 特許6359980-情報処理システム 図000010
  • 特許6359980-情報処理システム 図000011
  • 特許6359980-情報処理システム 図000012
  • 特許6359980-情報処理システム 図000013
  • 特許6359980-情報処理システム 図000014
  • 特許6359980-情報処理システム 図000015
  • 特許6359980-情報処理システム 図000016
  • 特許6359980-情報処理システム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6359980
(24)【登録日】2018年6月29日
(45)【発行日】2018年7月18日
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   G06F 11/14 20060101AFI20180709BHJP
   G06F 12/0866 20160101ALI20180709BHJP
【FI】
   G06F11/14 641D
   G06F12/0866 100
【請求項の数】12
【全頁数】21
(21)【出願番号】特願2015-14994(P2015-14994)
(22)【出願日】2015年1月29日
(65)【公開番号】特開2016-139354(P2016-139354A)
(43)【公開日】2016年8月4日
【審査請求日】2017年12月8日
(73)【特許権者】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】吉村 紀
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特開2010−191549(JP,A)
【文献】 国際公開第2010/016115(WO,A1)
【文献】 特開2008−15918(JP,A)
【文献】 特開平9−311827(JP,A)
【文献】 特開昭59−220856(JP,A)
【文献】 特開2007−133868(JP,A)
【文献】 特開平7−295866(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14
G06F 12/0866
(57)【特許請求の範囲】
【請求項1】
メモリ識別情報が登録された半導体メモリと、
前記半導体メモリを着脱可能な情報処理装置と、
退避用キャッシュデータを保存する情報退避用記憶部とを備え、
前記情報処理装置は、
前記半導体メモリの取り付け状態時に、前記半導体メモリに対する書き込みデータを実使用キャッシュデータとして保存するキャッシュデータ記憶部と、
前記半導体メモリとのアクセス及び前記キャッシュデータ記憶部,前記情報退避用記憶部間のデータ授受を制御する制御回路とを備え、
前記制御回路は、
(a) 前記半導体メモリに対する書き込み動作として、前記キャッシュデータ記憶部内の前記実使用キャッシュデータを利用したキャッシュ動作を行うステップと、
(b) 退避タイミング時に、前記実使用キャッシュデータに復元可能な退避データである前記退避用キャッシュデータと、前記退避用キャッシュデータに対応する前記メモリ識別情報を指示するキャッシュデータ関連情報とを作成あるいは更新し、前記情報退避用記憶部内に保存するステップと、
(c) 復帰タイミング時に、前記半導体メモリから読み出した前記メモリ識別情報と、前記キャッシュデータ関連情報が指示する前記メモリ識別情報とを比較し、両者が一致することを復帰条件として、一致した前記メモリ識別情報に対応する前記退避用キャッシュデータを復元して得られる前記実使用キャッシュデータを前記キャッシュデータ記憶部に転送するステップと、
(d) 書き戻しタイミング時に、前記キャッシュデータ記憶部内の前記実使用キャッシュデータの内容を、前記半導体メモリに書き戻すステップと、
を実行制御することを特徴とする、
情報処理システム。
【請求項2】
請求項1記載の情報処理システムであって、
前記情報処理装置は、外部操作に従い前記情報処理装置の動作電源オン/オフを指示する動作電源信号を前記制御回路に出力する外部スイッチをさらに備え、
前記退避タイミングは前記動作電源信号の指示内容が電源オンから電源オフに変化する電源オフ遷移時を含む、
情報処理システム。
【請求項3】
請求項1または請求項2記載の情報処理システムであって、
前記情報処理装置は、前記情報処理装置への前記半導体メモリの着脱状態を検知して、前記半導体メモリの取り付け状態/取り外し状態を指示する着脱検知信号を前記制御回路に出力する着脱検知回路を内部に有し、
前記退避タイミングは、前記着脱検知信号の指示内容が前記取り付け状態から前記取り外し状態に変化する取り外し遷移時を含む、
情報処理システム。
【請求項4】
請求項3記載の情報処理システムであって、
前記制御回路は、
前記復帰タイミング及び前記書き戻しタイミングは、前記着脱検知信号の指示内容が前記取り外し状態から前記取り付け状態に変化する取り付け遷移時を含む、
情報処理システム。
【請求項5】
請求項1〜請求項4のうち、いずれか1項に記載の情報処理システムであって、
前記情報退避用記憶部は、前記情報処理装置内に設けられた不揮発性メモリを含む、
情報処理システム。
【請求項6】
請求項5記載の情報処理システムであって、
前記制御回路は、
(e) 前記不揮発性メモリの書き込み可能容量が所定の基準値以下となる場合、前記不揮発性メモリ内に格納された少なくとも一つの退避用キャッシュデータのうち、最も古い退避用キャッシュデータを削除するメモリ管理動作をさらに実行制御する、
情報処理システム。
【請求項7】
請求項1〜請求項4のうち、いずれか1項に記載の情報処理システムであって、
前記情報退避用記憶部は、前記情報処理装置とネットワークを介して接続される外部サーバーを含む、
情報処理システム。
【請求項8】
請求項7記載の情報処理システムであって、
前記情報退避用記憶部は、前記情報処理装置内に設けられた不揮発性メモリをさらに含み、
前記不揮発性メモリは、前記実使用キャッシュデータを前記退避用キャッシュデータとして保存し、前記外部サーバー及び前記情報処理装置の接続時に、保存した前記退避用キャッシュデータを前記外部サーバーに転送する一時保存機能を有する、
情報処理システム。
【請求項9】
請求項1〜請求項8のうち、いずれか1項に記載の情報処理システムであって、
前記情報処理装置は、
前記実使用キャッシュデータを一時的に保存するワークメモリをさらに備え、
前記ステップ(d) は、
(d-1) 前記書き戻しタイミング時に、前記キャッシュデータ記憶部の前記実使用キャッシュデータの内容を、前記ワークメモリに転送するステップと、
(d-2) 前記ワークメモリに保存された前記実使用キャッシュデータの内容を前記半導体メモリに書き戻すステップとを含む、
情報処理システム。
【請求項10】
請求項9記載の情報処理システムであって、
前記実使用キャッシュデータはアドレスに書き込みデータを対応づけた単純アドレスデータ対応構造を有する、
情報処理システム。
【請求項11】
請求項10記載の情報処理システムであって、
前記ステップ(d-1)は、
前記実使用キャッシュデータをアドレス順にソーティングして前記ワークメモリに保存するアドレスソーティング処理を含む、
情報処理システム。
【請求項12】
請求項9記載の情報処理システムであって、
前記実使用キャッシュデータは前記半導体メモリにおける一部のアドレス空間であるブロックにおける全てのアドレス及びデータの情報を転送して得たブロック対応構造を有する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置に着脱可能なNANDフラッシュメモリ等の半導体メモリの信頼性を向上させるための情報処理システムに関する。
【背景技術】
【0002】
着脱可能な半導体メモリ(コントローラ+NANDフラッシュメモリ)と、その半導体メモリに対して、読み書きと電源供給を行う情報端末の組み合わせ環境である情報処理システムにおいて、NANDフラッシュメモリへ書き込み動作を頻繁に行った際に、ゲート酸化膜の破壊等のストレスによってデータ化けが発生することがある。
【0003】
従来の技術では、上述したデータ化け問題に対し、半導体メモリ側に揮発性メモリを持たせ、書き込みデータを揮発性メモリにキャッシュするキャッシュ動作を行うキャッシュ制御システムを採用することにより解決していた。なお、キャッシュ制御システムとして例えば特許文献1に開示されたディスクキャッシュシステムがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−318832号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した情報処理システムにおいて半導体メモリ側に揮発性メモリを持たせたキャッシュ制御システムを採用する場合、半導体メモリが情報端末から取り外された場合等に、揮発性メモリ内のキャッシュデータが消失する可能性があるという問題点があった。
【0006】
また、半導体メモリ内にキャッシュ用の揮発性メモリを設けているため、キャッシュ動作であっても、情報端末及び半導体メモリ間に介在するI/F(インタフェース)の転送レートに依存してしまい、キャッシュ動作によるパフォーマンス向上の利得が十分に得られないという問題点があった。
【0007】
この発明は上記問題点を解決するためになされたもので、キャッシュ動作による書き込み動作のパフォーマンス向上を図りながら、キャッシュデータの信頼性を高めることができる情報処理システムを得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明における請求項1記載の情報処理システムは、メモリ識別情報が登録された半導体メモリと、前記半導体メモリを着脱可能な情報処理装置と、退避用キャッシュデータを保存する情報退避用記憶部とを備え、前記情報処理装置は、前記半導体メモリの取り付け状態時に、前記半導体メモリに対する書き込みデータを実使用キャッシュデータとして保存するキャッシュデータ記憶部と、前記半導体メモリとのアクセス及び前記キャッシュデータ記憶部,前記情報退避用記憶部間のデータ授受を制御する制御回路とを備え、前記制御回路は、(a) 前記半導体メモリに対する書き込み動作として、前記キャッシュデータ記憶部内の前記実使用キャッシュデータを利用したキャッシュ動作を行うステップと、(b) 退避タイミング時に、前記実使用キャッシュデータに復元可能な退避データである前記退避用キャッシュデータと、前記退避用キャッシュデータに対応する前記メモリ識別情報を指示するキャッシュデータ関連情報とを作成あるいは更新し、前記情報退避用記憶部内に保存するステップと、(c) 復帰タイミング時に、前記半導体メモリから読み出した前記メモリ識別情報と、前記キャッシュデータ関連情報が指示する前記メモリ識別情報とを比較し、両者が一致することを復帰条件として、一致した前記メモリ識別情報に対応する前記退避用キャッシュデータを復元して得られる前記実使用キャッシュデータを前記キャッシュデータ記憶部に転送するステップと、(d) 書き戻しタイミング時に、前記キャッシュデータ記憶部内の前記実使用キャッシュデータの内容を、前記半導体メモリに書き戻すステップと、を実行制御する。
【発明の効果】
【0009】
この発明における請求項1記載の情報処理システムは、制御回路によるステップ(a) のキャッシュ動作の実行によって、半導体メモリへの直接の書き込み回数の減少により半導体メモリのストレス低減化を図るとともに、上記キャッシュ動作を情報処理装置内に設けたキャッシュデータ記憶部への書き込み動作により行うことによりパフォーマンス向上を図ることができる。
【0010】
さらに、請求項1記載の情報処理システムは、制御回路によるステップ(b) 及び(c) の実行制御によって、情報退避用記憶部内に退避された退避用キャッシュデータを復元して実使用キャッシュデータを得ることができる。このため、突発的にキャッシュデータ記憶部内の実使用キャッシュデータが消失する事態が生じても、確実に実使用キャッシュデータを復元することができ、実使用キャッシュデータの信頼性を高めることができる。
【図面の簡単な説明】
【0011】
図1】この発明の実施の形態1である情報処理システムの構成を示すブロック図である。
図2】揮発性メモリに格納されるキャッシュデータの構造を模式的に示す説明図である。
図3】実施の形態1の情報処理システムにおけるキャッシュ動作を模式的に示すブロック図である。
図4】実施の形態1の情報処理システムにおけるキャッシュ動作を模式的に示すブロック図である。
図5】実施の形態1の情報処理システムにおける退避動作を模式的に示すブロック図である。
図6】不揮発性メモリ内に格納されるキャッシュIDテーブルの内容を模式的に示す説明図である。
図7】実施の形態1の情報処理システムにおける復帰動作を模式的に示すブロック図である。
図8】実施の形態1の情報処理システムにおける復帰動作を模式的に示すブロック図である。
図9】実施の形態1の情報処理システムにおける復帰動作を模式的に示すブロック図である。
図10】実施の形態1の情報処理システムにおける書き戻し動作の第1の態様を模式的に示すブロック図である。
図11】揮発性メモリあるいはワークメモリにおける単純アドレスデータ対応構造のキャッシュデータの格納状態を示す説明図である。
図12】実施の形態1の情報処理システムにおける書き戻し動作の第2の態様を模式的に示すブロック図である。
図13】実施の形態1の情報処理システムにおける書き戻し動作の第3の態様を模式的に示すブロック図である。
図14】揮発性メモリあるいはワークメモリにおけるブロック対応構造のキャッシュデータの格納状態を示す説明図である。
図15】実施の形態1の情報処理システムにおける不揮発性メモリのメモリ管理内容を模試的に示すブロック図である。
図16】この発明の実施の形態2である情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
<実施の形態1>
(全体構成)
図1はこの発明の実施の形態1であるの情報処理システムの構成を示すブロック図である。
【0013】
同図に示すように、実施の形態1の情報処理システムは情報端末1及び半導体メモリ2の組み合わせにより構成される。情報端末1は半導体メモリ2を着脱可能であり、半導体メモリ2の取り付け時において情報端末1と半導体メモリ2とは一体化する。
【0014】
半導体メモリ2は内部にNANDフラッシュメモリ21及びコントローラ22を有している。NANDフラッシュメモリ21は半導体メモリ2を他の半導体メモリと識別するための固有のメモリIDデータMD1(メモリ識別情報)を格納している。半導体メモリ2は、コントローラ22を介することにより、NANDフラッシュメモリ21と情報端末1との間のアクセス動作(読み出し動作,書き込み動作等)が可能である。
【0015】
情報処理装置である情報端末1は内部に制御回路4、着脱検知回路5、不揮発性メモリ6、揮発性メモリ7、半導体メモリI/F8、ワークメモリWM及びバス10を有しており、外部に外部スイッチ9を有している。
【0016】
制御回路4はバス10を介して不揮発性メモリ6、揮発性メモリ7、半導体メモリI/F8及びワークメモリWMとデータとの間でデータの授受に関する種々のアクセス動作(キャッシュ動作、退避動作、復帰動作及び書き戻し動作)を実行制御する。
【0017】
半導体メモリI/F8は、半導体メモリ2のコントローラ22を介してNANDフラッシュメモリ21とのデータ授受を行うインタフェースである。すなわち、半導体メモリI/F8を介して、NANDフラッシュメモリ21からの読み出しデータをバス10上に読み出したり、バス10上のデータをNANDフラッシュメモリ21の書き込みデータとして出力したりすることができる。
【0018】
キャッシュデータ記憶部である揮発性メモリ7はNANDフラッシュメモリ21用のキャッシュメモリとして機能すべく、制御回路4の制御下でキャッシュデータVD(実使用キャッシュデータ)を格納する。
【0019】
図2は揮発性メモリ7内に格納されるキャッシュデータVDの構造を模式的に示す説明図である。同図において「MD」,「VD」及び「VBK」はメモリIDデータ、キャッシュデータ及びキャッシュブロックデータを一般化した総称を意味し、カッコ内に示す「MD1」,「VD1」及び「VBK1」は半導体メモリ2のNANDフラッシュメモリ21(メモリID1)に対応する固有のメモリIDデータ、キャッシュデータ及びキャッシュブロックデータを意味する。
【0020】
同図(a) に示すように、第1の態様のキャッシュデータあるキャッシュデータVDは、メモリIDデータMD、アドレス格納領域AD及びデータ格納領域DTにより構成される。メモリIDデータMDは情報端末1に接続されている半導体メモリ2を識別するための情報である。メモリIDデータMD以外において、キャッシュデータVDは、アドレス(アドレスA〜アドレスC)に書き込みデータ(Data(A)〜Data(C))を1対1に対応づけた単純アドレスデータ対向構造を呈している。
【0021】
同図(b) に示すように、第2の態様のキャッシュデータであるブロック単位キャッシュデータVBKは、メモリIDデータMD及びブロックデータBDから構成される。ブロックデータBDはNANDフラッシュメモリ21における一部のアドレス空間であるブロックにおける全ての情報(全アドレス(アドレスA〜アドレスX〜アドレスZ)及び全アドレスに対応するデータの情報)をミラーイメージでコピー転送して得たブロック対応構造のデータである。
【0022】
情報退避用記憶部である不揮発性メモリ6は、必要に応じて、キャッシュデータND(退避用キャッシュデータ)及びキャッシュIDテーブルNTを不揮発に記憶することができる。キャッシュデータNDは不揮発性メモリ6内のキャッシュデータVD(ブロック単位キャッシュデータVBK)に復元可能な退避用データであり、キャッシュIDテーブルNTはキャッシュデータNDにメモリIDデータMDを対応づけたキャッシュデータ関連情報である。
【0023】
制御回路4は以下で述べるキャッシュ動作、退避動作、復帰動作及び書き戻し動作を実行制御する。
【0024】
なお、説明の都合上、キャッシュデータVD及びブロック単位キャッシュデータVBKのうち、キャッシュデータVDを代表させて、キャッシュ動作、退避動作及び復帰動作を説明する。
【0025】
キャッシュ動作は、半導体メモリ2(NANDフラッシュメモリ21)に対する書き込み動作を、揮発性メモリ7内のキャッシュデータVDを利用して行う動作である。
【0026】
退避動作は、退避タイミング時に、キャッシュデータVDに復元可能な退避用データであるキャッシュデータNDと、キャッシュデータNDに対応づけてメモリIDデータMDを指示するキャッシュデータ関連情報であるキャッシュIDテーブルNTとを作成し、これらのキャッシュデータND及びキャッシュIDテーブルNTを不揮発性メモリ6内に保存する動作である。なお、キャッシュIDテーブルNTが既に揮発性メモリ7内に作成されている場合は、新たに追加したキャッシュデータNDに対応づけたメモリIDデータMDを指示する情報を追加する態様でキャッシュIDテーブルNTが更新される。
【0027】
復帰動作は、復帰タイミング時に、半導体メモリ2から読み出したメモリIDデータMDと、キャッシュIDテーブルNTが指示する少なくとも一つのメモリIDデータMDとを比較し、両者が一致することを復帰条件として、一致したメモリIDデータMDに対応するキャッシュデータNDを復元して得られるキャッシュデータVDを揮発性メモリ7に転送する動作である。
【0028】
書き戻し動作は、書き戻しタイミング時に、揮発性メモリ7内のキャッシュデータVDの内容を、半導体メモリ2内のNANDフラッシュメモリ21に書き戻す動作である。
【0029】
ワークメモリWMは書き戻し動作時に、揮発性メモリ7とNANDフラッシュメモリ21との間のバッファメモリとして、キャッシュデータVDをワーク・キャッシュデータTDとして一時的に保存する。なお、ワークメモリWMは、キャッシュデータVDの記録領域とは異なる領域に揮発性メモリ7の一部の記憶領域として設けても、揮発性メモリ7と独立した存在として設けても良い。
【0030】
着脱検知回路5は情報端末1への半導体メモリ2の着脱状態を検知して、半導体メモリ2の取り付け状態あるいは取り外し状態を指示する着脱検知信号S5を制御回路4に出力する。
【0031】
外部スイッチ9は、外部操作に従って情報端末1の動作電源の電源オンあるいは電源オフを指示する動作電源信号S9を制御回路4に出力する。
【0032】
(キャッシュ動作)
図3及び図4は実施の形態1の情報処理システムにおけるキャッシュ動作を模式的に示すブロック図である。キャッシュ動作は制御回路4の制御下で揮発性メモリ7を利用して行われる。
【0033】
これらの図では、情報端末1に装着されている半導体メモリ2とは異なる半導体メモリ用のキャッシュデータND2とキャッシュIDテーブルNTとが不揮発性メモリ6に既に格納されている状態において、例えば、はじめて半導体メモリ2が情報端末1に装着された状態を想定している。
【0034】
図3に示すように、NANDフラッシュメモリ21の読み出しデータ及びメモリIDデータMD1は内部のコントローラ22、情報端末1内の半導体メモリI/F8を介してバス10上に読み出されることにより、制御回路4の制御下で読み出し動作(Read)が行われる。
【0035】
一方、半導体メモリ2に対する書き込み動作(Write)は、NANDフラッシュメモリ21ではなく揮発性メモリ7に対して行われ、揮発性メモリ7内のキャッシュデータVD1として書き込まれる。この際、図2(a)に示すように、アドレスと書き込みデータとが対にして書き込まれるとともに、「メモリID1」(半導体メモリ2を指示する識別情報)も併せてメモリIDデータMDとして書き込まれる。
【0036】
キャッシュデータVD1におけるアドレス格納領域AD及びデータ格納領域DTへの書き込み方は、以下の2通りが考えられる。
【0037】
(A-1) 書き込まれた順にアドレスを考慮せずに順次書き込む。この場合、同一アドレスが複数存在する可能性があるが、最新のアドレスが優先される。
(A-2) 同一アドレスへの書き込みは上書きして書き込む。この場合、同一アドレスは常に一つである。
【0038】
そして、図4に示すように、キャッシュデータVD1として書き込まれたアドレスのデータに関しては、書き込み動作に加え、読み出し動作も併せて行われる。すなわち、情報端末1が揮発性メモリ7にキャッシュデータVDとして書き込んだデータに対応するアドレスへの読み出し及び書き込み動作を行う場合、制御回路4は揮発性メモリ7のキャッシュデータVDを利用して読み出し及び書き込み動作を行う。
【0039】
(退避動作)
退避動作の実行開始のトリガとなる退避タイミングとして以下の(1),(2)のタイミングが設定される。
【0040】
(1) 情報端末1から半導体メモリ2が取り外され、着脱検知回路5からの着脱検知信号S5の指示内容が取り付け状態から取り外し状態に変化する取り外し遷移時
(2) 外部スイッチ9に対する外部操作によって動作電源信号S9の指示内容が電源オンから電源オフに変化する電源オフ遷移時
【0041】
制御回路4は、着脱検知回路5からの着脱検知信号S5あるいは外部スイッチ9からの動作電源信号S9に基づき、上記(1),(2)のタイミングを退避タイミングとして以下で述べる退避動作を実行制御する。
【0042】
図5は、実施の形態1の情報処理システムにおける退避動作を模式的に示すブロック図である。退避動作は制御回路4の制御下で揮発性メモリ7,不揮発性メモリ6間で行われる。
【0043】
同図に示すように、揮発性メモリ7のキャッシュデータVD1がキャッシュデータND1として不揮発性メモリ6に移動転送(move)される。したがって、移動転送後は揮発性メモリ7内にキャッシュデータVD1は存在しない。
【0044】
なお、キャッシュデータND1としては、以下の態様が考えられる。第1は上述したようにキャッシュデータVD1をそのままキャッシュデータND1とする態様である。第2はキャッシュデータVD1に対して圧縮処理を施したデータをキャッシュデータND1とする態様である。第3はキャッシュデータVD1をアドレス順にソーティングして後のデータをキャッシュデータND1とする態様である。このように、第1〜第3の態様のキャッシュデータND1が、キャッシュデータVD1に復元可能な退避データである退避用キャッシュデータとなる。
【0045】
また、キャッシュデータがブロック単位キャッシュデータVBKの場合、キャッシュデータNDとしては、以下の態様が考えられる。第1はブロック単位キャッシュデータVBKをそのままキャッシュデータNDとする態様である。第2はブロック単位キャッシュデータVBKに対して圧縮処理を施したデータをキャッシュデータND1とする態様である。このように、第1及び第2の態様のキャッシュデータNDが、ブロック単位キャッシュデータVBKに復元可能な退避データである退避用キャッシュデータとなる。
【0046】
制御回路4は退避動作時に、不揮発性メモリ6内へのキャッシュデータND1の格納に伴いキャッシュIDテーブルNTを作成あるいは更新(update)する。
【0047】
図6は揮発性メモリ7内に格納されるキャッシュIDテーブルNTの内容を模式的に示す説明図である。同図(a) はキャッシュデータND1の登録前の図3図4で示すキャッシュ動作時のキャッシュIDテーブルNT、同図(b) は図5で示す退避動作によってキャッシュデータND1が登録された際の更新されたキャッシュIDテーブルNTを示している。図6に示すように、キャッシュIDテーブルNTはメモリIDデータMDを格納するメモリID情報格納領域61とキャッシュデータアドレス情報CAを格納するキャッシュデータ指定情報格納領域62により構成される。
【0048】
同図(a) に示すように、キャッシュIDテーブルNTは半導体メモリ2とは異なる「メモリID2」を指示するメモリIDデータMD2とキャッシュデータアドレス情報CA2とを対応づけている。なお、キャッシュデータアドレス情報CA2はキャッシュデータND2の開始アドレス、データサイズ等、キャッシュデータND2の不揮発性メモリ6内における所在を示す情報である。
【0049】
同図(b) に示すように、更新後のキャッシュIDテーブルNTは、同図(a) で示す状態から、半導体メモリ2である「メモリID1」を指示するメモリIDデータMD1とキャッシュデータアドレス情報CA1とを対応づけを追加している。なお、キャッシュデータアドレス情報CA1はキャッシュデータND1の不揮発性メモリ6内における所在を示す情報である。
【0050】
なお、上記(2)のタイミングである電源オフ遷移時に退避動作を行う場合、制御回路4は、退避動作の完了後に、情報端末1をオフ状態にするように制御する。
【0051】
(復帰動作)
復帰動作の実行開始のトリガとなる復帰タイミングとして以下の(1),(2)のタイミングが設定される。
【0052】
(1) 情報端末1に半導体メモリ2が取り付けられ、着脱検知回路5からの着脱検知信号S5の指示内容が取り外し状態から取り付け状態に変化する取り付け遷移時
(2) 外部スイッチ9に対する外部操作によって動作電源信号S9の指示内容が電源オフから電源オンになる電源オン遷移時
【0053】
制御回路4は、着脱検知回路5からの着脱検知信号S5あるいは外部スイッチ9からの動作電源信号S9に基づき、上記(1),(2)のタイミングを復帰タイミングとして以下で述べる復帰動作を実行制御する。
【0054】
図7図9は、実施の形態1の情報処理システムにおける復帰動作を模式的に示すブロック図である。復帰動作は制御回路4の制御下で揮発性メモリ7,不揮発性メモリ6間で行われる。
【0055】
図7に示すように、制御回路4の制御下で、不揮発性メモリ6のキャッシュIDテーブルNTがコピー転送(copy)され、揮発性メモリ7内にキャッシュIDテーブルVTとして格納される。
【0056】
そして、図8に示すように、制御回路4の制御下で、NANDフラッシュメモリ21のメモリIDデータMD1がコントローラ22、半導体メモリI/F8を介してバス10上に読み出され(ID Read)、揮発性メモリ7内にメモリIDデータVMDとして格納される。
【0057】
制御回路4は、キャッシュIDテーブルVT内に登録された少なくとも一つのメモリIDデータMDそれぞれと、メモリIDデータVMDが指示するメモリIDデータMD1とを比較し、メモリIDデータMD1に一致するメモリIDデータMDがキャッシュIDテーブルVT内に存在する場合、復帰条件を満足したと判断し、不揮発性メモリ6,揮発性メモリ7間のキャッシュデータ復元動作を実行する。
【0058】
一方、制御回路4は、上記比較によって、メモリIDデータMD1に一致するメモリIDデータMDがキャッシュIDテーブルVT内に存在しない場合、復帰条件を満足しないと判断し、メモリIDデータVMD及びキャッシュIDテーブルVTを消去して復帰動作を終了する。
【0059】
以下、図9を参照して、復帰条件を満足した場合に行われるキャッシュデータ復元動作を説明する。図9に示すように、制御回路4の制御下で、不揮発性メモリ6に格納されている半導体メモリ2(メモリIDデータMD1)用のキャッシュデータND1を復元した得られるキャッシュデータVD1を揮発性メモリ7に転送する。
【0060】
キャッシュデータND1が、上述した第1及び第3の態様の場合、キャッシュデータND1をそのままキャッシュデータVD1とすることが、キャッシュデータND1を復元したキャッシュデータVD1を転送する処理となる。一方、上述した第2の態様の場合、キャッシュデータND1を解凍して得られるデータをキャッシュデータVD1として転送することが、キャッシュデータND1を復元したキャッシュデータVD1を転送する処理となる。
【0061】
そして、揮発性メモリ7内にキャッシュデータVD1が格納されると、不揮発性メモリ6内のキャッシュデータND1が消去され、キャッシュIDテーブルNTが図6(b) で示す状態から図6(a) で示す状態に更新される(update)。一方、揮発性メモリ7もキャッシュデータVD1の格納後、メモリIDデータVMD及びキャッシュIDテーブルVTを消去する。
【0062】
(書き戻し動作)
書き戻し動作の実行開始のトリガとなる書き戻しタイミングとして以下の(1)〜(3)のタイミングが設定される。
【0063】
(1) 情報端末1に半導体メモリ2が取り付けられ、着脱検知回路5からの着脱検知信号S5の指示内容が取り外し状態から取り付け状態に変化する取り付け遷移時
(2) 揮発性メモリ7の書き込み可能容量が基準値以下となり、キャッシュデータVD(VBK)の保存が困難となるメモリフル状態時
(3) 制御回路4より指示がある特定条件時
【0064】
なお、(3)のタイミングにおける特定条件時として、例えば、情報端末1がゲーム機器である場合に、ゲームイベントの区切りが発生した時等が考えられる。
【0065】
制御回路4は、揮発性メモリ7からのメモリフル状態を指示する信号、動作電源信号S9等に基づく上記(1)〜(3)のタイミングを書き戻しタイミングとして以下で述べる書き戻し動作を実行制御する。
【0066】
図10は実施の形態1の情報処理システムにおける書き戻し動作の第1の態様を模式的に示すブロック図である。図11は揮発性メモリ7あるいはワークメモリWMにおける単純アドレスデータ対応構造のキャッシュデータの格納状態を示す説明図である。
【0067】
揮発性メモリ7が格納しているキャッシュデータVD1は、図11(a) に示すように、アドレス順にソーティングされていない単純アドレスデータ対向構造を呈している。なお、アドレス順は昇順にアドレスA,アドレスB及びアドレスCの順になっている。
【0068】
まず、制御回路4の制御下で、揮発性メモリ7のキャッシュデータVD1の内容をワークメモリWMに転送する。この際、ワークメモリWMは、図11(b) に示すように、キャッシュデータVD1からメモリIDデータMDのみを除いたデータをワーク・キャッシュデータTD1として格納する。
【0069】
その後、ワークメモリWMに一時保存されたワーク・キャッシュデータTD1の内容をバス10、半導体メモリI/F8、コントローラ22を介してNANDフラッシュメモリ21に書き戻す。
【0070】
この際、NANDフラッシュメモリ21のアドレスBにData(B)が書き込まれ(1st write)、次にアドレスAにData(A)を書き込まれ(2nd write)、最後にアドレスCにData(C)が書き込まれる(3rd write)。
【0071】
図12は書き戻し動作の第2の態様を模式的に示すブロック図である。揮発性メモリ7が格納しているキャッシュデータVD1は、図11(a) に示すように、アドレス順にソーティングされていない単純アドレスデータ対向構造を呈している。
【0072】
まず、制御回路4の制御下で、揮発性メモリ7のキャッシュデータVD1の内容をワークメモリWMに転送する。
【0073】
この際、制御回路4は、図11(c) に示すように、キャッシュデータVD1からメモリIDデータMDを除いたデータに対し、アドレス順にソーティングしたワーク・キャッシュデータTD2をワークメモリWMに保存する。すなわち、制御回路4は、キャッシュデータVD1の揮発性メモリ7からワークメモリWMへの転送時に、アドレスソーティング処理を併せて実行して得られるワーク・キャッシュデータTD2をワークメモリWMに保存する。
【0074】
その後、ワークメモリWMに一時保存されたワーク・キャッシュデータTD2の内容をバス10、半導体メモリI/F8、コントローラ22を介してNANDフラッシュメモリ21に書き戻す。
【0075】
この際、NANDフラッシュメモリ21のアドレスAにData(A)が書き込まれ(1st write)、次にアドレスBにData(B)が書き込まれ(2nd write)、最後にアドレスCにData(C)を書き込まれる(3rd write)。このように、第2の態様では、アドレス順(アドレスA,B,Cの順)に書き込みデータがNANDフラッシュメモリ21に書き込まれることにより、第1の態様に比べ書き戻し処理の効率化を図ることができる。
【0076】
図13は書き戻し動作の第3の態様を模式的に示すブロック図である。図14は揮発性メモリ7あるいはワークメモリWMにおけるブロック対応構造のキャッシュデータの格納状態を示す説明図である。
【0077】
揮発性メモリ7が格納しているブロック単位キャッシュデータVBK1は、図14(a) に示すように、メモリIDデータMD及びブロックデータBDから構成され、ブロック対応構造のデータである。すなわち、第3の態様は、揮発性メモリ7がブロック対応構造のブロック単位キャッシュデータVBK1を格納していることを前提としている。
【0078】
まず、制御回路4の制御下で、揮発性メモリ7のブロック単位キャッシュデータVBK1の内容をワークメモリWMに転送する。この際、ワークメモリWMは、図14(b) に示すように、ブロック単位キャッシュデータVBK1からメモリIDデータMDを除いたデータであるブロックデータBDをワークメモリ内ブロックデータWBK1として格納する。
【0079】
その後、バス10、半導体メモリI/F8、コントローラ22を介して、ワークメモリWMに一時保存されたワークメモリ内ブロックデータWBK1のミラーイメージであるブロックデータBK1がNANDフラッシュメモリ21に書き込まれる。
【0080】
このように、第3の態様では、ワークメモリ内ブロックデータWBK1(ブロック単位キャッシュデータVBK1)のミラーイメージがNANDフラッシュメモリ21に書き込まれることにより、第1及び第2の態様に比べ書き戻し処理の効率化を図ることができる。
【0081】
(不揮発性メモリ6内の管理)
不揮発性メモリ6内には情報端末1に取り付ける半導体メモリ2の数量に応じて順次キャッシュデータNDが格納されることになる。例えば、情報端末1に異なるm(≧2)個の半導体メモリ2が装着される場合、不揮発性メモリ6内に最大m個のキャッシュデータND1〜キャッシュデータNDmが格納されることになる。
【0082】
制御回路4は、不揮発性メモリ6は格納容量に余裕がある限り、キャッシュデータNDi(i=1〜mのいずれか)を順次格納するが、書き込み可能容量が所定の基準値を下回るメモリフル状態になると、格納しているキャッシュデータNDiのうち最も古いキャッシュデータNDkを削除するメモリ管理動作の実行制御を行う。
【0083】
図15は実施の形態1の情報処理システムにおける不揮発性メモリ6のメモリ管理内容を模試的に示すブロック図である。
【0084】
同図に示すように、情報端末1には半導体メモリ2とは異なる半導体メモリ12が取り付けられ、半導体メモリ12(NANDフラッシュメモリ23)用のキャッシュデータVD3が揮発性メモリ7内に格納されている。
【0085】
一方、不揮発性メモリ6は半導体メモリ12とは異なる半導体メモリのキャッシュデータND1及びND2並びにキャッシュIDテーブルNTを既に格納している。ここで、キャッシュデータND1の方がキャッシュデータND2よりも古いとする。
【0086】
この状態で不揮発性メモリ6がメモリフル状態になったと場合を考える。この場合、キャッシュデータVD3の揮発性メモリ7から不揮発性メモリ6への退避動作を実行することができない。
【0087】
そこで、制御回路4の制御下で、キャッシュデータND1及びND2のうち、最も古いキャッシュデータND1を消去し、キャッシュデータVD3の退避動作を実行可能にする。この際、キャッシュデータND1が存在しないことを新たに指示すべくキャッシュIDテーブルNTの内容も更新(update)される。
【0088】
(効果)
実施の形態1の情報処理システムは、制御回路4の実行制御によるキャッシュ動作によって、半導体メモリ2への直接の書き込み回数の減少により半導体メモリ2内におけるNANDフラッシュメモリ21のストレス低減化を図るとともに、情報端末1内に設けた揮発性メモリ7に対するキャッシュ動作を実行することにより書き込み動作のパフォーマンス向上を図ることができる。また、半導体メモリ2のストレス低減が図れる分、比較的安価な半導体メモリ2を使用することができる。
【0089】
さらに、実施の形態1の情報処理システムは、制御回路4の実行制御による退避動作及び復帰動作によって、情報退避用記憶部である不揮発性メモリ6内に退避されたキャッシュデータND(退避用キャッシュデータ)を復元して得られるキャッシュデータVD(実使用キャッシュデータ)を揮発性メモリ7内に格納することができる。このため、突発的に揮発性メモリ7内のキャッシュデータVDが消失する事態が生じても、確実にキャッシュデータVDを復元することができ、キャッシュデータVDの信頼性を高めることができる効果を奏する。
【0090】
また、情報端末1内の制御回路4は、外部スイッチ9から得られる動作電源信号S9によって情報端末1がオフ状態となる際に、退避動作を実行制御することにより、揮発性メモリ7のキャッシュデータVDに復元可能な退避データであるキャッシュデータNDを不揮発性メモリ6内に確実に退避させることができるため、情報端末1の電源オフ時におけるキャッシュデータVDの信頼性を高めることができる。
【0091】
さらに、制御回路4は、半導体メモリ2が情報端末1から取り外された際、退避動作を実行制御することにより、揮発性メモリ7内のキャッシュデータVDを不揮発性メモリ6内のキャッシュデータNDとして確実に退避させることができるため、半導体メモリ2の取り外し時におけるキャッシュデータVDの信頼性を高めることができる。
【0092】
そして、制御回路4は、半導体メモリ2が情報端末1に取り付けられた際、復帰動作を実行制御することにより、不揮発性メモリ6内のキャッシュデータNDを復元して揮発性メモリ7内のキャッシュデータVDを確実に得ることができる。
【0093】
さらに、制御回路4は、半導体メモリ2が情報端末1に取り付けられた際、書き戻し動作を実行制御することにより、揮発性メモリ7内のキャッシュデータVDを半導体メモリ2内に書き戻して半導体メモリ2(NANDフラッシュメモリ21)の記憶内容を最新の内容に更新することができる。
【0094】
情報端末1内に情報退避用記憶部として不揮発性メモリ6を設けることにより、情報端末1の内部処理によりキャッシュデータVDの信頼性を高めることができる。
【0095】
さらに、制御回路4は不揮発性メモリ6のメモリ管理動作を実行制御することにより、必要最小限の容量の不揮発性メモリ6を用いた比較的安価な情報端末1の構成で実使用キャッシュデータの信頼性を高めることができる。
【0096】
情報端末1は、揮発性メモリ7,半導体メモリ2間にワークメモリWMを介在させることにより、ワークメモリWMへのキャッシュデータVD(ブロック単位キャッシュデータVBK)の転送後に揮発性メモリ7を書き戻し動作から早期に開放することができる。
【0097】
揮発性メモリ7に格納するキャッシュデータとして、単純アドレスデータ対応構造のキャッシュデータVDを採用することにより、キャッシュデータVDの容量を必要最小限に抑えることができる。
【0098】
さらに、書き戻し動作の際、ワークメモリWM内にアドレス順にソーティングしたワーク・キャッシュデータTD2を保存することにより、キャッシュデータVDの半導体メモリ2への書き戻し動作の効率化を図ることができる。
【0099】
揮発性メモリ7に格納するキャッシュデータとして、ブロック対応構造のブロック単位キャッシュデータVBKを採用することにより、半導体メモリ2へ書き戻し動作の大幅な効率化を図ることができる。
【0100】
<実施の形態2>
図16はこの発明の実施の形態2であるの情報処理システムの構成を示すブロック図である。
【0101】
同図に示すように、実施の形態2の情報処理システムは2つ(複数)の情報端末1A及び1B、半導体メモリ2並びにクラウドサーバー3(外部サーバー)の組み合わせにより構成される。このように、実施の形態2では、情報端末1A及び1B間で半導体メモリ2及びクラウドサーバー3を共用している。
【0102】
半導体メモリ2は実施の形態1の半導体メモリ2と同様の構造を呈している。したがって、適宜、同一符号を付して説明を省略する。
【0103】
情報処理装置である情報端末1A及び1Bはそれぞれ実施の形態1の情報端末1と同様、内部に制御回路4、着脱検知回路5、不揮発性メモリ6(6A及び6B)、揮発性メモリ7(7A及び7B)、半導体メモリI/F8、ワークメモリWM及びバス10を有しており、外部に外部スイッチ9を有している。
【0104】
なお、図16では、情報端末1A及び1B間を識別すべく、不揮発性メモリ6を不揮発性メモリ6A及び6Bとし、揮発性メモリ7を揮発性メモリ7A及び7Bと標記している。また、制御回路4、着脱検知回路5、半導体メモリI/F8、ワークメモリWM及びバス10の図示を省略している。
【0105】
実施の形態2では、情報退避用記憶部の主要構成部として情報端末1A及び1Bとネットワークを介して接続されるクラウドサーバー3(外部サーバー)を新たに設け、不揮発性メモリ6A及び6Bを情報退避用記憶部の補助構成部として用いている。
【0106】
不揮発性メモリ6A及び6Bそれぞれ、必要に応じて、実施の形態1の不揮発性メモリ6と同様、キャッシュデータNDA1及びNDB1(退避用キャッシュデータ)及びキャッシュIDテーブルNT(図示せず)を格納している。なお、キャッシュデータNDA1及びNDB1は実施の形態1のキャッシュデータNDに対応する退避用データである。
【0107】
情報端末1A及び1Bそれぞれの制御回路4は以下で述べる退避動作及び復帰動作を実行制御する。なお、キャッシュ動作及び書き戻し動作は実施の形態1と同様に実行される。
【0108】
まず、情報端末1Aにおける退避動作を代表して説明する。説明の都合上、キャッシュデータVDA1及びVDB1をそのままキャッシュデータNDA1及びNDB1並びにサーバーキャッシュデータSD1とする態様で説明する。
【0109】
実施の形態1と同様の退避タイミング時に、揮発性メモリ7Aに格納された半導体メモリ2用のキャッシュデータVDA1が、キャッシュデータNDA1として不揮発性メモリ6A内に一時保存された後、情報端末1Aとクラウドサーバー3とのネットワーク接続状態時にクラウドサーバー3に転送されることにより、最終的にサーバーキャッシュデータSD1としてクラウドサーバー3内に格納される。この際、情報端末1A及びクラウドサーバー3間のネットワーク接続が常時なされている場合は、キャッシュデータの退避動作は、揮発性メモリ7A→不揮発性メモリ6A→クラウドサーバー3の転送経路で速やかに実行される。
【0110】
このように、不揮発性メモリ6Aは、クラウドサーバー3及び情報端末1A間のネットワーク非接続状態が生じる場合を考慮し、クラウドサーバー3及び情報端末1A間のネットワーク非接続時においても、キャッシュデータVD1をキャッシュデータNDA1として一時的に保存することができる。不揮発性メモリ6Aに保存されたキャッシュデータNDA1はその後のクラウドサーバー3及び情報端末1間のネットワーク接続時にクラウドサーバー3に転送される。その後、不揮発性メモリ6A内のキャッシュデータNDA1は消去される。
【0111】
そして、クラウドサーバー3はサーバーキャッシュデータSD1の格納時に、実施の形態1のキャッシュIDテーブルNTに相当するキャッシュIDテーブルSTの内容の更新を行う。なお、サーバーキャッシュデータSD2は半導体メモリ2とは異なる半導体メモリ用のキャッシュデータである。
【0112】
復帰動作は、実施の形態1と同様の復帰タイミング時に実行される。以下、上述した情報端末1Aによる退避動作が行われた後、半導体メモリ2が情報端末1Bに装着される復帰タイミングを例に挙げて、情報端末1Bにおける復帰動作について説明する。
【0113】
情報端末1Bの制御回路4の制御下で、半導体メモリ2から読み出されたメモリIDデータMDと、クラウドサーバー3を介して得たキャッシュIDテーブルSTが指示する少なくとも一つのメモリIDデータMDとを比較する。そして、比較結果により両者が一致することを復帰条件として、一致したメモリIDデータMDに対応するサーバーキャッシュデータSD1を不揮発性メモリ6B(キャッシュデータNDB1として一時保存)を介して揮発性メモリ7BのキャッシュデータVDB1として揮発性メモリ7に転送する。
【0114】
このように、実施の形態2の情報処理システムでは、共通の半導体メモリ2を使用する異なる情報端末1A及び1B間において、共通のサーバーキャッシュデータSD1を退避動作及び復帰動作用に共用することができる。
【0115】
なお、情報端末1A,クラウドサーバー3間のネットワーク常時接続を前提とする場合は、不揮発性メモリ6Aを省略して、クラウドサーバー3のみを情報退避用記憶部として用いるようにしても良い。この場合、退避動作時に揮発性メモリ7A及び7BのキャッシュデータVDA1あるいはVDB1がサーバーキャッシュデータSD1として直接転送され、復帰動作時にサーバーキャッシュデータSD1が揮発性メモリ7A及び7BのキャッシュデータVDA1あるいはVDB1として直接転送される。
【0116】
また、実施の形態1の情報処理システムと同様に、不揮発性メモリ6A及び6Bを情報退避用記憶部の主要構成とし、クラウドサーバー3は不揮発性メモリ6A及び6Bの単純なバックアップ用に用いる態様も考えられる。
【0117】
(効果)
実施の形態2の情報処理システムは、実施の形態1の情報処理システムに加え、以下の効果を奏する。
【0118】
実施の形態2では、情報退避用記憶部の主要構成部として、情報端末1A及び1Bの外部にクラウドサーバー3を設けることにより、情報端末1A及び1Bが複数存在する場合、複数の情報端末1A及び1B間でクラウドサーバー3を共有しつつ、キャッシュデータVDA1(VDB1)の信頼性を高めることができる効果を奏する。
【0119】
さらに、情報退避用記憶部の補助構成部として、キャッシュデータNDA1及びNDB1の一時保存機能を有する不揮発性メモリ6A及び6Bを用いているため、クラウドサーバー3と情報端末1A及び1Bとの間のネットワーク非接続状態が生じても、揮発性メモリ7A及び7B内のキャッシュデータVDA1及びVDB1を最終的にクラウドサーバー3内のサーバーキャッシュデータSD1として確実に退避させることができる。
【0120】
<その他>
制御回路4及び着脱検知回路5の一部は、例えば、ソフトウェアに基づくCPUを用いたプログラム処理によって実行しても良い。
【0121】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【符号の説明】
【0122】
1,1A,1B 情報端末
2,12 半導体メモリ
3 クラウドサーバー
4 制御回路
5 着脱検知回路
6,6A,6B 不揮発性メモリ
7,7A,7B 揮発性メモリ
8 半導体メモリI/F
9 外部スイッチ
10 バス
21,23 NANDフラッシュメモリ
22,24 コントローラ
WM ワークメモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16