(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、不揮発性メモリには、一般的な書き込み、読み出しを制御する機能の他に、特定のメモリエリアのみに書き込み動作が集中しないように、各エリアへの書き込み回数を均一化(ウェアレベリング)する機能を有する制御部(制御回路)が取り付けられている場合がある。この制御部に何らかの原因で動作異常が生じた場合、SDメモリカード等の、リセット専用端子が備わっていない記憶媒体では、不揮発性メモリと制御部への電力供給を一時停止して制御部をリセットする必要性が生じ得る。
ここで、不揮発性メモリおよび制御部に電気二重層コンデンサのような大容量コンデンサなどが接続されている場合、主電源からの電力供給を停止しても、ある程度の時間、コンデンサの放電によって不揮発性メモリおよび制御部への電力供給は維持される。このため、不揮発性メモリにコンデンサが接続された従来の装置では、制御部のリセットを保証する最低電圧に到達するまで、コンデンサが放電を終えるのを待たなければならなかった。処理の信頼性向上の点では、重要なデータを格納する不揮発性メモリに対する処理を完了させるための時間を十分に確保するために、大容量のコンデンサを接続するのが好ましいが、制御部のリセット処理が遅延するという不都合な一面も生じ得る。
本発明は、このような事情を考慮してなされたものであり、不揮発性メモリに格納されるデータの信頼性を維持しつつ、処理の遅延が生じるのを抑制することを目的の一つとする。
【課題を解決するための手段】
【0005】
本発明の一態様は、主電源から電力供給されて動作するメモリ部であって、不揮発性メモリと該不揮発性メモリを制御する第1の制御部とを備えるメモリ部と、前記主電源からの電力供給が停止したときに前記メモリ部に電力供給可能な補助電源と、前記主電源および前記補助電源から前記メモリ部への電力供給を遮断可能なスイッチ部と、前記第1の制御部の動作状態を監視し、前記第1の制御部の動作状態が所定の状態である場合に、前記主電源と前記補助電源の双方からの前記メモリ部への電力供給が遮断された状態となるように前記スイッチ部を制御する第2の制御部と、を備える処理装置である。
本発明の一態様において、前記第1の制御部は、前記不揮発性メモリに対するウェアレベリングを行う制御部であってよい。
また、本発明の一態様において、前記不揮発性メモリは、リセット端子を有さない不揮発性メモリであってよい。
また、本発明の一態様において、前記メモリ部に供給される電圧を検出する検出部を備え、前記第2の制御部は、前記メモリ部が、前記主電源と前記補助電源の双方からの前記メモリ部への電力供給が遮断された状態となるように前記スイッチ部を制御した後、前記検出部により検出される電圧が第1の所定電圧以下となったことを確認してから、前記主電源と前記補助電源の双方から前記メモリ部へ電力供給可能な状態となるように前記スイッチ部を制御するものとしてよい。
また、本発明の一態様において、前記第2の制御部は、前記主電源と前記補助電源の双方からの前記メモリ部への電力供給が遮断された状態となるように前記スイッチ部を制御した後、所定時間経過し且つ前記検出部により検出される電圧が前記第1の所定電圧以下とならなかった場合に、エラー処理を行うものとしてよい。
また、本発明の一態様において、前記第2の制御部は、前記主電源と前記補助電源の双方から前記メモリ部へ電力供給可能な状態となるように前記スイッチ部を制御した後、前記検出部により検出される電圧が第2の所定電圧を超えたことを確認してから、前記第1の制御部に動作指示を開始するものとしてよい。
本発明の他の態様は、不揮発性メモリと該不揮発性メモリを制御する第1の制御部とを備えるメモリ部と、主電源からの電力供給が停止したときに前記メモリ部に電力供給可能な補助電源と、前記主電源から前記メモリ部への電力供給を遮断可能な第1のスイッチ部と、前記補助電源から前記メモリ部への電力供給を遮断可能な第2のスイッチ部と、前記第1の制御部の動作状態を監視し、前記第1の制御部の動作状態が所定の状態である場合に、前記主電源と前記補助電源の双方からの前記メモリ部への電力供給が遮断された状態となるように前記第1のスイッチ部と前記第2のスイッチ部を制御する第2の制御部と、を備える処理装置である。
本発明の他の態様は、顧客による注文の内容が入力される注文受付装置と、前記注文受付装置と通信を行う通信部を備え、前記顧客による注文の管理を行う本発明のいずれかの態様の処理装置と、を備える注文管理システムであって、前記メモリ部には、前記注文受付装置に対して入力された注文の内容の履歴が格納される、注文管理システムである。
【発明の効果】
【0006】
本発明の一態様によれば、不揮発性メモリに格納されるデータの信頼性を維持しつつ、処理の遅延が生じるのを抑制することができる。
【発明を実施するための形態】
【0008】
以下、図面を参照し、本発明の処理装置、および注文管理システムの実施形態について説明する。
【0009】
<第1実施形態>
以下、第1実施形態に係る処理装置1について説明する。
[構成]
図1は、本発明の第1実施形態に係る処理装置1の全体構成の一例を示す構成図である。処理装置1は、例えば、電源制御部10と、システム制御部20と、メモリ部30と、メモリ部電源制御部40と、その他装置部50とを備える。なお、
図1における破線矢印は、情報の流れを示している。処理装置1は、例えば、後述するように種々のシステムに組み込まれるコンピュータである。また、これに限らず、処理装置1は、パーソナルコンピュータ、タブレット端末、携帯電話、その他の装置であってもよい。
電源制御部10は、例えば、電圧生成部12と、電源断検出部14とを備える。電圧生成部12は、例えば、外部電源である商用電源から供給される交流を所望の電圧の直流に変換し、処理装置1の各部に供給する。電源断検出部14は、例えばコンセントからプラグが抜かれたことなどに起因して、外部電源からの電力供給が途切れたことを検出すると、電源断検出信号をシステム制御部20に出力する。なお、外部電源として商用電源以外のものが用いられてもよいし、処理装置1が内部に主電源としてのバッテリーなどを備えてもよい。
【0010】
システム制御部20は、例えば、CPU(Central Processing Unit)を備え、各種情報処理をおこなって処理装置1の各部を制御する。システム制御部20は、メモリ部30に対する書き込み信号や読み出し信号(メモリ部制御信号)をメモリ部30に対して出力する。システム制御部20は、電源断検出部14から電源断検出信号が入力されると、メモリ部30に対して、例えば、現在行っている書き込みまたは読み出しを完了し、新規なメモリ部制御信号を拒否するように指示する信号(処理完了指示信号)を出力する。なお、システム制御部20は、メモリ部電源制御部40と同様に、電力供給が停止されたときに補助電源として機能するコンデンサなどを備えてよい。また、システム制御部20は、メモリ部30に供給する電力を制御するための信号(メモリ部電源制御信号)をメモリ部電源制御部40に出力する。
【0011】
また、システム制御部20は、レジスタやRAM(Random Access Memory)、ROMなどの記憶部22、タイマー、通信インターフェースなどを備えている。記憶部22は、情報処理の結果のうちメモリ部30に記憶しないものを一時的に記憶したり、CPUが実行するプログラム(ファームウェア)を格納したりする。
【0012】
メモリ部30は、例えばSDカードなど、リセット端子を備えない不揮発性のメモリである。メモリ部30は、メモリコントローラ32と、メモリ本体部34とを備える。メモリコントローラ32は、メモリ本体部34に対してウェアレベリングなどの制御を行う。すなわち、メモリコントローラ32は、メモリ本体部34の特定のメモリエリアのみに書き込み動作が集中しないように、各エリアへの書き込み回数を均一化する処理などを行う。
メモリ部電源制御部40は、システム制御部20からの指示に応じて、メモリ部30に供給される電力を制御する。詳しくは、後述する。
その他装置部50は、例えば他装置との通信を行う通信装置、LCD(Liquid Crystal Display)などの表示装置、タッチパネルやキーなどの入力装置、スピーカーなど、任意の装置が含まれる。
【0013】
図2は、メモリ部電源制御部40の構成の一例を示す構成図である。
図2に示すように、メモリ部電源制御部40は、例えば、コンデンサ42と、逆止用ダイオード44と、スイッチ部46とを備える。
【0014】
コンデンサ42は、電圧生成部12から供給される電力により充電され、電圧生成部12からの電力供給が停止したときに放電し、ある程度の時間、メモリ部30に電力供給する。このとき、逆止用ダイオード44は、コンデンサ42から他の構成要素(その他装置部50など)に電流が流れるのを防止する。これによって、例えば外部電源からの電力供給が途切れたことなどに起因し、急に電圧生成部12からの電力供給が停止した場合であっても、ある程度の時間、メモリ部30が処理を継続することができる。前述のように、外部電源からの電力供給が途切れた場合、システム制御部20から処理完了指示信号が入力されるため、メモリ部30は、コンデンサ42の放電によって動作可能な時間の範囲内で、処理を完了することが可能となる。この結果、メモリ部30に格納されるデータの信頼性を維持することができる。なお、処理装置1は、こうした補助電源として、コンデンサ42以外のものを備えてもよい。
【0015】
スイッチ部46は、例えばFET(Field Effect Transistor、電界効果トランジスタ)である。スイッチ部46は、例えば、オン状態で電圧生成部12およびコンデンサ42とメモリ部30とを電気的に接続し、オフ状態で電圧生成部12およびコンデンサ42とメモリ部30とを電気的に遮断する。FETをスイッチ部46として用いる場合、エンハンスメント形とディプレッション形のいずれを用いてもよい。スイッチ部46をオン状態またはオフ状態にする電圧信号は、メモリ部電源制御信号としてシステム制御部20から入力される。
【0016】
[処理フロー]
以下、システム制御部20によりメモリ部30への電力供給が制御される処理の流れについて説明する。
図3は、第1実施例に係るシステム制御部20により実行される処理の流れを示すフローチャートの一例である。
図3のフローチャートは、例えば、処理装置1に電源投入されたときに開始される。
【0017】
まず、システム制御部20は、スイッチ部46をオン状態にする(ステップS100)。処理装置1に電源投入されると電圧生成部12が動作を開始するため、スイッチ部46をオン状態にすることによってメモリ部30への電力供給が開始される。
【0018】
次に、システム制御部20は、メモリ部30への動作指示および監視を開始する(ステップS102)。具体的には、システム制御部20は、メモリ部30に対して出力したメモリ部制御信号に対して、正常な応答がなされているか否かをリアルタイムに監視する。そして、システム制御部20は、メモリ部30に異常が生じるまで待機する(ステップS104)。システム制御部20は、メモリ部30に対して出力したメモリ部制御信号に対して、正常な応答がなされなかった場合に、メモリ部30に異常が生じたと判定する。
【0019】
メモリ部30に異常が生じると、システム制御部20は、異常発生回数が規定回数を超えるか否かを判定する(ステップS106)。規定回数は、予め記憶部22(ROM)に記憶されている。異常発生回数は、例えば、処理装置1の電源がオフされたときにリセットされ、電源投入時にゼロに設定される。システム制御部20は、異常発生回数が規定回数を超えない場合は、異常発生回数を1カウントアップし(ステップS110)、スイッチ部46をオン状態からオフ状態にする(ステップS112)。そして、システム制御部20は、一定時間経過するのを待って(ステップS114)、ステップS100に戻り、スイッチ部46をオン状態にする。「一定時間」は、メモリ部30の電圧が十分に低下し、メモリコントローラ32が動作を停止するのに十分な時間に設定される。
【0020】
このような処理によって、メモリ部30に異常が生じた場合、メモリ部30が電圧生成部12とコンデンサ42の双方から電気的に遮断され、直ちにメモリ部30への電力供給が停止される。この結果、メモリコントローラ32を速やかにリセットすることができ、処理の遅延が生じるのを抑制することができる。本実施形態の処理装置1では、メモリコントローラのリセット時に電圧生成部(主電源)からの電力供給のみ遮断する従来構成のものと比較すると、ほぼコンデンサ42の放電時間分に等しい時間を短縮することができる。
【0021】
一方、異常発生回数が規定回数を超える場合(ステップS106のYes)、システム制御部20は、メモリ異常通知を行う(ステップS108)。具体的には、システム制御部20は、その他装置部50(表示装置やスピーカー)に、メモリ部30に異常が生じたことを示す情報を出力させ、ユーザーの手動によるリセットなどが行われるまで、処理を停止する。これによって、単なるリセットでは対応できないメモリ部30の異常に対しては、処理を停止して修理などが行われるのを待つことができる。
【0022】
[まとめ]
以上説明した第1実施形態の処理装置1によれば、電圧生成部12からの電力供給が停止したときにコンデンサ42からメモリ部30に電力供給されるため、メモリ部30が実行中の処理を完了することができ、メモリ部30に格納されるデータの信頼性を維持することができる。また、メモリコントローラ32をリセットする際には、電圧生成部12とコンデンサ42の双方からメモリ部30への電力供給が速やかに停止されるため、メモリコントローラ32を速やかにリセットすることができ、処理の遅延が生じるのを抑制することができる。すなわち、メモリ部30に格納されるデータの信頼性を維持しつつ、処理の遅延が生じるのを抑制することができる。
【0023】
<第2実施形態>
以下、第2実施形態に係る処理装置2について説明する。
[構成]
図4は、本発明の第2実施形態に係る処理装置2の全体構成の一例を示す構成図である。第2実施形態に係る処理装置2は、第1実施形態の処理装置1が有する構成要素に加えて、電圧監視部24を備える。以下、第1実施形態との共通部分については同一の符号を付して説明を省略し、相違点を中心に説明する。なお、
図4では、電圧監視部24がシステム制御部内に配置されているが、これに限定されるものではない。
【0024】
電圧監視部24は、メモリ部30に供給される電圧を検出する機能部であり、例えば、A―Dコンバータや分圧用抵抗などを備える。電圧監視部24は、スイッチ部46とメモリ部30の間の任意の箇所(メモリ部30の入力端子などであってもよい)に接続され、検出した電圧に応じたデジタル信号を、システム制御部20のCPUに出力する。
【0025】
[処理フロー]
第2実施形態のシステム制御部20は、電圧監視部24から入力された電圧に基づいて、第1実施形態よりも精緻な制御を行う。以下、これについて説明する。
図5は、第2実施形態に係るシステム制御部20により実行される処理の流れを示すフローチャートの一例である。
【0026】
まず、システム制御部20は、スイッチ部46をオン状態にする(ステップS200)。処理装置1に電源投入されると電圧生成部12が動作を開始するため、スイッチ部46をオン状態にすることによってメモリ部30への電力供給が開始される。
【0027】
次に、システム制御部20は、電圧監視部24を作動させてメモリ部30への供給電圧を取得し(ステップS202)、メモリ部30への供給電圧が閾値VAを超えるか否かを判定する(ステップS204)。閾値VAは、メモリ部30が正常に動作できる電圧よりも若干高い値に設定されている。メモリ部30への供給電圧が閾値VAを超えない場合、システム制御部20は、メモリ部30が正常に動作できない可能性があると判断し、電源部異常通知を行う(ステップS206)。具体的には、システム制御部20は、その他装置部50(表示装置やスピーカー)に、電源部(電源制御部10またはメモリ部電源制御部40)に異常が生じたことを示す情報を出力させ、ユーザーの手動によるリセットなどが行われるまで、処理を停止する。
【0028】
メモリ部30への供給電圧が閾値VAを超える場合、システム制御部20は、メモリ部30への動作指示および監視を開始する(ステップS208)。具体的には、システム制御部20は、メモリ部30に対して出力したメモリ部制御信号に対して、正常な応答がなされているか否かをリアルタイムに監視する。そして、システム制御部20は、メモリ部30に異常が生じるまで待機する(ステップS210)。システム制御部20は、メモリ部30に対して出力したメモリ部制御信号に対して、正常な応答がなされなかった場合に、メモリ部30に異常が生じたと判定する。
【0029】
メモリ部30に異常が生じると、システム制御部20は、異常発生回数が規定回数を超えるか否かを判定する(ステップS212)。システム制御部20は、異常発生回数が規定回数を超えない場合は、異常発生回数を1カウントアップし(ステップS214)、スイッチ部46をオン状態からオフ状態にする(ステップS216)。そして、システム制御部20は、一定時間経過するのを待って(ステップS218)、電圧監視部24を作動させてメモリ部30への供給電圧を取得し(ステップS220)、メモリ部30への供給電圧が閾値VB以下であるか否かを判定する(ステップS222)。閾値VBは、この値を上回るとメモリコントローラ32を確実にリセットできない可能性がある値の付近に設定されており、閾値VA>閾値VBが成立する。メモリ部30への供給電圧が閾値VBを超える場合、システム制御部20は、メモリコントローラ32をリセットできない可能性があると判断し、電源部異常通知を行う(ステップS224)。
【0030】
メモリ部30への供給電圧が閾値VB以下である場合、システム制御部20は、ステップS100に戻り、スイッチ部46をオン状態にする。
【0031】
このような処理によって、メモリ部30に異常が生じた場合、メモリ部30が電圧生成部12とコンデンサ42の双方から電気的に遮断され、直ちにメモリ部30への電力供給が停止される。この結果、メモリコントローラ32を速やかにリセットすることができ、処理の遅延が生じるのを抑制することができる。
【0032】
一方、異常発生回数が規定回数を超える場合(ステップS212のYes)、システム制御部20は、メモリ異常通知を行う(ステップS226)。
【0033】
[まとめ]
以上説明した第2実施形態の処理装置2によれば、第1実施形態と同様に、メモリ部30に格納されるデータの信頼性を維持しつつ、処理の遅延が生じるのを抑制することができる。
【0034】
また、第2実施形態の処理装置2によれば、電圧監視部24がメモリ部30への供給電圧を監視し、スイッチ部46をオン状態からオフ状態にした後(ステップS216)、メモリ部30への供給電圧が閾値VB以下となったことを確認してから、スイッチ部46をオン状態にする(ステップS200)ため、メモリコントローラ32をより確実にリセットすることができる。この結果、メモリコントローラ32が正常に動作していることの信頼性を高め、メモリ部30に格納されるデータの信頼性を更に高めることができる。
【0035】
また、第2実施形態の処理装置2によれば、スイッチ部46をオン状態からオフ状態にした後(ステップS216)、メモリ部30への供給電圧が閾値VB以下とならなかった場合には電源部異常通知を行うため、故障状態で装置が継続使用されることを防止し、処理の信頼性を高めることができる。
【0036】
また、第2実施形態の処理装置2によれば、電圧監視部24がメモリ部30への供給電圧を監視し、スイッチ部46をオフ状態からオン状態にした後(ステップS200)、メモリ部30への供給電圧が閾値VAを超えたことを確認してから、メモリ部30への動作指示を開始するため、故障状態で装置が継続使用されることを防止し、処理の信頼性を高めることができる。
【0037】
<適用例>
本発明の各実施形態の処理装置は、例えば、レストランなどで顧客の注文を管理する注文管理システムの制御コンピュータとして好適に使用される。ウェアレベリング機能は、特に、不揮発性メモリへの書き込み動作が頻繁に行われる環境下で使用される処理装置において、必要性が高いものとなっている。不揮発性メモリへの書き込み動作が頻繁に行われる環境下で使用されるものとしては、例えば、レストランなどで顧客の注文を管理する注文管理システムの制御コンピュータなどが挙げられる。
【0038】
また、注文管理システムの制御コンピュータでは、顧客への請求額を管理するための重要な情報として、注文履歴が不揮発性メモリに格納されるため、コンデンサなどの補助電源が不揮発性メモリに取り付けられることが多い。
【0039】
図6は、本発明の処理装置が適用された注文管理システム100のシステム構成例を示す構成図である。注文管理システム100は、ハンディーターミナル60(1)、60(2)と、プリンタ70(1)、70(2)と、コントローラ80とを備える。コントローラ80は、上記いずれかの態様の処理装置(1〜3)である。なお、ハンディーターミナルやプリンタの数に特段の制限は無く、単独、或いは3以上であってもよい。
【0040】
ハンディーターミナル60(1)、60(2)は、例えばレストランの接客担当者または顧客によって使用され、顧客のテーブル番号、注文された料理や飲み物、食事セットなどの注文品とその注文数量、接客担当を特定する担当識別情報、顧客の人数や客層などが入力される。ハンディーターミナル60(1)、60(2)は、これらの入力内容を注文データとして、コントローラ80、または中継装置として機能するプリンタ70(1)、70(2)に例えば無線で送信する。
【0041】
プリンタ70(1)、70(2)は、ロール紙への印字を行う印字部や、ロール紙の未印字の部分から印字された部分の紙をカットするカッター部などを備える。プリンタ70(1)、70(2)は、処理装置1から受信した伝票データに基づいて印字を行い、調理伝票や請求伝票を作成する。
【0042】
コントローラ80に入力された注文データは、メモリ部30に格納される。処理装置1は、メモリ部30に格納された注文データの履歴に基づいて、調理伝票等の伝票を印字させるためのデータ、請求のためのデータなどを含む伝票データを生成し、プリンタ70(1)、70(2)に送信する。コントローラ80とプリンタ70(1)、70(2)、或いはプリンタ間の通信は、有線または無線によって行われる。
【0043】
係る構成によれば、メモリ部30には、注文データのように書き込み頻度が高く且つ重要なデータが格納される。これに対し、コントローラ80は、電力供給停止時における動作確保、メモリコントローラ32の確実なリセットといった信頼性の要求に応えることができる。この結果、コントローラ80は、注文管理システム100の処理の信頼性を高めることができる。
【0044】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0045】
例えば、システム制御部20は、メモリ部30に対して出力したメモリ部制御信号に対して、正常な応答がなされているか否かをリアルタイムに監視するものとしたが、メモリ部30の状態を監視するためだけの応答要求信号をメモリ部30に出力し、その応答に基づいてメモリ部30に異常が生じたか否かを判定してもよい。