JP2009042895A - チェ−ンメモリ装置及びその管理方法 - Google Patents
チェ−ンメモリ装置及びその管理方法 Download PDFInfo
- Publication number
- JP2009042895A JP2009042895A JP2007205386A JP2007205386A JP2009042895A JP 2009042895 A JP2009042895 A JP 2009042895A JP 2007205386 A JP2007205386 A JP 2007205386A JP 2007205386 A JP2007205386 A JP 2007205386A JP 2009042895 A JP2009042895 A JP 2009042895A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data block
- memory device
- chain memory
- variable length
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 デ−タの異常を正確に、信頼性高く検出可能なチェ−ンメモリ及びチェ−ンメモリの管理方法を提供することを目的とする。
【解決手段】可変長デ−タを複数のデ−タブロックに分割し、デ−タブロックごとに次のデ−タブロックが記憶されるアドレスを有することにより繋いで記憶するチェ−ンメモリ装置において、チェ−ンメモリ装置の書き込み時に、デ−タブロックごとに可変長デ−タに対応する同一の可変長デ−タIDを付与し、デ−タブロックごとにデ−タブロックの繋ぎ順を示すシ−ケンス番号を付与する工程と、チェ−ンメモリ装置の読み出し時に、読み出したデ−タブロックから可変長デ−タIDとシ−ケンス番号とを検出する工程と、検出した可変長デ−タIDとシ−ケンス番号の適否を判断する工程とを備えるチェ−ンメモリ装置の管理方法とする。
【選択図】 図1
【解決手段】可変長デ−タを複数のデ−タブロックに分割し、デ−タブロックごとに次のデ−タブロックが記憶されるアドレスを有することにより繋いで記憶するチェ−ンメモリ装置において、チェ−ンメモリ装置の書き込み時に、デ−タブロックごとに可変長デ−タに対応する同一の可変長デ−タIDを付与し、デ−タブロックごとにデ−タブロックの繋ぎ順を示すシ−ケンス番号を付与する工程と、チェ−ンメモリ装置の読み出し時に、読み出したデ−タブロックから可変長デ−タIDとシ−ケンス番号とを検出する工程と、検出した可変長デ−タIDとシ−ケンス番号の適否を判断する工程とを備えるチェ−ンメモリ装置の管理方法とする。
【選択図】 図1
Description
本発明は、デ−タをチェ−ン方式で記憶する記憶装置とその管理方法に関し、特に信頼性高く安定してデ−タの異常を検出可能な、チェ−ンメモリ装置とチェ−ンメモリ装置の管理方法に関する。
昨今、インタ−ネットをはじめとする通信伝達網の複雑化、高速化と共に、通信伝達網で取り扱うデ−タの大容量化が著しい。
デ−タの大容量化が進むにつれ、迅速かつ多量の可変長デ−タフレ−ム等の処理が求められるようになってきた。
このため、大容量のデ−タをバッファメモリ等の一時記憶装置等に効率よく格納して、次の読み出しや転送に迅速に対応する技術の一つとして、チェ−ン方式により空領域を効率良く利用する記憶装置が用いられている。
また、一時記憶装置等への効率の良い書き込みや読み出しだけではなく、書き込みや読み出し時等におけるデ−タの誤り等についても対応できるよう、例えばデ−タ長の情報を有するデ−タとして、パリティチェック等によるデ−タの信頼性の確認等が行われている。
図7に示すのは、従来のチェ−ンメモリ構成の典型例である。チェ−ンメモリを構成する一つのデ−タブロック70は、デ−タ本体部72と、ポインタ74とからなる。ポインタ74は、デ−タブロック70に繋がる次のデ−タブロックが格納されているRAM等のアドレスを示すものである。ポインタ74が示すアドレスを順次たどることで、デ−タの断片であるデ−タブロックがチェ−ン方式に繋がる。また、ポインタ74と共にパリティビットを設ける場合もある。
また、チェ−ン方式の記憶装置においては、バルクデ−タを複数のデ−タブロックに分割して、デ−タブロックごとに記憶装置の異なるアドレス部分に別個に記憶する。
この場合、デ−タブロック間の連携は、ポインタ領域に記憶されている次のデ−タブロックのアドレスを示す情報に依存し、このデ−タが誤るとデ−タブロックが繋がらず、いわゆるハングアップやフリ−ズ等の現象が生じる場合もある。
このような、記憶装置やその管理方法の一例が、下記特許文献1等に開示されている。
特開2004−280333
しかし、デ−タの大容量化とともに、必要とされるデ−タの信頼性もさらに飛躍的に高まるところ、パリティチェックによるデ−タ長の長さのチェック等だけでは確実にデ−タ誤り等を検出することは困難であった。
例えば、誤りビット数が2ビット発生すると、1ビットのパリティチェックでは偶数か奇数かの判断となることから、異常を認識し得ないこととなる。また、ポインタの誤りにより正常に繋がらず、デ−タ全体が技術的に無意味となる場合でも、デ−タ読み出し段階で異常を検出することは困難であった。
本発明は、ポインタを含めた記憶装置に書き込み読み出しするデ−タ全体についての信頼性を飛躍的に向上させ、そのデ−タの異常を正確に、信頼性高く検出可能なチェ−ンメモリ及びチェ−ンメモリの管理方法を提供することを目的とする。
本発明にかかるチェ−ンメモリ装置の管理方法は、可変長デ−タを複数のデ−タブロックに分割し、デ−タブロックごとに次のデ−タブロックが記憶されるアドレスを有することにより繋いで記憶するチェ−ンメモリ装置において、チェ−ンメモリ装置の書き込み時に、デ−タブロックごとに可変長デ−タに対応する同一の可変長デ−タIDを付与し、デ−タブロックごとにデ−タブロックの繋ぎ順を示すシ−ケンス番号を付与する工程と、チェ−ンメモリ装置の読み出し時に、読み出したデ−タブロックから可変長デ−タIDとシ−ケンス番号とを検出する工程と、検出した可変長デ−タIDとシ−ケンス番号の適否を判断する工程とを備えることを特徴とする。
また、本発明にかかるチェ−ンメモリ装置の管理方法は、好ましくは検出した可変長デ−タIDの適否を判断する工程が、検出した可変長デ−タIDが、可変長デ−タとの対応で同一であるかどうかを判断する工程であり、検出したシ−ケンス番号の適否を判断する工程は、検出したシ−ケンス番号が分割された複数のデ−タブロックのチェ−ン順であるかどうかを判断する工程であることを特徴とする。
また、本発明にかかるチェ−ンメモリ装置の管理方法は、さらに好ましくはチェ−ンメモリ装置が、可変長デ−タを記憶するチェ−ンメモリとは別に管理用メモリを備え、複数の可変長デ−タを記憶する場合において、チェ−ンメモリ装置への書き込み時に、各可変長デ−タに対応して、可変長デ−タIDと、シ−ケンス番号と、最初のデ−タブロックが記憶されるアドレスとを管理用メモリに記憶する工程と、チェ−ンメモリ装置からの読み出し時に、管理用メモリを参照して、読み出す可変長デ−タの最初のデ−タブロックを読み出す工程とを有することを特徴とする。
また、本発明にかかるチェ−ンメモリ装置は、記録するバルクデ−タを、複数のデ−タブロックに分割し、チェ−ン方式で順次繋いで記憶部に記録する書き込み回路と、記憶部から複数のデ−タブロックを順次読み出す読み出し回路とを備えるチェ−ンメモリ装置であって、書き込み回路は、デ−タブロックに対して各々、次に繋がるデ−タブロックが記録される記憶部のアドレスを付与するポインタ付与部と、デ−タブロックごとにバルクデ−タに対応して同一の識別IDを付与するID付与部と、デ−タブロックごとにバルクデ−タの分割順に対応して所定の順序でシ−ケンス番号を付与するシ−ケンス番号付与部とを備え、読み出し回路は、記憶部から読み出したデ−タブロックのポインタを検出するポインタ検出部と、記憶部から読み出したデ−タブロックの同一の識別IDを検出するID検出部と、記憶部から読み出したデ−タブロックの所定の順序のシ−ケンス番号を検出するシ−ケンス番号検出部とを備えることを特徴とする。
また、本発明にかかるチェ−ンメモリ装置は、好ましくは記録するバルクデ−タに対応するデ−タブロックの可変長デ−タIDと、所望のバルクデ−タに対応する最初のデ−タブロックが記憶される記憶部のアドレスと、最初のデ−タブロックのシ−ケンス番号とを記憶する管理用メモリを備えることを特徴とする。
また、本発明にかかるチェ−ンメモリ装置は、さらに好ましくは書き込み回路が、デ−タブロックが記録されるアドレスに対応する記憶部が使用中であることを示す使用中判定番号を、デ−タブロックごとに付与する使用中判定番号付与部を備え、読み出し回路は、使用中判定番号を、読み出し時にデ−タブロックごとに検出する使用中判定番号検出部を備えることを特徴とする。
また、本発明にかかるチェ−ンメモリ装置は、さらに好ましくは記録するデ−タブロックの異常を知らせるアラ−ム出力部を備え、読み出し回路は、読み出した同一のバルクデ−タに対応するデ−タブロックの可変長IDが同一でない場合、又は読み出したデ−タブロックのシ−ケンス番号の順序が適当でない場合に、アラ−ム出力部にアラ−ムを出力させることを特徴とする。
本発明により、デ−タの異常を効率良く、また信頼性高く正確に検出できるチェ−ンメモリ装置及びチェ−ンメモリ装置の管理方法とできる。
以下、図面に基づいて実施形態について説明する。
図1(a)は、記憶装置の典型例として、バッファメモリ等に用いるRAM10のアドレス構造を模式的に示すものである。
図1において、RAM10はアドレス#1からアドレス#20まで、20個の領域10#1〜10#20を有する。各領域10#1〜10#20は、各々固有のアドレス#1〜#20を有し、各領域10#1〜10#20ごとに独立して所望のデ−タを格納し、また読み出しできる構成となる。
例えば、RAM10をチェ−ンメモリとして用いる場合、有効なデ−タのない空き領域が、10#1、10#6、10#19であれば、図1(b)に示す格納対象となる所望のバルクデ−タ11をアドレス#1、#6、#19に分割して格納することとなる。
バルクデ−タ11は、上述のように大容量化の一途をたどり、必然的に分割してRAM10に格納する機会が増加している。
図1(c)は、バルクデ−タ11をRAM10に分割して格納したチェ−ンメモリの各分割デ−タの繋ぎ状況を概念的に示すものである。
この場合、バルクデ−タ11を3つのデ−タブロック12a、12b、12cに分割して格納する。例えば、デ−タブロック12aは、RAM10のアドレス#1(領域10#1に対応)に格納する。
また、デ−タブロック12bは、RAM10のアドレス#6(領域10#6に対応)に格納する。また、デ−タブロック12cは、RAM10のアドレス#19(領域10#19に対応)に格納する。各領域10#1、10#6、10#19の記憶容量の合計は、バルクデ−タ11のデ−タ容量に等しいか、バルクデ−タ11のデ−タ容量より大きいものとなる。また、バルクデ−タ11は、JPEG方式等による圧縮デ−タであってもよい。
各デ−タブロック12a,12b,12cは、伝達したいデ−タの中身で構成される本体13a,13b,13cと、例えばパリティビット等の管理情報から構成される付帯部14a,14b,14cとからなる。
従って、デ−タブロック12aは、デ−タの本体13aと管理情報の付帯部14aとから構成される。また、デ−タブロック12bは、デ−タの本体13bと管理情報の付帯部14bとから構成される。また、デ−タブロック12cは、デ−タの本体13cと管理情報の付帯部14cとから構成される。
付帯部14a,14b,14cが有する管理情報は、例えば1ビットで構成されるパリティビットの他に、例えば1バイトで構成されるポインタがある。これについて、図2及び図3を用いてさらに詳細に説明する。
図2は、デ−タブロック20の構成の一例について模式的に示すものである。この図において、21は、RAM10に格納するバルクデ−タ11ごとに分別する可変長デ−タIDである。
また、22はデ−タの本体であり、23は、デ−タブロックの通し番号を示すシ−ケンス番号である。また、24は、デ−タブロック20の次に繋がるデ−タブロックが格納されるRAM10のアドレスを示すポインタである。
デ−タブロック20は、典型的には5バイト相当のメモリ領域とすることができる。また、可変長デ−タID21は、例えば1バイト相当のメモリ領域とできる。
また、デ−タ本体22は、例えば約3バイトの相当のメモリ領域とできる。また、シ−ケンス番号23は、例えば1バイト相当のメモリ領域とできる。また、シ−ケンス番号23は、例えば00〜09までの通し番号を、チェ−ンの順に順次有することとしてもよい。
また、ポインタ24は、1バイト相当のメモリ領域とできる。ポインタは、チェ−ンメモリには必須のメモリ領域であり、次に繋がるデ−タブロックの先頭番地を格納する。
デ−タを読み出す場合には、ポインタ24を参照することで、いわばバルクデ−タ11(全体デ−タ)の断片であるデ−タブロック20が順次繋がり、数珠つなぎになることで、もとのバルクデ−タ11に対応する全体デ−タとして復元され読み出し可能となる。
上述のようにデ−タブロック20は、例えば5バイト相当のデ−タであり、デ−タ本体22とは別に付帯部14a,14b,14cを有する。付帯部14a,14b,14cは、RAM10に格納される時に付与される可変長デ−タID21、シ−ケンス番号23、ポインタ24から構成される。
これにより、デ−タブロック20の読み出し時に、可変長デ−タID21を検出して確認すれば、読み出したデ−タが正しいデ−タであるのかどうかが判断可能となる。
例えば、ポインタ24の記憶デ−タに誤りがあり所望のバルクデ−タ11とは無関係のアドレス(例えば#5)のデ−タが読み出された場合には、可変長デ−タID21が異なることとなるので、誤りを早期にかつ確実に検出可能となる。
例えば、ポインタ24の記憶デ−タに誤りがあり所望のバルクデ−タ11とは無関係のアドレス(例えば#5)のデ−タが読み出された場合には、可変長デ−タID21が異なることとなるので、誤りを早期にかつ確実に検出可能となる。
また、デ−タブロック20の読み出し時に、シ−ケンス番号23を検出して確認すれば、読み出したデ−タが正しいデ−タであるのかどうかが判断可能となる。例えば、ポインタ24の記憶デ−タに誤りがあり所望のバルクデ−タ11とは無関係のアドレスのデ−タ(例えば#5)が読み出された場合には、シ−ケンス番号23が連続する値ではなくなり、誤りを早期にかつ確実に検出可能となる。
なお、可変長デ−タID21は、デ−タブロック20の先頭又は、先頭と共にデ−タ本体22の後ろ側に、ポインタ24やシ−ケンス番号23に近接して設けることとしてもよい。
図3は、デ−タブロックの他の構成例を示すものである。この図において、デ−タブロック30は、先頭から順に、可変長デ−タID31とデ−タ本体32と使用中判定番号35とシ−ケンス番号33とポインタ34とを有する。
デ−タ本体32は、記憶したいバルクデ−タ11に対して所望の分割をして構成されるデ−タの中身である。
デ−タブロック30は、デ−タブロック20の構成に加えて、さらに使用中判定番号35を有する。
使用中判定番号35は、デ−タブロック30が格納されるRAM10の領域(例えば10#19等)が、使用中であることを示すフラグである。使用中判定番号35に立てるフラグとして、例えばデ−タ本体32が空き領域であれば“0”とし、デ−タ本体32が使用中(デ−タ満状態)であれば“1”としてもよい。
デ−タブロック30は、使用中判定番号35を有するので、読み出される際にチェックできる項目がさらに増えることとなり好ましい。
例えば、所望のバルクデ−タ11に対応するデ−タブロック30を順次読み出ししている時には、使用中判定番号35には、使用中である“1”のフラグが立てられている状態が正常である。
しかし、何らかの異常発生により、使用中判定番号35が空き状態のフラグ“0”であるデ−タブロックが読み出された場合には、フラグをモニタ−することで迅速に異常を検出できることとなる。
また、読み出しされた後等の不要なデ−タブロックの使用中判定番号35には、順次空き状態を示す“0”を付与することで、空き領域のチェ−ンメモリを作成することとしてもよい。使用中判定番号35は、例えば1ビット相当の記憶領域とすることができるが、これに限られず任意のデ−タ量としてもよい。
次に、デ−タブロック20,30をRAM10に格納し、読み出しするチェ−ンメモリ装置の典型例について図4を用いて説明する。
図4は、チェ−ンメモリ装置40の構成ブロックを概念的に示すものである。
チェ−ンメモリ装置40は、RAM10に所望のデ−タを書き込み(格納)するための書き込み回路41を備える。また、チェ−ンメモリ装置40は、RAM10から所望のデ−タを読み出しするための読み出し回路49を備える。
書き込み回路41は、デ−タブロック30に可変長デ−タID31を付与するID付与部42を備える。また、書き込み回路41は、デ−タブロック30にシ−ケンス番号33を付与するシ−ケンス番号付与部43を備える。
また、書き込み回路41は、デ−タブロック30にポインタ34を付与するポインタ付与部44を備える。また、書き込み回路41は、デ−タブロック30の使用中判定番号35に使用中判定番号(フラグ)を付与する使用中判定番号付与部45を備える。
また、書き込み回路41は、パリティ付与部46を備えることで、読み出し回路49での読み出し時にパリティ長のチェックも行えるよう、デ−タブロック30にパリティビットを設けて構成し、パリティ長を書き込むこととしてもよい。例えば、パリティビットは1ビットとしてデ−タブロック30のポインタ34の後ろ領域に有することとしてもよい。
また、書き込み回路41は、不図示の書き込み回路用CPU等により上述の処理を行える構成としてもよい。
読み出し回路49は、デ−タブロック30の読み出し時に可変長デ−タID31を検出するID検出部4aを備える。また、読み出し回路49は、デ−タブロック30の読み出し時にシ−ケンス番号33を検出するシ−ケンス番号検出部4bを備える。
また、読み出し回路49は、デ−タブロック30の読み出し時にポインタ34を検出するポインタ検出部4cを備える。ポインタ検出部4cで検出する、次のデ−タブロックのアドレスデ−タにより、読み出し回路49は、RAM10の中に分割して格納されるデ−タの断片(デ−タブロック)を順次繋げ、所望のバルクデ−タを復元して読み出すことが可能となる。
また、読み出し回路49は、デ−タブロック30の使用中判定番号35のフラグを検出する使用中判定番号検出部4dを備える。
また、読み出し回路49は、パリティ検出部4eを備えることで、デ−タブロック30の読み出し時にパリティ長のチェックも行えることとできる。
また、読み出し回路49は、不図示の読み出し回路用CPU等により上述の処理を行える構成としてもよい。
読み出し回路49は、書き込み回路41により付与された可変長デ−タID31や使用中判定番号35やシ−ケンス番号33をデ−タブロック30の読み出しと共に検出し、所望の値であるかどうかや所望の番号順序であるかどうかを確認する。これにより、デ−タブロックの異常が迅速に検出できるだけでなく、より高い確度で安定した異常の検出が可能となる。
また、読み出し回路49は、上述の異常を検知した場合には、アラ−ム出力部4fを介してオペレ−タ等に注意喚起することとできる。アラ−ム出力部4fは、例えば不図示の表示画面やモニタ等への警告表示をすることとできる。また、アラ−ム出力部4fは、例えば不図示の警報装置により警告音を発報することとしてもよい。
チェ−ンメモリ装置40は、RAM10とは別に、管理用メモリ47を備える。管理用メモリ47は、RAMを用いて構成してもよい。
管理用メモリ47には、可変長デ−タテ−ブル48が記録される。可変長デ−タテ−ブル48について、図5を用いて以下に詳述する。
図5は、可変長デ−タテ−ブル48の一例を示すものである。可変長デ−タテ−ブル48は、RAM10に格納されているデ−タについて、そのデ−タごとに可変長デ−タID51と最初のデ−タブロックポインタ52とそのシ−ケンス番号53と使用中判定番号54とを関連付けた一覧表である。
図5において、可変長デ−タID51は、1〜MまでのM種類となる。すなわち、M種類のバルクデ−タ11が、RAM10に格納されていることとなる。可変長デ−タIDは、ID付与部42により、バルクデ−タ11のカテゴリ−ごと、用途ごと、種類ごと等に個別に付与される。
そして、その可変長デ−タID51に対応するバルクデ−タ11の最初のデ−タブロックが格納されるアドレス(例えば、#1)が、ポインタ付与部44から与えられると共に、可変長デ−タテ−ブル48の最初のデ−タブロックポインタ52に記録される。
また、最初のデ−タブロックに対してシ−ケンス番号付与部43から与えられたシ−ケンス番号が、可変長デ−タテ−ブル48のシ−ケンス番号53に記録される。
また、デ−タが格納されるRAM10の各領域が使用中(又は満状態)であることを示す使用中判定番号35は、使用中判定番号付与部45によりフラグが“1”とされるとともに可変長デ−タテ−ブル48の使用中判定番号54にフラグ“1”が記録される。
例えば、新たな書き込みデ−タが入力される場合、書き込み回路41は、可変長デ−タテ−ブル48の使用中判定番号54が“0”とされるチェ−ンを用いてRAM10に順次書き込むこととしてもよい。換言すれば、可変長デ−タテ−ブル47の使用中判定番号54が“0”とフラグ設定されるチェ−ンは、RAM10のいわゆる空き領域のチェ−ンとなる。
また、使用中判定番号54が“0”とフラグ設定されたRAM領域を空き領域として、そのアドレスのみ順次チェ−ン化した空き領域テ−ブルを別途作成してもよい。
なお、管理用メモリ47は、RAM10の一部として設けてもよく、また書き込み回路41内や読み出し回路49内に設けてもよい。
次に、チェ−ンメモリ装置40の動作について、図6の動作フロ−を用いて説明する。
(ステップS61)書き込み回路41は、RAM10へのデ−タ書き込み指示があるかどうかを判断する。書き込み指示があれば、ステップ62へと進み、書き込み指示がなければ、ステップ67へと進む。
(ステップS62)書き込み回路41のID付与部42は、可変長デ−タIDを生成し、書き込みデ−タに付与する。ID付与部42は、可変長デ−タIDを書き込み対象となるバルクデ−タの用途や目的に対応して任意に付与してもよい。
また、予め書き込むデ−タの種類等と可変長デ−タIDとが定義付けされたテ−ブルを別途書き込み回路41等に備えておき、このテ−ブルを参照することで、書き込み対象となるデ−タに該当する可変長デ−タIDを、テ−ブルから選択して付与してもよい。ID番号は、Mビットの整数としてもよい。
(ステップS63)ポインタ付与部44は、次に繋がるデ−タブロックのアドレスを生成し、付与する。ポインタ付与部44は、RAM10の空き領域から書き込もうとするデ−タブロックの容量に対応する領域を適宜選択し、そのアドレスを付与することとしてもよい。
(ステップS64)シ−ケンス番号付与部43は、所望の数のデ−タブロックに分割された各デ−タブロックに対し、順次、通し番号等を付与する。シ−ケンス番号付与部43は、RAM10に格納されるすべてのデ−タブロックに対する通し番号を付与してもよい。また、シ−ケンス番号付与部43は、RAMに格納されるデ−タブロックのうち、現在書き込もうとするバルクデ−タを構成する各デ−タブロックについて、例えば“00“〜“09“等の通し番号を付与してもよい。
また、シ−ケンス番号は、Nビットの整数(N>1)としてもよく、1つのデ−タブロックをRAM10に書き込むごとに、例えば+1してもよい。シ−ケンス番号がオ−バ−フロ−した場合には、0に戻り新たにカウントを開始してもよい。
(ステップ65)使用中判定番号付与部45は、書き込み対象となるデ−タブロック30の使用中判定番号35にフラグ“1”を設定する。この設定により、使用中判定番号検出部4dは、このデ−タブロック30が格納されるRAM10の対応領域は、有効なデ−タの格納領域として使用中であると認識できる。
一方、デ−タブロックに対応するRAM10の領域に何らかのデ−タが格納されていたとしても、使用中判定番号35のフラグが“0”であれば、そのデ−タブロックに対応するRAM10の領域は、有効なデ−タではなく空き領域として使用可能であることを意味する。
(ステップ66)書き込み回路41は、管理用メモリ47にアクセスし、可変長デ−タテ−ブル47に、管理上必要なデ−タを書き込む。書き込み回路41は、管理用メモリ47へのアクセスと共に、あるいはそれに連続してRAM10にデ−タブロックを順次書き込むこととしてもよい。
書き込み回路41が、可変長デ−タテ−ブル47に書き込むデ−タは、典型的には、可変長デ−タID51や最初のデ−タブロックポインタ52やシ−ケンス番号53や使用中判定番号54であるが、これに以外のデ−タを記録しても良くこれに限られることはない。
(ステップ67)読み出し回路49は、上位の制御演算装置(中央CPU)等からの読み出し指示があるかないかを判断する。RAM10のデ−タ読み出し指示があれば、ステップ68へと進みRAM10のデ−タ読み出し指示がなければステップ61へと戻る。
(ステップ68)読み出し回路49は、管理用メモリ47の可変長デ−タテ−ブル47を参照し、読み出し対象となるバルクデ−タの可変長デ−タID51を確認する。また、対応する最初のデ−タブロックが格納されているRAM10のアドレスを、最初のデ−タブロックポインタ52から読み出す。また、対応する最初のデ−タブロックのシ−ケンス番号53や使用中判定番号54のフラグを確認する。
この動作により、読み出し回路49は、RAM10から例えばシリアル接続、バス接続等を介して読み出し対象となるデ−タブロックを順次読み出し可能となる。
(ステップ69)ポインタ検出部4cは、読み出し回路49がRAM10から順次読み出す各デ−タブロックから、次のデ−タブロックが格納されているアドレスを示すポインタ34を順次検出する。読み出し回路49は、検出したアドレスを手掛かりとして次のデ−タブロックをRAM10から読み出すこととなる。
(ステップ6a)使用中判定番号検出部4dは、読み出したデ−タブロックの使用中判定番号34のフラグが“1”であるかどうかを検出する。読み出すデ−タブロックは、有用なデ−タとして使用中である“1”のフラグが立っているのが正常となる。
(ステップ6b)ID検出部4aは、読み出し回路49が読み出したデ−タブロックの可変長デ−タID31を検出する。可変長デ−タID31は、RAM10に格納されているバルクデ−タごとに固有の値として、ID付与部42から与えられる。従って、読み出し対象となるデ−タに対応する各デ−タブロック間では、同一のIDとなるのが正常である。
(ステップ6c)シ−ケンス番号検出部4bは、読み出し回路49が読み出したデ−タブロックのシ−ケンス番号33を検出する。シ−ケンス番号33は、シ−ケンス番号付与部43によりデ−タブロックの通し番号としてデ−タブロックごとに固有の値が与えられる。従って、シ−ケンス番号33は、例えば1,2,3,・・という具合にチェ−ンの順に従って順次所望の配列となるのが正常である。典型的には、シ−ケンス番号検出部4bは、読み出した複数のデ−タブロックの間で、シ−ケンス番号が順次+1の通し番号(連番)の関係となっているかどうかを確認する。
(ステップ6d)読み出し回路49は、図示しない読み出し回路用CPU等により、上述のステップS6a〜S6cで検出した番号等が正常であるかどうかを判断する。使用中判定番号35が異常な場合とは、典型的には空き領域ではないのに、読み出したデ−タブロックのフラグが“0”となっている場合である。
可変長デ−タID31が異常な場合とは、典型的には読み出し対象となるバルクデ−タに対応する同一のIDを、読み出したデ−タブロックが有していない場合である。
シ−ケンス番号33が異常な場合とは、典型的には順次読み出したデ−タブロックのシ−ケンス番号が、通し番号として所望の順序の配列となっていない場合である。
読み出し回路49は、検出値等に異常があればステップ6eへと進み、検出値等に異常がなければステップ6fに進む。
(ステップ6e)読み出し回路49は、ステップ6dで異常があればアラ−ム出力部4fにより警告音の発報等のアラ−ム動作を行う。また、可変長デ−タテ−ブル47の対応する使用中判定番号54を、フラグ“0”に設定する。
(ステップ6f)読み出し回路49は、読み出し対象のバルクデ−タに対応する全てのデ−タブロックをRAM10から読み出せば、読み出し完了となる。
上述のステップ6eにおいてアラ−ムの発報としたがこれに限られず、例えば異常のあるデ−タに対応する全デ−タブロックの使用中判定番号35のフラグを“0”とする動作処理としてもよい。これにより、ポインタの誤り等により誤ったチェ−ンとなったデ−タに対応するRAM10の記憶領域を、空き領域として新たなデ−タの記録を行うこととしてもよい。
ポインタ等の誤りにより繋がらなくなったデ−タは、最早デ−タの断片であって有用でない場合も多い。このような有用でないデ−タが格納される領域についてRAM10は、フラグ“0”により空き領域と認識可能なので、RAM10の記憶容量を高効率で利用可能とできる。
また、RAM10は、例えば可変長デ−タを5バイトずつの任意の数のデ−タブロックとして任意の領域に格納できることとしてもよい。また、5バイトに限られず任意の数バイト又は、領域ごとの可変バイトのデ−タブロックとしてデ−タを格納してもよい。例えば、可変長デ−タID21,31やシ−ケンス番号23,33等の付帯部14に2バイト要する場合には付帯部14を減算し、本体13が3バイト相当ずつのデ−タブロックとしてもよい。
また、シ−ケンス番号33は、可変長デ−タIDごとに個別の通し番号としてもよいし、RAM10に格納されている全デ−タブロックについて一連の通し番号としてもよい。
また、シ−ケンス番号33は、可変長デ−タIDごとに個別の通し番号としてもよいし、RAM10に格納されている全デ−タブロックについて一連の通し番号としてもよい。
また、チェ−ンメモリ装置40は、RAM10の空き領域のポインタのみ順次チェ−ンで繋いだテ−ブルを格納する記憶装置を別途備えても良い。そして、ステップ6dで異常のあるデ−タに対応するデ−タブロックを、空き領域ポインタのチェ−ンメモリに加える動作処理としてもよい。
チェ−ンメモリ装置40は、チェ−ンメモリのデ−タ読み出し段階で早期に異常検出可能であるので、デ−タ異常による障害への対応を早期に行え、損害を最小限に抑えることが可能となる。また、異常の発生したデ−タを適確に検出できるので、対応するデ−タが格納されるRAM10の領域を空き領域とし、記憶領域の減少を抑止可能となる。
この実施形態にかかるチェ−ンメモリ装置40は、その構成と動作を自明な範囲で適宜変更して用いてもよい。
本発明は、多量のデ−タを送受信等する際に用いるバッファメモリや各種記憶装置、チェ−ン方式の各種メモリ装置に適用可能である。
10・・RAM、11・・バルクデ−タ、12・・デ−タブロック、13・・本体、14・・付帯部、21・・可変長デ−タID、23・・シ−ケンス番号、24・・ポインタ、35・・使用中判定番号
Claims (7)
- 可変長デ−タを複数のデ−タブロックに分割し、前記デ−タブロックごとに次のデ−タブロックが記憶されるアドレスを有することにより繋いで記憶するチェ−ンメモリ装置において、
前記チェ−ンメモリ装置の書き込み時に、前記デ−タブロックごとに可変長デ−タに対応する同一の可変長デ−タIDを付与し、前記デ−タブロックごとに前記デ−タブロックの繋ぎ順を示すシ−ケンス番号を付与する工程と、
前記チェ−ンメモリ装置の読み出し時に、読み出した前記デ−タブロックから前記可変長デ−タIDと前記シ−ケンス番号とを検出する工程と、
前記検出した可変長デ−タIDと前記シ−ケンス番号の適否を判断する工程と
を備えることを特徴とするチェ−ンメモリ装置の管理方法。 - 請求項1に記載のチェ−ンメモリ装置の管理方法において、
前記検出した可変長デ−タIDの適否を判断する工程は、前記検出した可変長デ−タIDが、可変長デ−タとの対応で同一であるかどうかを判断する工程であり、
前記検出したシ−ケンス番号の適否を判断する工程は、前記検出したシ−ケンス番号が前記分割された複数のデ−タブロックのチェ−ン順であるかどうかを判断する工程である
ことを特徴とするチェ−ンメモリ装置の管理方法。 - 請求項1又は請求項2に記載のチェ−ンメモリ装置の管理方法において、
前記チェ−ンメモリ装置は、可変長デ−タを記憶するチェ−ンメモリとは別に管理用メモリを備え、
複数の前記可変長デ−タを記憶する場合において、
前記チェ−ンメモリ装置への書き込み時に、各可変長デ−タに対応して、
前記可変長デ−タIDと、前記シ−ケンス番号と、最初の前記デ−タブロックが記憶されるアドレスとを前記管理用メモリに記憶する工程と、
前記チェ−ンメモリ装置からの読み出し時に、前記管理用メモリを参照して、読み出す可変長デ−タの最初のデ−タブロックを読み出す工程と
を有することを特徴とするチェ−ンメモリ装置の管理方法。 - バルクデ−タを、複数のデ−タブロックに分割し、チェ−ン方式で順次繋いで記憶部に記録する書き込み回路と、前記記憶部から前記複数のデ−タブロックを順次読み出す読み出し回路とを備えるチェ−ンメモリ装置であって、
前記書き込み回路は、
前記デ−タブロックに対して各々、次に繋がるデ−タブロックが記録される記憶部のアドレスを付与するポインタ付与部と、
前記デ−タブロックごとに前記バルクデ−タに対応して同一の識別IDを付与するID付与部と、
前記デ−タブロックごとに前記バルクデ−タの分割順に対応して所定の順序でシ−ケンス番号を付与するシ−ケンス番号付与部とを備え、
前記読み出し回路は、
前記記憶部から読み出した前記デ−タブロックの前記ポインタを検出するポインタ検出部と、
前記記憶部から読み出した前記デ−タブロックの前記同一の識別IDを検出するID検出部と、
前記記憶部から読み出した前記デ−タブロックの所定の順序の前記シ−ケンス番号を検出するシ−ケンス番号検出部とを備える
ことを特徴とするチェ−ンメモリ装置。 - 請求項4に記載のチェ−ンメモリ装置において、
前記記録するバルクデ−タに対応する前記デ−タブロックの可変長デ−タIDと、
前記所望のバルクデ−タに対応する最初の前記デ−タブロックが記憶される記憶部のアドレスと、
前記最初のデ−タブロックのシ−ケンス番号と
を記憶する管理用メモリを備える
ことを特徴とするチェ−ンメモリ装置。 - 請求項4又は請求項5に記載のチェ−ンメモリ装置において、
前記書き込み回路は、
前記デ−タブロックが記録されるアドレスに対応する記憶部が使用中であることを示す使用中判定番号を、前記デ−タブロックごとに付与する使用中判定番号付与部を備え、
前記読み出し回路は、
前記使用中判定番号を、読み出し時に前記デ−タブロックごとに検出する使用中判定番号検出部を備える
ことを特徴とするチェ−ンメモリ装置。 - 請求項6に記載のチェ−ンメモリ装置において、
前記記録するデ−タブロックの異常を知らせるアラ−ム出力部を備え、
前記読み出し回路は、
前記読み出した同一のバルクデ−タに対応するデ−タブロックの可変長IDが同一でない場合、又は
前記読み出したデ−タブロックのシ−ケンス番号の順序が適当でない場合に、
前記アラ−ム出力部にアラ−ムを出力させる
ことを特徴とするチェ−ンメモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007205386A JP2009042895A (ja) | 2007-08-07 | 2007-08-07 | チェ−ンメモリ装置及びその管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007205386A JP2009042895A (ja) | 2007-08-07 | 2007-08-07 | チェ−ンメモリ装置及びその管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009042895A true JP2009042895A (ja) | 2009-02-26 |
Family
ID=40443599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007205386A Withdrawn JP2009042895A (ja) | 2007-08-07 | 2007-08-07 | チェ−ンメモリ装置及びその管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009042895A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708020A (zh) * | 2012-05-09 | 2012-10-03 | 华为技术有限公司 | 一种用于检测存储数据异常的方法和装置 |
CN103207837A (zh) * | 2012-11-15 | 2013-07-17 | 无锡成电科大科技发展有限公司 | 一种多媒体数据的存储方法 |
JP2013210749A (ja) * | 2012-03-30 | 2013-10-10 | Fujitsu Ltd | プログラム、制御方法、記憶装置およびシステム |
-
2007
- 2007-08-07 JP JP2007205386A patent/JP2009042895A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013210749A (ja) * | 2012-03-30 | 2013-10-10 | Fujitsu Ltd | プログラム、制御方法、記憶装置およびシステム |
CN102708020A (zh) * | 2012-05-09 | 2012-10-03 | 华为技术有限公司 | 一种用于检测存储数据异常的方法和装置 |
CN103207837A (zh) * | 2012-11-15 | 2013-07-17 | 无锡成电科大科技发展有限公司 | 一种多媒体数据的存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7856528B1 (en) | Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system | |
EP1577774A2 (en) | Semiconductor storage data striping | |
KR20090028507A (ko) | 비휘발성 메모리 에러 보정 시스템 및 방법 | |
JPWO2009107213A1 (ja) | ストレージ装置、ストレージ制御装置、データ転送集積回路、および、ストレージ制御方法 | |
JP2009042895A (ja) | チェ−ンメモリ装置及びその管理方法 | |
JP2010092107A (ja) | 故障情報監視装置及び故障情報監視方法 | |
CN110780815A (zh) | 日志的删除方法及装置 | |
JP4668556B2 (ja) | タスク管理システム | |
JP3222083B2 (ja) | 共有メモリ制御装置 | |
CN107766199B (zh) | 追踪信息编码装置及其编码方法与电脑可读取式媒体 | |
JPH1097471A (ja) | メモリデータのエラー訂正方法、及びエラー訂正方式 | |
JP3498702B2 (ja) | コンピュータシステム及びそれに用いるトレース情報制御方法 | |
KR100834893B1 (ko) | 기억 장치 및 기억 장치의 작동 방법 | |
JP5446931B2 (ja) | 誤り検出訂正装置及びメモリ装置 | |
JP2759824B2 (ja) | データ記憶装置のアドレス誤り検出方法 | |
CN112650645A (zh) | 堆内存使用情况监测方法、装置和5g基站设备 | |
CN110716939B (zh) | 数据管理方法、电子设备、系统及介质 | |
JP6901171B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN101178686A (zh) | 信息处理方法及系统、bios及操作系统 | |
JP2006323434A (ja) | データ処理装置及びそのメモリ訂正方法 | |
JP6805838B2 (ja) | ディスク管理システム、ディスク管理方法、および、ディスク管理プログラム | |
CN114581808A (zh) | 图片一致性检测方法、装置、存储设备及可读存储介质 | |
JP3288345B2 (ja) | バッファ制御装置、バッファ評価方法、バッファ評価装置、プログラムを記録した記録媒体、中央処理装置、情報処理装置 | |
JPH01112600A (ja) | 記憶素子の寿命判定装置 | |
JP2002208297A (ja) | Ram及びバスの検査方法、記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101102 |