JP7797946B2 - Rfidシステム、割当装置、および割当方法 - Google Patents
Rfidシステム、割当装置、および割当方法Info
- Publication number
- JP7797946B2 JP7797946B2 JP2022062117A JP2022062117A JP7797946B2 JP 7797946 B2 JP7797946 B2 JP 7797946B2 JP 2022062117 A JP2022062117 A JP 2022062117A JP 2022062117 A JP2022062117 A JP 2022062117A JP 7797946 B2 JP7797946 B2 JP 7797946B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- memory
- variables
- allocation
- memory blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Memory System (AREA)
Description
本発明はRFIDシステムにおける変数の割り当てに関する。
RFID(Radio Frequency Identifier)タグは、リーダライタと非接触で通信し、リーダライタから受信したデータを当該RFIDタグの不揮発性メモリに記憶する。また、リーダライタはRFIDタグに記憶されているデータを非接触で読み出す。このようなリーダライタとRFIDタグとを用いたRFIDシステムが広く用いられている。
特許文献1に、メモリの内容をメモリダンプとして吐き出し、当該メモリダンプを解析する技術が開示されている。特許文献1には、メモリダンプの解析に際し、メモリダンプによるテーブルの内容を分析し、人が見てわかるように表示したり、不必要な箇所を削除したり、必要な箇所を強調表示したりすることが開示されている。
ここで、RFIDタグのメモリに用いられる不揮発性メモリであるEEPROM(Electrically Erasable Programmable Read-Only Memory)(登録商標)は、連続した複数のバイトを集めたメモリブロック単位でのメモリアクセスを行うものである。つまり、特定の変数に対してメモリアクセス(取得または更新)するに際し、当該変数が格納されているメモリブロック全てにメモリアクセスする必要がある。
そのため、変数の割り当ての仕方によっては、単一のメモリブロックに収まるサイズの変数を、複数のメモリブロックに割り当てることがあり、メモリアクセスに無駄が生じてしまう。
また、RFIDタグに用いられるEEPROMには書込回数(更新回数)に上限があり、10万回程である。そのため、1つのメモリブロックに複数の変数が割り当てられた場合、他の変数の更新によっても書込回数を消費することになり、RFIDタグの寿命を縮めることに繋がり得る。
本発明の一態様は、RFIDタグにおける変数の割り当てにおいて、メモリアクセスの無駄を低減することを目的とする。
上記の課題を解決するために、本発明の一態様に係るRFIDシステムは、所定のブロックサイズのアドレス単位である、メモリブロック毎にメモリアクセスを行うRFIDタグを用いたRFIDシステムであって、前記RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する取得部と、前記変数が使用する前記メモリブロックの数を、前記変数のサイズまたはアドレスの範囲から求まる前記変数を割り当てるために必要とする必要メモリブロック数とするように、前記変数をメモリに割り当てる割当部と、を備える。
上記の構成では、各変数が必要メモリブロック数のメモリブロックに割り当てられることになり、最小のメモリアクセスにて各変数にメモリアクセスすることができる。そのため、メモリアクセスが効率的である。
前記割当部は、前記変数ごとに異なる前記メモリブロックを割り当ててもよい。
上記の構成では、変数ごとに異なるメモリブロックに割り当てられるため、単一のメモリブロックを複数の変数が共有することがない。そのため、更新回数が制限されているRFIDタグを長寿命化することができる。
前記割当部は、仮に第1変数が割り当てられた領域の続きに第2変数を割り当てると、前記第2変数が使用する前記メモリブロックの数が前記必要メモリブロック数よりも大きくなる場合、前記第2変数を前記第1変数が割り当てられた前記メモリブロックには割り当てず、別の前記メモリブロックに割り当ててもよい。
上記の構成では、複数の変数が単一のメモリブロックを共有することができる。そのため、RFIDタグの不揮発性メモリの使用量を節約することができる。また、使用するメモリブロックの数を削減することができるため、メモリアクセスが高速になる。
前記RFIDシステムは、ユーザによって割り当てられた前記変数が使用する前記メモリブロックの数が、前記必要メモリブロック数よりも大きい場合に、警告を発する警告部を更に備えてもよい。
上記の構成では、ユーザ入力によって割り当てられた変数によって使用されるメモリブロックの数が、必要メモリブロック数より大きい場合に警告を発することができる。
前記取得部は、複数の前記変数を含むグループの情報をさらに取得し、前記RFIDシステムは、単一の前記メモリブロックに、異なるグループに属する前記変数が割り当てられている場合に、警告を発する警告部を更に備えてもよい。
上記の構成では、同じタイミングにメモリアクセスされる場合が多い複数の変数のグループごとにメモリブロックを割り当てることができる。そのため、複数の変数が単一のメモリブロックを共有している場合であっても、同じタイミングにメモリアクセスする複数の変数が同一のグループに含まれることになるため、効率的なメモリアクセスと、RFIDタグの長寿命化と、高速なメモリアクセスとを実現できる。
前記取得部は、前記変数の更新頻度をさらに取得し、前記RFIDシステムは、単一の前記メモリブロックに、少なくとも2個以上の前記変数が含まれた場合に、一方の変数の前記更新頻度と、他方の変数の前記更新頻度とを比較し、予め定めた条件に従い警告を発する警告部を更に備えてもよい。
上記の構成では、複数の変数が単一のメモリブロックを共有する場合に、当該単一のメモリブロックに割り当てられた変数の更新頻度によって、許容される変数の組み合わせを限定することができる。
例えば、更新頻度が高い変数と1回書き込んだ後は変更する必要がない変数とが単一のメモリブロックを共有する場合には、RFIDタグの寿命を十分保障することができることもある。しかし、あるタイミングで更新される更新頻度が高い変数と別のタイミングで更新される更新頻度が高い変数とが単一のメモリブロックを共有する場合では、RFIDタグの寿命を保障することができなくなることがある。更新頻度を考慮することで、このような場合を防ぐことができる。そのため、RFIDタグの長寿命化を実現できる。
前記RFIDシステムは、前記変数が予め定めたメモリ領域外に割り当てられている場合に、警告を発する警告部を更に備えてもよい。
上記の構成では、変数が割り当てられるメモリブロックを限定することができる。そのため、変数を割り当ててはいけない予約領域に、変数を割り当てることがないため、RFIDシステムの不適切な動作を防止することができる。
上記の課題を解決するために、本発明の別の態様に係る割当装置は、所定のブロックサイズのアドレス単位である、メモリブロック毎にメモリアクセスを行うRFIDタグのメモリ割り当てを行う割当装置であって、前記RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する取得部と、前記変数が使用する前記メモリブロックの数を、前記変数のサイズまたはアドレスの範囲から求まる前記変数を割り当てるために必要とする必要メモリブロック数とするように、前記変数をメモリに割り当てる割当部と、を備える。
上記の課題を解決するために、本発明の別の態様に係る割当方法は、RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する取得ステップと、前記変数が使用するメモリブロックの数を、前記変数のサイズまたはアドレスの範囲から求まる前記変数を割り当てるために必要とする必要メモリブロック数とするように、前記変数をメモリに割り当てる割当ステップと、を含む。
本発明の一態様によれば、RFIDタグのメモリアクセスを効率化する。
〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
§1 適用例
図1は、実施形態1に係るRFIDシステム1の要部の構成を示すブロック図である。図1に示すように、RFIDシステム1は、サーバ(割当装置)2と、リーダライタ3と、RFIDタグ4と、を備える。RFIDシステム1では、サーバ2によってユーザ操作を受け付け、RFIDタグ4に書き込むメモリの割り当てを決定し、リーダライタ3を介してRFIDタグ4に決定した割り当てでメモリを更新する。
図1は、実施形態1に係るRFIDシステム1の要部の構成を示すブロック図である。図1に示すように、RFIDシステム1は、サーバ(割当装置)2と、リーダライタ3と、RFIDタグ4と、を備える。RFIDシステム1では、サーバ2によってユーザ操作を受け付け、RFIDタグ4に書き込むメモリの割り当てを決定し、リーダライタ3を介してRFIDタグ4に決定した割り当てでメモリを更新する。
RFIDタグ4で用いられる不揮発性メモリでは、メモリアクセスは連続した複数のバイトを集めたメモリブロック単位で行う。そのため、メモリの割り当て状況が、メモリブロックを亘って横断するように変数を割り当てていた場合、本来不要なはずのメモリアクセスが発生する。つまり、メモリアクセスに要する時間が増大し、非効率である。
本実施形態では、メモリアクセスが非効率になる割り当てを行わないようにする機能を備えたRFIDシステムを実現する。
§2 構成例
(RFIDシステム1の構成)
サーバ2は、RFIDタグ4のメモリに変数の割り当てを行うユーザが操作する対象であり、ユーザ入力によって割り当てを行う変数の入力から、実際の変数の割り当てまでを行う。また、割り当てを行った変数に異常等が発生した場合は、サーバ2は警告を発する。
(RFIDシステム1の構成)
サーバ2は、RFIDタグ4のメモリに変数の割り当てを行うユーザが操作する対象であり、ユーザ入力によって割り当てを行う変数の入力から、実際の変数の割り当てまでを行う。また、割り当てを行った変数に異常等が発生した場合は、サーバ2は警告を発する。
リーダライタ3は、サーバ2の指示に従い、RFIDタグ4のデータを取得および/または更新する。
RFIDタグ4は、不揮発性メモリにデータを記憶し、リーダライタと無線通信することで、データを出力および/または更新する。不揮発性メモリは、EEPROMを採用する。
(サーバ2の構成)
サーバ2は、取得部21と、割当部23と、警告部24と、を備える。また、サーバ2には、ディスプレイ51、キーボード52、および表示灯53が接続されている。
サーバ2は、取得部21と、割当部23と、警告部24と、を備える。また、サーバ2には、ディスプレイ51、キーボード52、および表示灯53が接続されている。
取得部21は、外部の機器から変数の割り当てに関する情報を取得し、割当情報22に出力する。また、取得部21は、キーボード52などによるユーザ入力によって、割り当てを行う変数を入力し、割当情報22に出力してもよい。
図2は、割当情報22の設定項目である。図2に示すように、割当情報22には、変数名称と、変数型と、開始アドレスと、終了アドレスと、変数のサイズと、が記載されている。つまり、取得部21は、RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する。
このうち、開始アドレスと終了アドレスと変数のサイズとは相互に関係している。変数のサイズを変更することによって開始アドレスを考慮して終了アドレスが変更され、終了アドレスを変更することによって開始アドレスを考慮して変数のサイズが変更される。開始アドレスを変更することによって、変数のサイズを考慮して終了アドレスが変更される。
また、変数型の一部と変数のサイズとも相互に関係している。例えば、「INT」は16ビット整数を表し、2バイトなため変数のサイズが2となる。また、「LONG」は64ビット整数を表し、8バイトなため変数のサイズが8となる。対して、「ASCII」は1バイトコードを表し、1バイトにつき1文字を表すため、実質的に変数のサイズが文字数に相当する。また、「BOOL」は、実際には変数のサイズが1ビットであるが、メモリアクセスの観点から1サイズ(1バイト)が割り当てられている。「BCD」は、10進数の数字の桁数に応じた変数のサイズとなる。
割当部23は、割当情報22に従い、RFIDタグの不揮発性メモリに変数を割り当てる。また、割り当て部23は、割当情報22に記載の設定項目が所定のルールに則っていない場合、所定の割当ルールに従い適宜修正し、変数の割り当てを行う機能(自動割当)も有する。所定の割当ルールに関しては詳細を後述する。
警告部24は、割当情報22に記載の設定項目においてメモリアクセスに無駄が発生する状態になっている場合または所定のメモリ領域を超過して割り当てが行われている場合に、表示灯53を介して警告を発する。警告を発する媒体としては、表示灯に限定されず、任意の媒体でも、任意の方法でもよい。例えば、ディスプレイ51に警告を表示してもよい。
なお、割当部23が変数の割り当てを行い、割当情報22を修正した後、取得部21によってユーザ入力を受け付けて、適宜変数の割り当てを変更してもよい。この場合でも、警告部24は動作しており、警告を発することができる。
(不揮発性メモリについて)
ここで、RFIDタグ4の不揮発性メモリのメモリ構成に関して説明する。RFIDタグ4では、不揮発性メモリを多数のメモリブロックに分割して管理している。メモリブロックは所定のブロックサイズのアドレス単位のものである。メモリブロックのブロックサイズは、RFIDタグ4によって異なっている。例えば、本実施形態ではメモリブロックのブロックサイズを4バイトとする。
ここで、RFIDタグ4の不揮発性メモリのメモリ構成に関して説明する。RFIDタグ4では、不揮発性メモリを多数のメモリブロックに分割して管理している。メモリブロックは所定のブロックサイズのアドレス単位のものである。メモリブロックのブロックサイズは、RFIDタグ4によって異なっている。例えば、本実施形態ではメモリブロックのブロックサイズを4バイトとする。
RFIDタグ4のメモリアクセスは、メモリブロックごとである。つまり、あるメモリブロックに含まれたアドレスの一部にアクセスする場合であっても、当該メモリブロック全てにメモリアクセスする。
例えば、先頭のメモリブロック(アドレスが0x00~0x03)のうち、アドレス0x00にアクセスする場合を説明する。アドレス0x00はアクセス対象であるためメモリアクセスし、アドレス0x01~0x03は同じメモリブロックに含まれるためメモリアクセスすることになる。メモリアクセスは、データの取得(読み込み)とデータ更新(書き込み)とがある。
また、RFIDタグ4に用いられる不揮発性メモリは更新回数が制限されており、約10万回のものが一般的である。そのため、更新頻度および更新回数に応じてRFIDタグの寿命が決定される。
§3 動作例
(割当ルールの種類)
割当部23における割当ルールは3通りに大別される。割当ルールは、ユーザ入力を尊重する割当ルール1と、RFIDタグの寿命を優先する割当ルール2と、RFIDタグへの高速なメモリアクセスを優先する割当ルール3と、が挙げられる。
(割当ルールの種類)
割当部23における割当ルールは3通りに大別される。割当ルールは、ユーザ入力を尊重する割当ルール1と、RFIDタグの寿命を優先する割当ルール2と、RFIDタグへの高速なメモリアクセスを優先する割当ルール3と、が挙げられる。
(割当ルール1について)
割当ルール1では、ユーザ入力を尊重するため、割当部23は変数の自動割当を行わず、ユーザ入力したものを取得した割当情報22に従って、変数をメモリブロックに割り当てることのみを行う。
割当ルール1では、ユーザ入力を尊重するため、割当部23は変数の自動割当を行わず、ユーザ入力したものを取得した割当情報22に従って、変数をメモリブロックに割り当てることのみを行う。
図3は、メモリブロックが4バイトにおいて、図2の割当情報22を割当ルール1によって割り当てた結果である。図3では、行にメモリブロックを、列に当該メモリブロックにおける何番目のアドレスかを示した表である。また、MSB(Most Significant Bit)は最上位ビットであり、LSB(Least Significant Bit)は最下位ビットである。
図3に示すように、変数Aのサイズは3バイトであり、メモリブロックは1ブロックあれば割り当てることができるが、実際には0x02~0x04に割り当てられており、メモリブロックを2ブロックに亘って横断している。また、変数Bのサイズは8バイトであり、メモリブロックは2ブロックあれば割り当てることができるが、実際には0x05~0x0Cに割り当てられており、メモリブロックを3ブロックに亘って横断している。そのため、これらメモリブロックへのメモリアクセスは非効率である。
対して、変数Cが割り当てられた0x10と、変数Dが割り当てられた0x12~0x13と、変数Eが割り当てられた0x14~0x17と、では変数が単一のメモリブロックに収まっている。そのため、これらメモリブロックに対するメモリアクセスは効率的である。
このように、割り当てられているメモリブロックの数と、変数のサイズまたはアドレスの範囲から求まる変数を割り当てるために必要とする必要メモリブロック数(必要な最小メモリブロック数)とでは、異なる値を取ることがある。このような場合、これら変数へのメモリアクセスは、最小のメモリアクセスではなく、必要メモリブロック数に1を足したメモリブロックに対してメモリアクセスが必要となり、過剰なメモリアクセスをしていることになる。
必要メモリブロック数は次式により求まる。
必要メモリブロック数=小数点第1位切り上げ(変数のサイズ/ブロックサイズ)
以降で説明する割当ルール2および3は、割当ルール1と比較して異なり、変数が使用するメモリブロックの数を、必要メモリブロック数とする処理を行っている。
必要メモリブロック数=小数点第1位切り上げ(変数のサイズ/ブロックサイズ)
以降で説明する割当ルール2および3は、割当ルール1と比較して異なり、変数が使用するメモリブロックの数を、必要メモリブロック数とする処理を行っている。
(割当ルール2について)
割当ルール2では、変数ごとに異なるメモリブロックを割り当てる。すなわち、単一のメモリブロックには、単一の変数のみが割り当てられる。
割当ルール2では、変数ごとに異なるメモリブロックを割り当てる。すなわち、単一のメモリブロックには、単一の変数のみが割り当てられる。
図4は、メモリブロックが4バイトにおいて、図2の割当情報22を割当ルール2によって割り当てた結果である。変数A~Eは、必要メモリブロック数にてメモリブロックに割り当てられている。そのため、最小のメモリアクセスにて各変数にメモリアクセスすることができ、効率的なメモリアクセスをすることができる。
また、変数A~Eがそれぞれ含まれるメモリブロックには、他の変数が含まれないことがわかる。そのため、単一のメモリブロックを複数の変数が共有することがない。変数の更新に応じて対象となる変数のみを含むメモリブロックのみが更新されることになることから、更新回数が制限されているRFIDタグ4を長寿命化することができる。
ここで、更新されるメモリブロックのうち、変数が割り当てられなかった領域に関しては、全て0または1のビットを書き込むパディング処理を行うものとする。
(割当ルール3について)
割当ルール3では、既に割り当てられている第1変数と、まだ割り当てられていない第2変数とを割り当てる場合に、変数が使用するメモリブロックの数を必要メモリブロック数としつつ、単一のメモリブロックに複数の変数をできるだけつめる。つまり、もし第1変数が割り当てられた領域の続きに第2変数を割り当てると、第2変数が使用するメモリブロックの数が必要メモリブロック数よりも大きくなる場合、第2変数を第1変数が割り当てられたメモリブロックには割り当てず、別のメモリブロックに割り当てる。
割当ルール3では、既に割り当てられている第1変数と、まだ割り当てられていない第2変数とを割り当てる場合に、変数が使用するメモリブロックの数を必要メモリブロック数としつつ、単一のメモリブロックに複数の変数をできるだけつめる。つまり、もし第1変数が割り当てられた領域の続きに第2変数を割り当てると、第2変数が使用するメモリブロックの数が必要メモリブロック数よりも大きくなる場合、第2変数を第1変数が割り当てられたメモリブロックには割り当てず、別のメモリブロックに割り当てる。
図5は、メモリブロックが4バイトにおいて、図2の割当情報22を割当ルール3によって割り当てた結果である。
具体的には、割当部23は、まず変数Aを0x00~0x02に割り当てる。その次に変数Bを割り当てようとするが、必要メモリブロック数が2ブロックであり、変数Aが割り当てられた領域の続きに変数Bを割り当てると、変数Bはメモリブロックを3使用することになる。そのため、変数Bは異なるメモリブロックである0x04~0x0Bに割り当てられる。変数Bを割り当てた後の同一のメモリブロックの空いているサイズが0なため、変数Cは異なるメモリブロックの0x0Cに割り当てられる。その次に変数Dを割り当てようとするが、必要メモリブロック数が2ブロックであり、変数Cが割り当てられた領域の続きに変数Dを割り当てても、変数Dはメモリブロックを2ブロック使用するだけである。そのため、変数Cが割り当てられた領域の続きである0x0D~0x12に変数Dを割り当てる。最後に変数Eを割り当てようとするが、必要メモリブロック数が1ブロックであり、変数Dが割り当てられた領域の続きに変数Eを割り当てると、変数Eはメモリブロックを2ブロック使用することになる。そのため、変数Eは異なるメモリブロックである0x14~0x15に割り当てられる。
この結果、変数A~Eは、必要メモリブロック数にてメモリブロックに割り当てられている。そのため、最小のメモリアクセスにて各変数にメモリアクセスすることができ、効率的なメモリアクセスをすることができる。
また、図4と図5とを比較すると、全体で使用しているメモリブロックの数が図4よりも図5が少なくなっている。これは、第1変数が割り当てられた領域の続きに第2変数を割り当てているため、複数の変数が単一のメモリブロックを共有することができる。そのため、RFIDタグの不揮発性メモリの使用量を節約することができる。また、使用するメモリブロックの数を削減することができるため、複数の変数へのアクセスをまとめることができ、メモリアクセスが高速になる。
ここで、更新されるメモリブロックのうち、変数が割り当てられなかった領域に関しては、全て0または1のビットを書き込むパディング処理を行うものとする。
(警告部について)
割当部23によって自動割当を行った後、ユーザが様々な条件から意図した割り当てになっているかを確認し、手動で割当情報22を修正することがある。この時に、各変数が使用するメモリブロックの数が必要メモリブロック数となっているかを確認する必要がある。そのために警告部24によって、割当情報22を確認し、異常が発生している場合にユーザに警告を発する。
割当部23によって自動割当を行った後、ユーザが様々な条件から意図した割り当てになっているかを確認し、手動で割当情報22を修正することがある。この時に、各変数が使用するメモリブロックの数が必要メモリブロック数となっているかを確認する必要がある。そのために警告部24によって、割当情報22を確認し、異常が発生している場合にユーザに警告を発する。
警告部24は、ユーザによって割り当てられた前記変数が使用するメモリブロックの数が、必要メモリブロック数よりも大きい場合に、警告を発する。すなわち、過剰なメモリブロックに亘って横断して変数が割り当てられているか否かを判断している。そのため、警告部24による警告がなくなるようにすることで、ユーザ入力による手動での割当情報22の修正後でも、効率化したメモリアクセスを維持することができる。
また、警告部24は、変数が予め定めたメモリ領域外に割り当てられる場合に、警告を発する。すなわち、変数が割り当てられているメモリブロックを使用してよいか否かでもって、警告を発するため、変数を割り当てられるメモリブロックを限定することができる。そのため、変数を割り当ててはいけない予約領域を設定することができるようになり、当該予約領域に変数が割り当てられることがないため、RFIDシステムの動作において、意図しないメモリブロックへの書き込みを防げることができる。
§4 変形例
(ブロックサイズ)
実施形態1では、ブロックサイズを4バイトとしたが、これに限定されない。例えば、8バイトなどの任意の整数であればよい。図4~6で示したブロックサイズが4バイトの割り当て結果と、ブロックサイズが8バイトの割り当て結果とは異なり、ブロックサイズに応じて割り当ては変わってくる。
(ブロックサイズ)
実施形態1では、ブロックサイズを4バイトとしたが、これに限定されない。例えば、8バイトなどの任意の整数であればよい。図4~6で示したブロックサイズが4バイトの割り当て結果と、ブロックサイズが8バイトの割り当て結果とは異なり、ブロックサイズに応じて割り当ては変わってくる。
(RFIDシステム1の別の態様)
実施形態1では、RFIDシステム1は、サーバ2と、リーダライタ3と、RFIDタグ4とを備えていたが、これに限定されない。例えば、サーバ2に代わり、パソコンまたはPLC(Programmable Logic Controller)であってもよい。
実施形態1では、RFIDシステム1は、サーバ2と、リーダライタ3と、RFIDタグ4とを備えていたが、これに限定されない。例えば、サーバ2に代わり、パソコンまたはPLC(Programmable Logic Controller)であってもよい。
また、サーバ2がなく、リーダライタ3にWEBサーバの機能が備わっており、変数の割り当てを行う処理ができてもよい。
実施形態1では、RFIDシステム1に関して説明したが、RFIDシステムに限定されず、RFIDタグ4の割当装置であればよい。割当装置としては、サーバ、パソコン、PLC、またはWEBサーバを備えたリーダライタなどの種々の装置が考えられる。
(グループによる割り当て)
割当情報22の設定項目に同じタイミングにメモリアクセスする対象の複数の変数であるグループが含まれてもよい。つまり、取得部21は、複数の前記変数を含むグループの情報(変数とグループの対応関係を示す情報)をさらに取得する。
割当情報22の設定項目に同じタイミングにメモリアクセスする対象の複数の変数であるグループが含まれてもよい。つまり、取得部21は、複数の前記変数を含むグループの情報(変数とグループの対応関係を示す情報)をさらに取得する。
割当部23は、あるグループに所属する複数の変数で自動割当を行い、次に別のグループに所属する複数の変数で自動割当を行う。つまり、グループ単位で自動割当を行っていく。ここで、異なるグループでは、メモリブロックを共有しないようにする。また、複数の変数によって単一のメモリブロックが共有されることになるため、割当ルール3を用いることになる。
また、割当部23だけではなく、警告部24もグループに対応した処理を行ってもよい。警告部24は、単一のメモリブロックに、異なるグループに属する変数が割り当てられている場合に、警告を発する。
そのため、同じタイミングにメモリアクセスされる場合が多い複数の変数のグループごとにメモリブロックを割り当てることができるようになる。また、複数の変数が単一のメモリブロックを共有している場合であっても、同じタイミングにメモリアクセスする複数の変数が同一のグループに含まれることになるため、効率的なメモリアクセスと、RFIDタグ4の長寿命化と、高速なメモリアクセスとを実現できる。
例えば、図2において変数Aおよび変数Cがグループ1で、変数Bがグループ2で、変数Dおよび変数Eがグループ3であったとする。この場合における、変数の割り当て結果を図6に示す。
グループごとに割当ルール3の処理を行うために、グループ1の処理として、まず変数Aを0x00~0x02に割り当てる。次に変数Cを割り当てようとするが、必要メモリブロック数が1であり、変数Aが割り当てられた領域の続きに変数Cを割り当てると、変数Cはメモリブロックを1使用することになる。そのため、変数Cは同一のメモリブロックである0x03に割り当てられる。その次に、異なるグループである変数Bを別のメモリブロックである0x04~0x0Bに割り当てる。さらに、異なるグループである変数Dを別のメモリブロックである0x0C~0c11に割り当てる。次に変数Eを割り当てようとするが、必要メモリブロック数が1であり、変数Dが割り当てられた領域の続きに変数Eを割り当てると、変数Eはメモリブロックを1使用することになる。そのため、変数Eは同一のメモリブロックである0x12~0x13に割り当てられる。
この割り当ての結果、図6ではメモリブロックが5になり、図5の割当ルール3でのメモリブロックが6の場合よりも、メモリブロックの削減効果が得られる。
このように、グループ単位で処理をするため、変数Aの次に変数Cの割り当てが行われるように、割当情報22の順番で割り当てが行われるとは限らない。また、グループごとに割り当てを行うメモリブロックを指定していてもよい。
(更新頻度による割り当て)
割当情報22の設定項目に各変数の更新頻度が含まれていてもよい。つまり、取得部21は、変数の更新頻度をさらに取得する。
割当情報22の設定項目に各変数の更新頻度が含まれていてもよい。つまり、取得部21は、変数の更新頻度をさらに取得する。
割当部23は、更新頻度に応じて複数の変数が単一のメモリブロックを共有できるか否かを判断し、変数の割り当てを行う。この時、複数の変数で単一のメモリブロックを共有できるか否かを判断する条件は、任意に定めてもよい。つまり、単一のメモリブロックに、少なくとも2個以上の変数が含まれた場合に、一方の変数の更新頻度と、他方の変数の更新頻度とを比較し、予め定めた条件に従い複数の変数の割り当てを行う。
条件としては、例えば、同一の更新頻度の場合に単一のメモリブロックに変数を割り当ててもよい組み合わせがある。また、低頻度の変数と中頻度および高頻度の変数とは同一のメモリブロックを共有することができないが、中頻度の変数と高頻度の変数とでは同一のメモリブロックを共有することができるようにする組み合わせなどがある。条件はこれらのパターンに限定されず、任意の組み合わせを想定してよい。また、複数の変数によって単一のメモリブロックが共有されることになるため、割当ルール3を用いることになる。
また、割当部23だけではなく、警告部24も更新頻度に応じた処理を行ってもよい。警告部24は、単一のメモリブロックに、少なくとも2個以上の変数が含まれた場合に、一方の変数の更新頻度と、他方の変数の更新頻度とを比較し、予め定めた条件に従い警告を発する。
そのため、複数の変数が単一のメモリブロックを共有する場合に、当該単一のメモリブロックに割り当てられた変数の更新頻度によって、許容される変数の組み合わせを限定することができる。
例えば、更新頻度が高い変数と1回書き込んだ後は変更する必要がない変数とが単一のメモリブロックを共有する場合には、RFIDタグ4の寿命を十分保障することができることもある。しかし、あるタイミングで更新される更新頻度が高い変数と別のタイミングで更新される更新頻度が高い変数とが単一のメモリブロックを共有する場合では、RFIDタグ4の寿命を保障することができなくなることがある。更新頻度を考慮することで、このような場合を防ぐことができる。そのため、RFIDタグ4の長寿命化を実現できる。
具体的な条件を2例示すが、条件としてはこれらに限定されない。示す条件としては、警告部24によって、複数の変数が単一のメモリブロックを共有する場合において、変数の組み合わせによって警告を発する条件である。
図7は、複数の変数が単一のメモリブロックを共有する場合において、ある条件で警告を発するか否かを判断する条件表である。図8は、複数の変数が単一のメモリブロックを共有する場合において、別の条件で警告を発するか否かを判断する条件表である。
図7での条件では、低頻度と中頻度または高頻度とが単一のメモリブロックを共有する組み合わせ、あるいは中頻度と高頻度とが単一のメモリブロックを共有する組み合わせの場合、警告部24は警告を発する。つまり、異なる更新頻度の複数の変数が単一のメモリブロックを共有する場合に警告を発する。
この場合、更新頻度が異なることから、異なるタイミングで更新される変数である可能性が高く、RFIDタグ4の寿命を低下させることに繋がると判断されている。
また、図8での条件では、低頻度と中頻度または高頻度とが単一のメモリブロックを共有する組み合わせ、中頻度と低頻度、中頻度または高頻度とが単一のメモリブロックを共有する組み合わせ、あるいは高頻度と低頻度、中頻度または高頻度とが単一のメモリブロックを共有する組み合わせ、のいずれかの場合、警告部24は警告を発する。つまり、中頻度以上で同一のメモリブロックに複数の変数が存在している場合に警告を発する。
この場合、更新頻度が中頻度以上では、当該変数の更新回数が多くなり易く、複数の変数が単一のメモリブロックを共有した場合に、当該メモリブロックが寿命回数を迎えることが考えられる。そのため、RFIDタグ4の寿命を低下させることに繋がると判断されている。
ここで、低頻度は更新回数が寿命回数を迎えないと考えられる頻度であり、中頻度は単体では更新回数が寿命回数を迎えないと考えられる頻度であり、高頻度は単体でも更新回数が寿命回数を迎えると考えられる頻度である。そのため、ある中頻度の変数と別の中頻度の変数とが単一のメモリブロックを共有する場合は、寿命回数を超過し、RFIDタグ4の寿命を低下させることは起こり得る。また、1回のみは、1回のみ更新を行い、それ以降更新しない変数であり、例えば、管理対象を識別するシリアル番号または製造年月日などの情報が挙げられる。
§5 作用・効果
取得部21によって取得した割当情報22を、割当部23が適宜修正することによって、各変数が必要メモリブロック数のメモリブロックに割り当てられることになる。そのため、最小のメモリアクセスにて各変数にメモリアクセスすることができ、メモリアクセスが効率的である。
取得部21によって取得した割当情報22を、割当部23が適宜修正することによって、各変数が必要メモリブロック数のメモリブロックに割り当てられることになる。そのため、最小のメモリアクセスにて各変数にメモリアクセスすることができ、メモリアクセスが効率的である。
また、割当ルール2では、単一のメモリブロックには単一の変数のみを割り当てるため、RFIDタグ4を長寿命化することができる。割当ルール3では、単一のメモリブロックに複数の変数を割り当てるため、メモリの節約効果と複数の変数への高速なメモリアクセスが実現する。
さらに、割当情報22にグループまたは更新頻度などの付加情報を付加することで、更新タイミングとRFIDタグ4の寿命を考慮した割り当てが可能になる。
〔ソフトウェアによる実現例〕
サーバ2または割当装置(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロックとしてコンピュータを機能させるためのプログラムにより実現することができる。
サーバ2または割当装置(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロックとしてコンピュータを機能させるためのプログラムにより実現することができる。
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
1 RFIDシステム
2 サーバ(割当装置)
3 リーダライタ
4 RFIDタグ
21 取得部
23 割当部
24 警告部
2 サーバ(割当装置)
3 リーダライタ
4 RFIDタグ
21 取得部
23 割当部
24 警告部
Claims (9)
- 所定のブロックサイズのアドレス単位である、メモリブロック毎にメモリアクセスを行うRFIDタグを用いたRFIDシステムであって、
前記RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する取得部と、
前記変数が使用する前記メモリブロックの数を、前記変数のサイズまたはアドレスの範囲から求まる前記変数を割り当てるために必要とする必要メモリブロック数とするように、前記変数をメモリに割り当てる割当部と、を備えるRFIDシステム。 - 前記割当部は、前記変数ごとに異なる前記メモリブロックを割り当てる請求項1に記載のRFIDシステム。
- 前記割当部は、仮に第1変数が割り当てられた領域の続きに第2変数を割り当てると、前記第2変数が使用する前記メモリブロックの数が前記必要メモリブロック数よりも大きくなる場合、前記第2変数を前記第1変数が割り当てられた前記メモリブロックには割り当てず、別の前記メモリブロックに割り当てる請求項1に記載のRFIDシステム。
- 前記RFIDシステムは、ユーザによって割り当てられた前記変数が使用する前記メモリブロックの数が、前記必要メモリブロック数よりも大きい場合に、警告を発する警告部を更に備える請求項1から3のいずれか1項に記載のRFIDシステム。
- 前記取得部は、複数の前記変数を含むグループの情報をさらに取得し、
前記RFIDシステムは、単一の前記メモリブロックに、異なるグループに属する前記変数が割り当てられている場合に、警告を発する警告部を更に備える請求項1から3のいずれか1項に記載のRFIDシステム。 - 前記取得部は、前記変数の更新頻度をさらに取得し、
前記RFIDシステムは、単一の前記メモリブロックに、少なくとも2個以上の前記変数が含まれた場合に、一方の変数の前記更新頻度と、他方の変数の前記更新頻度とを比較し、予め定めた条件に従い警告を発する警告部を更に備える請求項1から3のいずれか1項に記載のRFIDシステム。 - 前記RFIDシステムは、前記変数が予め定めたメモリ領域外に割り当てられている場合に、警告を発する警告部を更に備える請求項1から3のいずれか1項に記載のRFIDシステム。
- 所定のブロックサイズのアドレス単位である、メモリブロック毎にメモリアクセスを行うRFIDタグのメモリ割り当てを行う割当装置であって、
前記RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する取得部と、
前記変数が使用する前記メモリブロックの数を、前記変数のサイズまたはアドレスの範囲から求まる前記変数を割り当てるために必要とする必要メモリブロック数とするように、前記変数をメモリに割り当てる割当部と、を備える割当装置。 - RFIDタグのメモリに割り当てる複数の変数と、各変数のサイズまたはアドレスの範囲とを取得する取得ステップと、
前記変数が使用するメモリブロックの数を、前記変数のサイズまたはアドレスの範囲から求まる前記変数を割り当てるために必要とする必要メモリブロック数とするように、前記変数をメモリに割り当てる割当ステップと、を含む割当方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022062117A JP7797946B2 (ja) | 2022-04-01 | 2022-04-01 | Rfidシステム、割当装置、および割当方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022062117A JP7797946B2 (ja) | 2022-04-01 | 2022-04-01 | Rfidシステム、割当装置、および割当方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023152145A JP2023152145A (ja) | 2023-10-16 |
| JP7797946B2 true JP7797946B2 (ja) | 2026-01-14 |
Family
ID=88327759
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022062117A Active JP7797946B2 (ja) | 2022-04-01 | 2022-04-01 | Rfidシステム、割当装置、および割当方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7797946B2 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006185456A (ja) | 1997-11-21 | 2006-07-13 | Omron Corp | メモリ割当装置、メモリ割当方法、およびプログラム記録媒体 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008018258A1 (en) * | 2006-08-09 | 2008-02-14 | Hitachi Ulsi Systems Co., Ltd. | Storage device |
-
2022
- 2022-04-01 JP JP2022062117A patent/JP7797946B2/ja active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006185456A (ja) | 1997-11-21 | 2006-07-13 | Omron Corp | メモリ割当装置、メモリ割当方法、およびプログラム記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023152145A (ja) | 2023-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105975399B (zh) | 用来管理一记忆装置的方法以及其相关的记忆装置 | |
| CN1087085C (zh) | 使用便携式芯片卡的方法 | |
| CN104205132B (zh) | 在智能卡的非易失性存储器中写入数据 | |
| CN106843842B (zh) | 一种应用程序配置文件的更新方法及装置 | |
| EP1939751A1 (en) | Storing compressed data | |
| EP1956482B1 (en) | Generating delta updates for a processing device | |
| US5963982A (en) | Defragmentation of stored data without pointer indirection | |
| EP1418538B1 (en) | Multi-application ic card | |
| US10628301B1 (en) | System and method for optimizing write amplification of non-volatile memory storage media | |
| EP1381966B1 (en) | A method and apparatus for reducing ram size while maintaining fast data access | |
| JP7797946B2 (ja) | Rfidシステム、割当装置、および割当方法 | |
| JP5895565B2 (ja) | Icカード、及びプログラム | |
| CN114168316A (zh) | 显存分配处理方法、装置、设备及系统 | |
| EP0525308A1 (en) | Memory map for processor cache macro | |
| CN112764793B (zh) | 一种功能块参数增量式更新的方法 | |
| CN114327246A (zh) | 存储介质内数据存储方法、存储介质及计算机设备 | |
| EP4697190A1 (en) | File processing method and apparatus, and device and storage medium | |
| JP6769150B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
| JP3446397B2 (ja) | Eepromの制御方法 | |
| TWI919248B (zh) | 識別原始碼中包括之未使用函數之方法、記錄媒體及裝置 | |
| CN106991114B (zh) | 用于管理控制设备的非易失性存储器的方法和装置 | |
| KR20250065405A (ko) | 별도의 메모리 관리 유닛 없이 마이크로 컨트롤러의 메인 메모리의 메모리 내용을 변경하는 방법, 그의 사용, 마이크로 컨트롤러 및 차량 | |
| JPH09231111A (ja) | Icカード | |
| KR20240006181A (ko) | Plc 시스템 및 그 제어 방법 | |
| KR20260001914A (ko) | 메모리 컨트롤러 및 그 동작 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250213 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20251125 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251208 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7797946 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |