(57)【要約】【課題】記憶すべきフィスカルデータの特徴を踏まえた適切な態様で、フィスカルデータを記憶できるようにする。【解決手段】フィスカルデータたる書込レシートデータ５４を記憶するフィスカルプリンター１６は、書込レシートデータ５４を記憶するＮＡＮＤ型フラッシュメモリーのＥＪメモリー３１と、フィスカルメモリー５０と、ＥＪメモリー３１への書込レシートデータ５４の記憶に際し、フィスカルメモリー５０の空き領域をテンポラリー領域として使用して、ＥＪメモリー３１への書込レシートデータ５４の記憶を実行するメイン制御部２５と、を備える。【選択図】図１
2014102536.tif 000002
【特許請求の範囲】
【請求項１】
フィスカルデータを記憶する情報処理装置であって、
前記フィスカルデータを記憶する第１のメモリーと、前記第１のメモリーと種類の異なる第２のメモリーと、
前記第１のメモリーへの前記フィスカルデータの記憶に際し、前記第２のメモリーの空き領域をテンポラリー領域として使用して、前記第１のメモリーへの前記フィスカルデータの記憶を実行する制御部と、
を備えることを特徴とする情報処理装置。
【請求項２】
レシートを発行可能に構成され、
前記第１のメモリーには、発行したレシートに関するレシートデータが前記フィスカルデータとして記憶され、
前記第２のメモリーには、前記レシートに含まれる会計情報を集計した情報に関する集計データが記憶されていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のメモリーに記憶されたデータの管理に供するデータ管理情報を、前記第２のメモリーに記憶し、
前記制御部は、
前記第２のメモリーに記憶された前記データ管理情報に基づいて、前記第１のメモリーに記憶されたデータを管理することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１のメモリーは、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーであることを特徴とする請求項１ないし３のいずれかに記載の情報処理装置。
【請求項５】
フィスカルデータを記憶する第１のメモリーと、前記第１のメモリーと種類の異なる第２のメモリーと、を備え、フィスカルデータを記憶する情報処理装置の制御方法であって、
前記第２のメモリーの空き領域をテンポラリー領域として使用して、前記第１のメモリーへの前記フィスカルデータの記憶を実行することを特徴とする情報処理装置の制御方法。
【請求項６】
フィスカルデータを記憶する第１のメモリーと、前記第１のメモリーと種類の異なる第２のメモリーと、を備え、フィスカルデータを記憶する情報処理装置を制御する制御部により実行されるプログラムであって、
前記制御部に、
前記第２のメモリーの空き領域をテンポラリー領域として使用させて、前記第１のメモリーへの前記フィスカルデータの記憶を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィスカルデータを記憶する情報処理装置、当該情報処理装置の制御方法、及び、当該情報処理装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、商品を販売等する店舗に設けられ、取引に関する情報（売上に関する情報や、課税に関する情報等）を含むフィスカルデータを記憶する情報処理装置（電子式キャッシュレジスター、レシート用のプリンター）が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−１２０５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した情報処理装置のように、フィスカルデータを記憶するものでは、記憶すべきフィスカルデータの特徴を踏まえた適切な態様で、フィスカルデータを記憶したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、記憶すべきフィスカルデータの特徴を踏まえた適切な態様で、フィスカルデータを記憶することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、フィスカルデータを記憶する情報処理装置であって、前記フィスカルデータを記憶する第１のメモリーと、前記第１のメモリーと種類の異なる第２のメモリーと、前記第１のメモリーへの前記フィスカルデータの記憶に際し、前記第２のメモリーの空き領域をテンポラリー領域として使用して、前記第１のメモリーへの前記フィスカルデータの記憶を実行する制御部と、を備えることを特徴とする。
ここで、フィスカルデータは、取引に関する情報であるため、取引に伴って頻繁に記憶領域への書込みが行われる場合があるという特徴、及び、記憶されたフィスカルデータのサイズが増大するペースが速い場合がある、という特徴がある。そして、上記構成によれば、頻繁にデータの書込み／消去が行われるテンポラリー領域が、フィスカルデータが記憶される第１のメモリーではなく、種類の異なる第２のメモリーに形成されるため、第１のメモリーに形成されたテンポラリー領域が、第１のメモリーにおいてフィスカルデータを記憶する記憶領域に影響を与えず、データのサイズが増大するペースが速い場合がある、というフィスカルデータの特徴を踏まえて、適切に、フィスカルデータを第１のメモリーに記憶することが可能となる。特に、上記構成によれば、頻繁にデータの書込み／消去が行われるテンポラリー領域が、フィスカルデータが記憶される第１のメモリーではなく、種類の異なる第２のメモリーに形成されるため、第１のメモリーの劣化を効果的に抑制できる。
【０００６】
また、本発明は、レシートを発行可能に構成され、前記第１のメモリーには、発行したレシートに関するレシートデータが前記フィスカルデータとして記憶され、前記第２のメモリーには、前記レシートに含まれる会計情報を集計した情報に関する集計データが記憶されていることを特徴とする。
ここで、レシートデータは、レシートの発行に伴って現出するデータであるため、頻繁に記憶領域に記憶する処理が行われ、かつ、短時間で大容量化するという特徴がある。一方、集計データは、レシート情報に含まれる会計情報を集計した情報に関するデータであるため、レシートデータと比較して、記憶領域に記憶する処理が行われる頻度は低く、かつ、データサイズが増大するペースは遅い、という特徴がある。そして、上記構成によれば、他のメモリーにおいて集計データが記憶されていない領域に係る空き領域を有効活用してテンポラリー領域を形成することができる。
特に、上記構成によれば、第１のメモリーを低コストで大容量化可能なＮＡＮＤ型フラッシュメモリーによって構成した場合、当該メモリーの劣化を効果的に抑制しつつ、上述したレシートデータに係る特徴を踏まえた適切な態様で、フィスカルデータとしてのレシートデータの記憶を実現できる。
【０００７】
また、本発明は、前記第１のメモリーに記憶されたデータの管理に供するデータ管理情報を、前記第２のメモリーに記憶し、前記制御部は、前記第２のメモリーに記憶された前記データ管理情報に基づいて、前記第１のメモリーに記憶されたデータを管理することを特徴とする。
ここで、データの管理に供するデータ管理情報は、頻繁に読み出されるデータである。そして、上記構成によれば、データ管理情報が、第２のメモリーに記憶されて使用されるため、第１のメモリーの劣化を効果的に抑制可能である。
特に、上記構成によれば、第１のメモリーをＮＡＮＤ型フラッシュメモリーによって構成した場合、ＮＡＮＤ型フラッシュメモリーの劣化を効果的に抑制可能である。
【０００８】
また、本発明は、前記第１のメモリーは、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーであることを特徴とする。
ここで、上述したように、フィスカルデータは、取引に関する情報であるため、取引に伴って頻繁に記憶領域への書込みが行われる場合があるという特徴、及び、記憶されたフィスカルデータのサイズが増大するペースが速い場合がある、という特徴がある。そして、上記構成によれば、データの書込みや消去が高速であり、例えばＮＯＲ型のフラッシュメモリーと比較して低コストで大容量化が可能なＮＡＮＤ型フラッシュメモリーに、フィスカルデータが記憶されるため、フィスカルデータの上記特徴に適切に対応した態様で、フィスカルデータの記憶を実現できる。さらに、ＮＡＮＤ型フラッシュメモリーにおける書込み／消去可能回数には制限があるが、上記構成によれば、ＮＡＮＤ型フラッシュメモリーへのフィスカルデータの記憶に利用するテンポラリー領域、すなわち、頻繁にデータの書込み／消去が行われる記憶領域が、ＮＡＮＤ型フラッシュメモリーではなく他のメモリーに形成されるため、ＮＡＮＤ型フラッシュメモリーの劣化を効果的に抑制できる。すなわち、フィスカルデータの特徴のみならず、上述したＮＡＮＤ型フラッシュメモリーの特徴を踏まえた適切な態様で、フィスカルデータの記憶を実現できる。
ここで、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーは、ＳＬＣタイプのＮＡＮＤ型フラッシュメモリーと比較して、低コストで大容量化が可能であるため、フィスカルデータを記憶するメモリーとして適している。一方で、書き換え可能な回数で劣っているが、上記構成によれば、ＮＡＮＤ型フラッシュメモリーへのフィスカルデータの記憶に利用するテンポラリー領域がＮＡＮＤ型フラッシュメモリーではなく他のメモリーに形成されるため、上述した劣っている点を踏まえて、ＮＡＮＤ型フラッシュメモリーの劣化を効果的に抑制できる。
【０００９】
また、上記目的を達成するために、本発明は、フィスカルデータを記憶する第１のメモリーと、前記第１のメモリーと種類の異なる第２のメモリーと、を備え、フィスカルデータを記憶する情報処理装置の制御方法であって、前記第２のメモリーの空き領域をテンポラリー領域として使用して、前記第１のメモリーへの前記フィスカルデータの記憶を実行することを特徴とする。
この制御方法によれば、頻繁にデータの書込み／消去が行われるテンポラリー領域が、フィスカルデータが記憶される第１のメモリーではなく、種類の異なる第２のメモリーに形成されるため、第１のメモリーに形成されたテンポラリー領域が、第１のメモリーにおいてフィスカルデータを記憶する記憶領域に影響を与えず、データのサイズが増大するペースが速い場合がある、というフィスカルデータの特徴を踏まえて、適切に、フィスカルデータを第１のメモリーに記憶することが可能となる。特に、上記構成によれば、頻繁にデータの書込み／消去が行われるテンポラリー領域が、フィスカルデータが記憶される第１のメモリーではなく、種類の異なる第２のメモリーに形成されるため、第１のメモリーの劣化を効果的に抑制できる。
【００１０】
また、上記目的を達成するために、本発明は、フィスカルデータを記憶する第１のメモリーと、前記第１のメモリーと種類の異なる第２のメモリーと、を備え、フィスカルデータを記憶する情報処理装置を制御する制御部により実行されるプログラムであって、前記制御部に、前記第２のメモリーの空き領域をテンポラリー領域として使用させて、前記第１のメモリーへの前記フィスカルデータの記憶を実行させることを特徴とする。
このプログラムによれば、頻繁にデータの書込み／消去が行われるテンポラリー領域が、フィスカルデータが記憶される第１のメモリーではなく、種類の異なる第２のメモリーに形成されるため、第１のメモリーに形成されたテンポラリー領域が、第１のメモリーにおいてフィスカルデータを記憶する記憶領域に影響を与えず、データのサイズが増大するペースが速い場合がある、というフィスカルデータの特徴を踏まえて、適切に、フィスカルデータを第１のメモリーに記憶することが可能となる。特に、上記構成によれば、頻繁にデータの書込み／消去が行われるテンポラリー領域が、フィスカルデータが記憶される第１のメモリーではなく、種類の異なる第２のメモリーに形成されるため、第１のメモリーの劣化を効果的に抑制できる。
【発明の効果】
【００１１】
本発明によれば、記憶すべきフィスカルデータの特徴を踏まえた適切な態様で、フィスカルデータを記憶できる。
【図面の簡単な説明】
【００１２】
【図１】フィスカルプリンターの機能的構成を示すブロック図である。
【図２】課題を説明するために、フィスカルプリンターの要部を示す図である。
【図３】フィスカルプリンターの要部を示す図である。
【図４】フィスカルプリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る情報処理システム１の構成を示す図である。
図１に示すように、情報処理システム１は、フィスカルプリンター１６（情報処理装置）を備えており、このフィスカルプリンター１６にホストコンピューター１５、及び、フィスカルデータ読出装置４０が接続可能な構成となっている。
フィスカルプリンター１６は、ホストコンピューター１５の制御の下、レシートを発行すると共に、ホストコンピューター１５から入力されたフィスカル情報（フィスカルデータ）を記憶する。
フィスカル情報（フィスカルデータ）とは、商品等の販売取引に関する情報（売上に関する情報や課税額等に関する情報）であって、記憶すべき情報として予め定められた情報のことである。このフィスカル情報は、例えば、政府等の国家機関による店舗からの税金の徴収に際し、国家機関が当該店舗における取引の実態を把握するために参照する情報として利用される。本実施形態では、フィスカル情報として、後述する書込レシートデータ５４（レシートデータ）、及び、日計売上データ５３（集計データ）の２種類のデータが存在する。
なお、以下の説明では、フィスカルプリンター１６が出力するレシートは、店舗のレジカウンターにおいて顧客による会計に際して発行されるレシートであり、必ず、購入した商品ごとの小計金額Ｔ１（商品ごとに、商品の単価と購入数量の積によって算出される金額。）と、合計金額Ｔ２（小計金額Ｔ１の和によって算出される金額。）、及び、支払金額Ｔ３（合計金額Ｔ２に消費税等の税を加味して算出される金額。）が記録されているものとする。
【００１４】
図１に示すように、フィスカルプリンター１６は、管理基板２０、プリンター基板２１、及び、サブ基板２２の３つの基板を備えている。
管理基板２０には、メイン制御部２５（制御部）と、ＰＣコネクター２６ａと、フィスカルコネクター２６ｂと、通信ＩＣ２７と、ＲＯＭ２８と、ＳＲＡＭ２９と、ＲＴＣ３０と、ＥＪメモリー３１（第１のメモリー）と、ＥＪメモリー制御部３２と、バッファーＩＣ３３と、が実装されている。
メイン制御部２５は、フィスカルプリンター１６の各部を中枢的に制御するものであり、ＣＰＵやその他の周辺回路を備えている。ＰＣコネクター２６ａは、フィスカルプリンター１６の通常使用時においてホストコンピューター１５が接続されるコネクターである。ホストコンピューター１５は、ＰＣコネクター２６ａを介してフィスカルプリンター１６にレシートの発行に係る動作を行わせる制御コマンドを出力し、また、フィスカル情報として、後述する日計売上データ５３（集計データ）を出力する。フィスカルコネクター２６ｂは、フィスカルデータ読出装置４０が接続されるコネクターである。フィスカルデータ読出装置４０とは、後述するＥＪメモリー３１や、フィスカルメモリー５０に記憶されたデータを読み出すための装置であり、例えば国家機関（政府等）に係る者等の、特別な許可を得た者だけが所持し得る。上述したホストコンピューター１５はＰＣコネクター２６ａに接続された状態が維持されるが、フィスカルデータ読出装置４０は、ホストコンピューター１５と異なり、データの読み出しが行われる際に、適宜、フィスカルコネクター２６ｂに接続される。
【００１５】
通信ＩＣ２７は、ＰＣコネクター２６ａ及びフィスカルコネクター２６ｂに接続され、メイン制御部２５の制御の下、ホストコンピューター１５や、フィスカルデータ読出装置４０との間でデータの送受信を行う。ＲＯＭ２８は、メイン制御部２５が各種制御を行うための制御プログラム（ファームウェア）等の各種データを不揮発的に記憶する。ＳＲＡＭ２９は、メイン制御部２５のＣＰＵのワークエリアとして機能する揮発性のメモリーであり、各種データを一時的に記憶する。ＲＴＣ３０（Real-time clock：リアルタイムクロック）は、現在日時（年月日、時刻）を示すデータをメイン制御部２５に出力する。ＳＲＡＭ２９、ＲＴＣ３０には、フィスカルプリンター１６の電源がオフされた場合であっても、図示せぬ電池からバックアップ用の電力が供給される。
ＥＪメモリー３１は、ＮＡＮＤ型フラッシュメモリーであり、大容量のデータを記憶可能である。特に、本実施形態では、ＥＪメモリー３１は、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーである。
周知の通り、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーは、ＳＬＣタイプのものと比較して、低コストで大容量化が可能である。従って、後に明らかとなるとおり、頻繁に書込みに係る処理が発生する可能性があり、かつ、記憶されるデータのサイズが増大するペースが速い可能性がある書込レシートデータ５４を記憶するメモリーとしては適している。一方で、書込み可能回数の制限に関し劣っているが、本実施形態では、後述する手段により効果的にメモリーの劣化を抑制している。
ＥＪメモリー３１において、書込レシートデータ５４及びこれに付随するデータが書き込まれる記憶領域は、１つのアドレスに対して１度しかデータを書き込めないメモリーとして機能する。これにより、ＥＪメモリー３１に書き込まれたフィスカルデータが後から編集されることが防止され、ＥＪメモリー３１に記憶されたフィスカルデータ対する改ざんが防止されている。ＥＪメモリー制御部３２は、ＣＰＵを備え、メイン制御部２５の制御の下、ＥＪメモリー３１に対してデータの読み書き、消去を行う。バッファーＩＣ３３は、ＥＪメモリー３１に対するデータの読み出し、書き込みの効率を向上するために設けられたバッファーを制御する。
これらＥＪメモリー３１、ＥＪメモリー制御部３２、及び、バッファーＩＣ３３は、エポキシ樹脂によって管理基板２０に封止されており、ＥＪメモリー３１が管理基板２０から物理的に取り外された上で、ＥＪメモリー３１に記憶されたデータが改ざんされることが防止されている。
【００１６】
また、プリンター基板２１には、プリンター制御部４５が実装されており、プリンター制御部４５は、ホストコンピューター１５が出力した制御コマンドに基づいて、記録機構４６を制御して、レシートを発行する。
記録機構４６は、ロール紙の印刷面に熱を与えることにより画像を記録するサーマルヘッド４６ａや、ロール紙を搬送する搬送機構４６ｂ、所定の位置でロール紙を切断する切断機構４６ｃ等を備えており、プリンター制御部４５の制御の下、これら機構や装置を動作させて、レシートを発行する。
プリンター基板２１には、プリンター側コネクター４２が設けられ、管理基板２０には、管理側コネクター４３が設けられており、これらプリンター側コネクター４２と、管理側コネクター４３とが接続されることにより、管理基板２０と、プリンター基板２１とが接続される。
本実施形態では、レシートの発行に際し、まず、フィスカルプリンター１６に接続されたホストコンピューター１５が、制御コマンドを生成し、生成した制御コマンドをＰＣコネクター２６ａを介してメイン制御部２５に出力する。制御コマンドが入力されたメイン制御部２５は、入力された制御コマンドをプリンター制御部４５に出力する。
【００１７】
サブ基板２２には、フィスカルメモリー５０（第２のメモリー）と、フィスカルメモリー制御部５１とが実装されている。
フィスカルメモリー５０は、シリアルバスを採用した素子を利用した、いわゆるシリアルフラッシュメモリーである。周知の通り、シリアルフラッシュメモリーは、ＮＡＮＤ型フラッシュメモリーと比較して、記憶したデータの信頼性が高く、かつ、データの書込み可能回数が多い、という特徴がある。
フィスカルメモリー５０には、フィスカル書込日時データ５２、及び、日計売上データ５３が記憶されるが、これらについては後述する。フィスカルメモリー５０において、日計売上データ５３及びこれに付随するデータが書き込まれる記憶領域は、１つのアドレスに対して１度しかデータを書き込めないメモリーとして機能する。これにより、フィスカルメモリー５０に書き込まれたフィスカルデータが後から編集されることが防止され、フィスカルメモリー５０に記憶されたフィスカルデータ対する改ざんが防止されている。
フィスカルメモリー制御部５１は、プログラム可能な論理回路を書き込んだデバイスであるＣＰＬＤ（Complex programmable logic device）を備え、メイン制御部２５の制御の下、フィスカルメモリー５０に対してデータの読み書き、消去を行う。
これらフィスカルメモリー５０、及び、フィスカルメモリー制御部５１は、エポキシ樹脂によってサブ基板２２に封止されており、例えば、フィスカルメモリー５０がサブ基板２２から物理的に取り外された上で、フィスカルメモリー５０に記憶されたデータが改ざんされることが防止されている。
【００１８】
次いで、ＥＪメモリー３１に記憶される書込レシートデータ５４（レシートデータ）、及び、フィスカルメモリー５０に記憶される日計売上データ５３（集計データ）について説明する。上述したように、これらデータは、フィスカルデータに該当する。
書込レシートデータ５４とは、フィスカルプリンター１６によって発行されるレシートに記録される情報を示すデータであって、記憶すべきデータとして予め定められているデータのことである。例えば、レシートに、顧客が購入した商品毎に、商品を示す情報や、商品の単価を示す情報、当該商品を購入した個数を示す情報、各商品の購入に係る代金を示す情報、全ての商品の総購入代金を示す情報等が記録されている場合であって、これら情報を示すデータが記憶すべきデータとして予め定められている場合、これら情報を示すデータが書込レシートデータ５４に該当する。
上述したように、本実施形態では、フィスカルプリンター１６によってレシートを発行する場合、ホストコンピューター１５によって制御コマンドが生成され、この制御コマンドがメイン制御部２５に出力され、さらに、制御コマンドがメイン制御部２５からプリンター制御部４５に出力される。その際、メイン制御部２５は、制御コマンドから、書込レシートデータ５４として記憶すべき情報を抽出し、抽出したこれら情報に基づいて書込レシートデータ５４を生成し、生成した書込レシートデータ５４を、ＥＪメモリー制御部３２を制御して、ＥＪメモリー３１に記憶する。
本実施形態では、書込レシートデータ５４には、レシートにおける小計金額Ｔ１と、合計金額Ｔ２と、支払金額Ｔ３が含まれている。すなわち、上述したように、本実施形態に係るフィスカルプリンター１６が発行するレシートには、小計金額Ｔ１と、合計金額Ｔ２、及び、支払金額Ｔ３が記録されているが、メイン制御部２５は、制御コマンドから、少なくともこれら３つの情報を抽出し、書込レシートデータ５４としてＥＪメモリー３１に記憶する。
【００１９】
ここで、メイン制御部２５は、ＥＪメモリー３１に書込レシートデータ５４を書き込む際、ＲＴＣ３０から現在日時（日付＋時刻）を示すデータを取得し、取得したデータに基づいて日時を示すデータであるＥＪ書込日時データ５５を生成し、書込レシートデータ５４と、ＥＪ書込日時データ５５とを対応付けて書き込む。つまり、書込レシートデータ５４のそれぞれは、ＥＪメモリー３１に書き込まれた日時を示すデータであるＥＪ書込日時データ５５と対応づけてＥＪメモリー３１に記憶される。
さらに、メイン制御部２５は、書込レシートデータ５４を書き込む際、書込レシートデータ５４を元データとして、所定のハッシュ関数に基づいて、ハッシュ値を求め、求めたハッシュ値をフィスカルプリンター１６固有の秘密鍵で暗号化することによりデジタル署名たるＥＪデジタル署名５６を生成し、書込レシートデータ５４と、ＥＪデジタル署名５６とを対応付けて書き込む。つまり、書込レシートデータ５４のそれぞれは、各データに基づいて生成されるＥＪデジタル署名５６と対応付けてＥＪメモリー３１に記憶される。
フィスカルデータ読出装置４０や、その他のフィスカルプリンター１６に記憶されたフィスカルデータの調査、検査を行う装置（例えば、政府が管理するサーバー装置）は、各フィスカルプリンター１６がＥＪデジタル署名５６を生成する際に使用するハッシュ関数を管理すると共に、各フィスカルプリンター１６の秘密鍵に対応する公開鍵を管理しており、後述するように、ある１のフィスカルプリンター１６から受信した書込レシートデータ５４と、対応するＥＪデジタル署名５６とに基づいて、書込レシートデータ５４に対する改ざんを検出可能である。
なお、ＥＪ書込日時データ５５と、書込レシートデータ５４とを対応づけて記憶する１つの理由は、国によっては、法律や、規則によりそのことが義務づけられているからである。
以上のように、書込レシートデータ５４は、レシートの発行に応じて生成されるため、頻繁に書込みに係る処理が発生する可能性があり、かつ、記憶されるデータのサイズが増大するペースが速い可能性がある。
【００２０】
日計売上データ５３（集計データ）とは、フィスカルプリンター１６によるレシートの発行が行われた会計によって得た「１日」の総売上のことである。「１日」とは、本実施形態では、情報処理システム１が適用された店舗における開店から閉店までの期間のことである。
つまり、集計データは、レシートに含まれる会計情報（売上金額）を集計した情報に関するデータである。
ホストコンピューター１５は、レジカウンターにおいて行われる会計ごとにフィスカルプリンター１６を制御してレシートを発行すると共に、各会計ごとの売上金額（＝レシートにおける支払金額Ｔ３）を累積的に記憶する。そして、ホストコンピューター１５は、店舗の閉店後、所定のタイミング（例えば、担当者の指示があったタイミングや、所定の時刻に至ったタイミング）で、累積的に記憶した会計ごとの売上金額に基づいて、対応するフィスカルプリンター１６に係る「１日」における総売上を計算し、計算した総売上に基づいて、日計売上データ５３を生成し、生成した日計売上データ５３をメイン制御部２５に出力する。日計売上データ５３が入力されると、メイン制御部２５は、フィスカルメモリー制御部５１を制御し、フィスカルメモリー５０に日計売上データ５３を書き込む。
ここで、メイン制御部２５は、フィスカルメモリー５０に日計売上データ５３を書き込む際、ＲＴＣ３０に現在日時を示すデータを出力させ、このデータに基づいて、書き込みを行った日時を取得し、取得した日時を示すデータであるフィスカル書込日時データ５２（集計データ）と、日計売上データ５３とを対応づけた状態で、フィスカルメモリー５０に日計売上データ５３を書き込む。つまり、日計売上データ５３のそれぞれは、フィスカルメモリー５０に書き込まれた日時を示すデータであるフィスカル書込日時データ５２と対応づけてフィスカルメモリー５０に記憶される。
さらに、メイン制御部２５は、日計売上データ５３を書き込む際、日計売上データ５３に基づいて、デジタル署名たるフィスカルデジタル署名５８を生成し、日計売上データ５３と、フィスカルデジタル署名５８とを対応付けて書き込む。つまり、日計売上データ５３のそれぞれは、各データに基づいて生成されるフィスカルデジタル署名５８と対応付けてフィスカルメモリー５０に記憶される。
本例では、フィスカルデジタル署名５８を生成する際に使用するハッシュ関数、及び、秘密鍵は、ＥＪデジタル署名５６を生成する際に使用するものと同一であるものとするが、別々であってもよい。
このように、本実施形態では、フィスカル書込日時データ５２と、日計売上データ５３とを対応づけて記憶するが、これは、国によっては、法律や、規則によりそのことが義務づけられているからである。
【００２１】
一方、ホストコンピューター１５は、ホスト制御部４４を備えている。ホスト制御部４４は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路を備え、ホストコンピューター１５の各部を中枢的に制御するものであり、アプリケーション実行部４４ａ、及び、プリンタードライバー実行部４４ｂを備えている。
アプリケーション実行部４４ａは、ホストコンピューター１５が備える所定の記憶部に記憶されたアプリケーションプログラムを読み出して実行することにより、発行するレシートに記録すべき情報を含んだアプリ出力データを生成し、生成したアプリ出力データをプリンタードライバー実行部４４ｂに出力する。例えば、アプリケーション実行部４４ａは、図示せぬバーコードリーダーからの入力値に基づいて、顧客が購入した商品の商品コードを特定するとともに、所定のデータベースにアクセスし、商品コードを利用して当該商品の単価や、商品名を取得する等して、上述した小計金額、合計金額、及び、支払金額を含む各種情報を取得し、取得した情報に基づいて、アプリ出力データを生成する。
プリンタードライバー実行部４４ｂは、ホストコンピューター１５が備える所定の記憶部に記憶されたプリンタードライバーを読み出して実行することにより、アプリケーション実行部４４ａから入力されたアプリ出力データに基づいて、フィスカルプリンター１６のコマンド仕様に準拠して、フィスカルプリンター１６にレシートの発行に係る一連の動作を行わせる制御コマンドを生成し、フィスカルプリンター１６に出力する。
制御コマンドには、例えば、画像の記録の開始を指示するコマンドや、サーマルヘッド４６ａを駆動させることを指示するコマンド、ロール紙を搬送方向に所定量だけ送ることを指示するコマンド、切断機構４６ｃによりロール紙の切断を指示するコマンド等の各種コマンドが含まれている。
【００２２】
ところで、上述したとおり、本実施形態では、書込レシートデータ５４について、頻繁に書込みに係る処理が発生する可能性があり、かつ、記憶されるデータのサイズが増大するペースが速い可能性があることを踏まえ、当該書込レシートデータ５４が記憶されるＥＪメモリーを、低コストで大容量化が可能なＭＬＣタイプのＮＡＮＤ型フラッシュメモリーによって構成している。
周知の通り、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーは、ＳＬＣタイプのものと比較して、低コストで大容量化が可能である一方、書込み可能回数の制限に関し劣っている。
これを踏まえ、本実施形態に係るフィスカルプリンター１６は、以下の処理を実行することにより、ＥＪメモリー３１の劣化を効果的に抑制している。
【００２３】
まず、従来の動作について説明して、課題を明らかにする。
図２は、従来のフィスカルプリンターＱ１（フィスカルプリンター１６に対応する構成要素）が、書込レシートデータをＥＪメモリーＱ２（ＥＪメモリー３１に対応する構成要素）に記憶するときの動作を説明するために、ＥＪメモリーＱ２と、メイン制御部Ｑ３（メイン制御部２５に対応する構成要素）とを説明に適した態様で模式的に示す図である。この図２では、説明の便宜のため、ＥＪメモリー制御部３２と、バッファーＩＣ３３に対応する構成要素の記載を省略し、以下の説明でも、これら機能ブロックの処理については省略するが、これら機能ブロックはメイン制御部Ｑ３の制御の下、適切な処理を実行する。
なお、ＥＪメモリーＱ２は、ＳＬＣタイプのＮＡＮＤ型フラッシュメモリーである。
図２に示すように、ＥＪメモリーＱ２の記憶領域には、データ管理情報記憶領域Ｑ４が形成されている。このデータ管理情報記憶領域Ｑ４は、メモリーの制御プログラムや、メモリーにおけるデータの書込みアドレスの管理等の、ＥＪメモリーＱ２に記憶されたデータの管理に供するデータ管理情報が記憶される記憶領域である。当該記憶領域は、パーマネント領域上に形成される。パーマネント領域とは、メモリーに形成された記憶領域のうち、１つのアドレスに対して１度しかデータを書き込めない記憶領域である。
また、ＥＪメモリーＱ２の記憶領域には、書込レシートデータ記憶領域Ｑ５が形成されている。当該記憶領域は、上述した書込レシートデータ５４、ＥＪ書込日時データ５５、及び、ＥＪデジタル署名５６に対応するデータが記憶される記憶領域である。当該記憶領域は、いわゆるパーマネント領域上に形成される。
また、ＥＪメモリーＱ２の記憶領域には、テンポラリー領域Ｑ６が形成されている。当該テンポラリー領域Ｑ６は、いわゆるワークエリアとして機能する記憶領域である。テンポラリー領域は、上述したパーマネント領域と異なり、同一領域において、データの書込み、消去を繰り返し実行可能である。特に、本実施形態では、テンポラリー領域Ｑ６には、以下の目的で使用されるページデータ展開領域Ｑ７が形成されている。
すなわち、ＮＡＮＤ型フラッシュメモリーでは、その記憶領域がブロックごとに分割されており、データの消去は、ブロック単位で行われる。さらに、各ブロックは、ページに分割されており、データの読出しや、書込みは、このページ単位で行われる。
そして、ＥＪメモリーＱ２の書込レシートデータ記憶領域Ｑ５に、書込レシートデータに係るデータを書き込む場合、書き込むべきデータがページごとに分割される。そして、１ページ分のデータを、ページデータ展開領域Ｑ７に展開して、展開したデータに基づいて当該１ページ分のデータを書込レシートデータ記憶領域Ｑ５の適切な位置に書き込み、ページデータ展開領域Ｑ７に展開した当該１ページ分のデータを消去し、次の１ページ分のデータをページデータ展開領域Ｑ７に展開する、という処理を繰り返し実行することにより、書込レシートデータに係るデータの全てを、書込レシートデータ記憶領域Ｑ５の適切な位置に書き込んでいた。
従来は、書込レシートデータの処理に際し、上述した処理が行われていたが、本実施形態のようにＥＪメモリー３１を、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーにて構成した場合、以下のような課題がある。
すなわち、データ管理情報は、メモリーにおけるデータの管理のため、頻繁に読出されるデータであるため、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーの特性上、データ管理情報が記憶された記憶領域の劣化を招く可能性がある。同様に、テンポラリー領域Ｑ６も、書込レシートデータ記憶領域Ｑ５へのデータの書込みの際に、頻繁にデータの書込み、消去が行われるため、データの書込み可能回数の制限が比較的少ないという特性上、当該記憶領域の劣化を招く可能性がある。
以上を踏まえ、本実施形態に係るフィスカルプリンター１６は、以下の処理を実行する。
【００２４】
図３は、本実施形態に係るフィスカルプリンター１６が、書込レシートデータ５４をＥＪメモリー３１に記憶するときの動作を説明するために、ＥＪメモリー３１と、メイン制御部２５と、フィスカルメモリー５０とを説明に適した態様で模式的に示す図である。この図３では、説明の便宜のため、ＥＪメモリー制御部３２、バッファーＩＣ３３、及び、フィスカルメモリー制御部５１の記載を省略し、以下の説明でも、これら機能ブロックの処理については省略するが、これら機能ブロックはメイン制御部２５の制御の下、適切な処理を実行する。
【００２５】
図３に示すように、本実施形態では、ＥＪメモリー３１には、書込レシートデータ５４及びこれに付随するデータが記憶されるパーマネント領域である書込レシートデータ記憶領域６０（書込レシートデータ記憶領域Ｑ５に対応する領域）が形成されると共に、テンポラリー領域６１（テンポラリー領域Ｑ６に対応する領域）が形成される一方、ＥＪメモリー３１には、データ管理情報記憶領域Ｑ４に対応する記憶領域が形成されておらず、また、テンポラリー領域６１には、ページデータ展開領域Ｑ７に対応する記憶領域が形成されていない。
また、フィスカルメモリー５０には、日計売上データ５３及びこれに付随するデータが記憶される日計売上データ記憶領域７０が形成されている。
さらに、フィスカルメモリー５０には、データ管理情報記憶領域７１が形成され、当該記憶領域に「ＥＪメモリー３１」のデータ管理情報が記憶されている。
さらに、フィスカルメモリー５０には、ページデータ展開領域７２が形成されている。
以上のような構成の下、メイン制御部２５は、ＥＪメモリー３１に書込レシートデータ５４及びこれに付随するデータを書き込む際、以下の処理を実行する。
【００２６】
図４は、書込レシートデータ５４をＥＪメモリー３１に書き込むときのフィスカルプリンター１６の動作を示すフローチャートである。
まず、フィスカルプリンター１６のメイン制御部２５は、書込レシートデータ５４及びこれに付随するデータ（以下、単に「書込レシートデータ５４」という。）を生成する（ステップＳＡ１）。データの生成手順は上述したとおりである。
次いで、メイン制御部２５は、フィスカルメモリー５０のデータ管理情報記憶領域７１に記憶された「ＥＪメモリー３１」のデータ管理情報を読出して、ＥＪメモリー３１の書込レシートデータ記憶領域６０において次にデータを書き込むべき位置を示すアドレス等の、ＥＪメモリー３１にデータを書き込むために必要な情報を取得する（ステップＳＡ２）。本例では、ＥＪメモリー３１のデータ管理情報が、フィスカルメモリー５０に記憶されているため、ＥＪメモリー３１からデータ管理情報の読み出しが行われることが無く、その分、ＥＪメモリー３１の劣化を効果的に抑制できる。なお、動作中、メイン制御部２５は、必要に応じてフィスカルメモリー５０のデータ管理情報記憶領域７１に記憶されたＥＪメモリー３１のデータ管理情報を、必要に応じて、参照するが、説明の便宜を考慮して、以下の説明では、当該処理についての記載を省略する。
次いで、メイン制御部２５は、ステップＳＡ１で生成した書込レシートデータ５４をページ単位で適切に分割し、１ページ分の書込レシートデータ５４を、フィスカルメモリー５０に形成されたページデータ展開領域７２に展開する（ステップＳＡ３）。次いで、メイン制御部２５は、ページデータ展開領域７２に展開した１ページ分のデータに基づいて、当該１ページ分のデータを、ＥＪメモリー３１の書込レシートデータ記憶領域６０の適切な位置に書き込む（ステップＳＡ４）。次いで、メイン制御部２５は、ページデータ展開領域７２に展開されたデータを消去し（ステップＳＡ５）、書込みが完了していない書込レシートデータ５４が残っていれば、処理手順をステップＳＡ３へ移行して、次の１ページ分のデータをページデータ展開領域７２に展開し、一方、書込みが完了していない書込レシートデータ５４が残っていなければ、処理を終了する。
このように、本実施形態では、書込レシートデータ５４をＥＪメモリー３１に書き込む際に、１ページ分のデータを一時的に展開する記憶領域をＥＪメモリー３１ではなく、フィスカルメモリー５０に形成している。これにより、１ページ分のデータの一時的な展開に伴うＥＪメモリー３１の劣化を効果的に抑制できる。なお、フィスカルメモリー５０は、データの書込み可能回数が非常に多いため、フィスカルメモリー５０に当該記憶領域を形成することに伴う悪影響は限定的である。
【００２７】
以上説明したように、本実施形態に係るフィスカルプリンター１６は、フィスカルデータとしての書込レシートデータ５４、及び、日計売上データ５３を記憶し、さらに、書込レシートデータ５４を記憶するＮＡＮＤ型フラッシュメモリーであるＥＪメモリー３１（第１のメモリー）と、第２のメモリーたるフィスカルメモリー５０と、を備え、さらに、ＥＪメモリー３１への書込レシートデータ５４の記憶に際し、フィスカルメモリー５０のメモリーの空き領域をテンポラリー領域として使用して、ＥＪメモリー３１への書込レシートデータ５４の記憶を実行するメイン制御部２５と、備えている。
ここで、フィスカルデータは、取引に関する情報であるため、取引に伴って頻繁に記憶領域への書込みが行われる場合があるという特徴、及び、記憶されたフィスカルデータのサイズが増大するペースが速い場合がある、という特徴がある。より具体的には、書込レシートデータ５４は、レシートの発行に応じて発生するデータであるため、ＥＪメモリー３１への書込みが頻繁に行われる場合があり、かつ、記憶された書込レシートデータ５４のサイズが増大するペースが速いという特徴がある。
そして、上記構成によれば、データの書込みや消去が高速であり、例えばＮＯＲ型のフラッシュメモリーと比較して低コストで大容量化が可能なＮＡＮＤ型フラッシュメモリーに、書込レシートデータ５４が記憶されるため、書込レシートデータ５４の上記特徴に適切に対応した態様で、書込レシートデータ５４の記憶を実現できる。さらに、ＮＡＮＤ型フラッシュメモリーにおける書込み／消去可能回数には制限があるが、上記構成によれば、ＮＡＮＤ型フラッシュメモリーへの書込レシートデータ５４の記憶に利用するテンポラリー領域、すなわち、頻繁にデータの書込み／消去が行われる記憶領域が、ＮＡＮＤ型フラッシュメモリーではなく第２のメモリーたるフィスカルメモリー５０に形成されるため、ＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１の劣化を効果的に抑制できる。すなわち、フィスカルデータとしての書込レシートデータ５４の特徴のみならず、上述したＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１の特徴を踏まえた適切な態様で、フィスカルデータたる書込レシートデータ５４の記憶を実現できる。
【００２８】
また、本実施形態に係るフィスカルプリンター１６は、レシートを発行可能に構成されている。そして、ＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１には、発行したレシートに関する書込レシートデータ５４（レシートデータ）がフィスカルデータとして記憶され、一方、第２のメモリーたるフィスカルメモリー５０には、レシートに含まれる会計情報を集計した情報に関する日計売上データ５３（集計データ）が記憶されている。
ここで、書込レシートデータ５４は、レシートの発行に伴って現出するデータであるため、頻繁に記憶領域に記憶する処理が行われ、かつ、短時間で大容量化するという特徴がある。一方、日計売上データ５３は、レシートに含まれる会計情報を集計した情報に関するデータであるため、書込レシートデータ５４と比較して、記憶領域に記憶する処理が行われる頻度は低く、かつ、データサイズが増大するペースは遅い、という特徴がある。そして上記構成によれば、低コストで大容量化可能なＮＡＮＤ型フラッシュメモリーに書込レシートデータ５４が記憶されるため、上述した書込レシートデータ５４に係る特徴を踏まえた適切な態様で、フィスカルデータとしての書込レシートデータ５４の記憶を実現できる。また、第２のメモリーたるフィスカルメモリー５０において日計売上データ５３（集計データ）が記憶されていない領域に係る空き領域を有効活用してテンポラリー領域を形成することができる。
【００２９】
また、本実施形態に係るフィスカルプリンター１６は、ＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１に記憶されたデータの管理に供するデータ管理情報を、第２のメモリーたるフィスカルメモリー５０に記憶している。そして、メイン制御部２５は、第２のメモリーたるフィスカルメモリー５０に記憶されたデータ管理情報に基づいて、ＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１に記憶されたデータを管理する。
ここで、ＮＡＮＤ型フラッシュメモリーに記憶されたデータの管理に供するデータ管理情報は、頻繁に読み出されるデータである。そして、上記構成によれば、データ管理情報が、第２のメモリーたるフィスカルメモリー５０に記憶されて使用されるため、ＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１の劣化を効果的に抑制可能である。
【００３０】
また、本実施形態では、ＥＪメモリー３１は、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーである。
ここで、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーは、ＳＬＣタイプのＮＡＮＤ型フラッシュメモリーと比較して、低コストで大容量化が可能であるため、書込レシートデータ５４を記憶するメモリーとして適している。一方で、書き換え可能な回数で劣っているが、上記構成によれば、ＮＡＮＤ型フラッシュメモリーへの書込レシートデータ５４の記憶に利用するテンポラリー領域がＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１ではなく、フィスカルメモリー５０に形成されるため、上述した劣っている点を踏まえて、ＮＡＮＤ型フラッシュメモリーたるＥＪメモリー３１の劣化を効果的に抑制できる。
【００３１】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、フィスカル情報（フィスカルデータ）として、書込レシートデータ５４と、フィスカル書込日時データ５２とを例示したが、フィスカル情報がこれらデータに限られないことは言うまでもない。また例えば、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各機能ブロックの機能を、外部接続される別の装置に持たせるようにしてもよく、また、説明した各種動作について、外部接続される記憶媒体に記憶させたプログラムを実行することにより、実行するようにしてもよい。
また、上述したフィスカルプリンター１６に、外部のサーバー装置等と電話網を介してＧＰＲＳの規格に準拠して通信を行うための通信モジュールや、他の規格に準拠して通信を行うための通信モジュールを搭載し、外部のサーバー装置等と通信可能に構成してもよい。外部のサーバー装置等と、データ通信できるように構成することにより、フィスカルデータ読出装置４０を利用することなくフィスカル情報を取得できることとなり、効率的なフィスカル情報の取得を実現できる。
【符号の説明】
【００３２】
１…情報処理システム、１５…ホストコンピューター、１６…フィスカルプリンター（情報処理装置）、２５…メイン制御部（制御部）、３１…ＥＪメモリー（第１のメモリー）、５０…フィスカルメモリー（第２のメモリー）、５３…日計売上データ、５４…書込レシートデータ（フィスカルデータ）、６１…テンポラリー領域。
【図１】
2014102536.tif 000003
【図２】
2014102536.tif 000004
【図３】
2014102536.tif 000005
【図４】
2014102536.tif 000006