JP2004334295A - Storage device - Google Patents
Storage device Download PDFInfo
- Publication number
- JP2004334295A JP2004334295A JP2003125361A JP2003125361A JP2004334295A JP 2004334295 A JP2004334295 A JP 2004334295A JP 2003125361 A JP2003125361 A JP 2003125361A JP 2003125361 A JP2003125361 A JP 2003125361A JP 2004334295 A JP2004334295 A JP 2004334295A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- area
- storage
- storage device
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 83
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 101150012579 ADSL gene Proteins 0.000 description 4
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 4
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- AGOYDEPGAOXOCK-KCBOHYOISA-N clarithromycin Chemical compound O([C@@H]1[C@@H](C)C(=O)O[C@@H]([C@@]([C@H](O)[C@@H](C)C(=O)[C@H](C)C[C@](C)([C@H](O[C@H]2[C@@H]([C@H](C[C@@H](C)O2)N(C)C)O)[C@H]1C)OC)(C)O)CC)[C@H]1C[C@@](C)(OC)[C@@H](O)[C@H](C)O1 AGOYDEPGAOXOCK-KCBOHYOISA-N 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Input (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、記憶装置に関し、特に、記憶すべき値とその値が連続する個数とが既知のデータに対する記憶動作の高速化技術に関する。
【0002】
【従来の技術】
従来、ファクシミリ等においては、画像をスキャンすることにより、白または黒の画素を表現する2値データからなるシリアルデータを生成しており、このシリアルデータを伝送する場合、ランレングス符号化によりシリアルデータを圧縮している。一方、この種のシリアルデータを記憶するための記憶装置として、パラレルデータに展開して記憶するものがある(特許文献1参照)。この従来技術によれば、シリアルデータに含まれる各データが順次的に入力されて別々のメモリアレイに書き込まれるが、最後に入力されるデータを記憶するメモリアレイの書き込み動作が、それよりも前に入力されるデータを記憶するメモリアレイよりも高速化されている。これにより、データセットアップ時間を短縮し、全体として書き込み動作を高速化している。
【0003】
【特許文献1】
特開平11−328948号公報(段落番号0012、図2)
【0004】
【発明が解決しようとする課題】
しかしながら、上述の従来技術によれば、シリアルデータに含まれる各データを個々にラッチしてメモリアレイに個別的に書き込むため、同じ値のデータが連続する場合であっても、各データを個々にラッチして同様の書き込み動作を繰り返す必要がある。従って、ランレングスの大きなシリアルデータを記憶する場合、その書き込み動作を有効に高速化することができないという問題がある。
この発明は、上記事情に鑑みてなされたもので、ランレングス符号化されたシリアルデータの書き込み動作を高速化することが可能な記憶装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記課題を解決するため、この発明は以下の構成を有する。
即ち、この発明に係る記憶装置は、第1のデータが共通に与えられ、前記第1のデータ所定個数分のデータ幅に対応して設けられた複数の記憶領域を有する記憶手段と、前記第1のデータの連続数を表す第2のデータを入力し、該第2のデータに基づき、前記複数の記憶領域の中から前記第1のデータが記憶されるべき1又は2以上の記憶領域を同時的に選択する記憶領域選択手段と、を備えたことを特徴とする。
この構成によれば、複数の記憶領域のうち、同値の複数の第1のデータが記憶されるべき記憶領域が並列的に選択される。これにより、同値の複数の第1のデータがパラレルデータに展開されて1回の書き込み動作でメモリアレイ80に記憶され、従って書き込み動作が高速化される。
【0006】
上記記憶装置において、例えば、前記記憶領域選択手段が、前記第1のデータを記憶すべき領域の始点を与える第1のアドレスを格納する第1のレジスタと、前記第1のレジスタに格納された第1のアドレスに前記第2のデータの値を加算する加算器と、前記第1のデータを記憶すべき領域の終点を与える第2のアドレスとして前記加算器の加算結果を格納すると共に該加算結果を前記第1のレジスタに与える第2のレジスタと、前記第1および第2のレジスタの内容に基づき前記複数の記憶領域を書き込み可能な状態に選択的に制御する制御部と、を備えたことを特徴とする。
また、例えば、前記制御部が、前記データ幅に対応した単位領域と前記第1および第2のアドレスとの関係に基づき、書き込み可能な状態に制御すべき記憶領域を選択することを特徴とする。
【0007】
また、例えば、前記制御部が、前記第1および第2のアドレスが、前記単位領域のうち、現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレスから第2のアドレスまでの各アドレスで指定される記憶領域を同時的に選択することを特徴とする。
また、例えば、前記制御部が、前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の内部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の外部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレス以降の各アドレスで指定される記憶領域を同時的に選択することを特徴とする。
【0008】
また、例えば、前記制御部が、前記第1および第2のアドレスが、前記単位領域のうちの現在書き込みの対象となっている領域の外部を指定するものである場合、前記複数の記憶領域の全てを同時的に選択することを特徴とする。
また、例えば、前記制御部が、前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の外部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第2のアドレス以前の各アドレスで指定される記憶領域を同時的に選択することを特徴とする。
【0009】
【発明の実施の形態】
以下、この発明の実施形態に係る記憶装置を説明する。
図1に、この発明の実施形態に係る記憶装置の構成を示す。この記憶装置は、画像データであるシリアルデータDSを8個の画素データ(DP1〜DP8)からなる所定データ幅のパラレルデータDPに展開して記憶するものでる。この実施形態では、入力されるシリアルデータDSは、予めランレングス符号化され、図2(a)に示すように、画素データDGと画素データの連続数(ランレングス)を表すランレングスデータRLとに変換されて外部から入力される。また、各画素データDGは、16ビットのデータであるものとする。
【0010】
図1において、符号10は加算器、符号20,30はレジスタ、符号40はコンパレータ、符号50はライトコントローラ、符号60はカウンタ、符号70はマルチプレクサ、符号80はメモリアレイを示す。このうち、加算器10、レジスタ20,30、コンパレータ40、ライトコントローラ50、カウンタ60は、記憶領域選択手段として機能するものであり、上述のランレングスデータRLに基づき、複数のメモリブロック81〜88の中から画素データが記憶されるべき1又は2以上のメモリブロックを同時的に選択する。また、メモリアレイ80は、パラレルデータDPのデータ幅に対応して設けられた8個のメモリブロック81〜88を有する記憶手段であり、各メモリブロックには画素データDGが共通に与えられる。
【0011】
図2(a)に、画素データDGとランレングスデータRLとの関係を示す。同図では、画素データDGの値「5」、「8」、「0」、「4」、「2」、「0」、「1」、「2」に対して、ランレングスデータRLの値「1」、「1」、「8」、「1」、「1」、「2」、「1」、「1」がそれぞれ対応している。この例でによれば、ランレングス符号化前のシリアルデータは、例えば画素データ「5」、「8」がそれぞれ1個発生した後に、画素データ「0」が8個連続したものであることを表している。このランレングス符号化により、シリアルデータDSに含まれる連続した同値の画素データが1個の画素データDGに置き換えられ、これによりデータ量を削減している。
【0012】
説明を図1に戻す。上述のランレングスデータRLは加算器10の一方の入力部に与えられ、この加算器10の他方の入力部には後述のレジスタ30の出力信号であるアドレスADSが与えられる。加算器10の出力信号はレジスタ20に与えられ、このレジスタ20の出力信号であるアドレス信号ADEはコンパレータ40とレジスタ30に与えられ、このアドレス信号ADEの下位3ビットからなるアドレスADELはライトコントローラ50に与えられる。レジスタ30の出力信号であるアドレス信号ADSは、上述の加算器10とコンパレータ40とカウンタ60とに与えられ、このアドレス信号ADSの下位3ビットからなるアドレスADSLはライトコントローラ50に与えられる。図2(b)に示すように、アドレスADE,ADSのそれぞれは、「A0」〜「A12」の13ビットから構成され、そのうち、下位3ビットの「A0」〜「A2」には8つのメモリブロック81〜88のいずれかに対応したデータが現れる。
【0013】
カウンタ60の出力信号であるアドレスADCはコンパレータ40とマルチプレクサ70の一方の入力部に与えられ、このマルチプレクサ70の他方の入力部にはリード用のアドレスADDRが与えられる。マルチプレクサ70の出力信号であるアドレスADはメモリアレイ80を構成するメモリブロック81〜88に共通に与えられる。コンパレータ40の出力信号Jはライトコントローラ50に与えられ、このライトコントローラ50の出力信号であるライトコントロール信号SWEはメモリアレイ80に与えられる。また、ライトコントローラ50から上述のカウンタ60にはカウントアップ用のトリガー信号Tが与えられる。
【0014】
メモリアレイ80を構成する各メモリブロックは、n個(nは任意の自然数)分の画素データの記憶領域を有している。この実施形態では、1つの画素データの記憶領域を「セル」と定義する。1個のセルは1つの画素データ(16ビット)を記憶する。図3に示す例では、1個のメモリブロック81は、n個のセルM(1,1)〜M(1,n)から構成される。同様に他のメモリブロック82〜88についてもn個のセルから構成され、メモリアレイ80の全体では、セルM(1,1)〜M(8,n)が8行n列のマトリックス状に配列されている。これら8個のメモリブロック81〜88は、パラレルデータDPのデータ幅、即ち1つのパラレルデータに含まれる画素データに対応して設けられたものである。
【0015】
また、8行×n列のマトリックス状に配列されたセルM(1,1)〜M(8,n)には、列方向に歩進するアドレスが割り付けられており、また全列にわたってアドレスが連続したものとなっている。即ち、図3において、第1列目のセルM(1,1)には先頭アドレスが割り付けられており、以下、第1列目のセル(2,1)、M(3,1)、M(4,1)、…、M(8,1)に対して「1」づつ歩進するアドレスが割り付けられている。また、第2列目の先頭のセルM(1,2)には、第1列目の最後のセルM(8,1)のアドレスに連続するアドレスが割り付けられている。以下同様に、第3列目から第n列目の各セルには歩進したアドレスが割り付けられ、全列を通してアドレスが連続したものとなっている。
【0016】
以下、この実施形態に係る記憶装置の動作を説明する。
先ず、図3を参照して、シリアルデータDSの各画像データとメモリアレイ80内の記憶場所との対応関係を説明しておく。図3は、シリアルデータDSの各画素データとメモリアレイ80の記憶場所との対応関係を示している。この例に示すように、シリアルデータDSは、メモリブロック81〜88の個数に対応した数の画素データを単位として、メモリアレイ80の各列を構成するセル群に記憶される。例えば、図3において、シリアルデータDS内のデータ列DSmを構成する画素データの値「5」、「8」、「0」、「0」、「0」、「0」、「0」、「0」は、それぞれ、セルM(1,1)、M(2,1)、M(3,1)、M(4,1)、M(5,1)、M(6,1)、M(7,1)、M(8,1)に記憶される。即ち、データ列DSmはパラレルデータに展開されてメモリアレイ80の第1列目に記憶される。
【0017】
また、データ列DSmに続くデータ列DSm+1を構成する画素データの値「0」、「0」、「4」、「2」、「0」、「0」、「1」、「2」は、それぞれ、セルM(1,2)、M(2,2)、M(3,2)、M(4,2)、M(5,2)、M(6,2)、M(7,2)、M(8,2)に記憶される。即ち、データ列DSm+1は同様にパラレルデータに展開されてメモリアレイ80の第2列目に記憶される。以下同様に、データ列DSm+1に続くデータ列を構成する各画素データはメモリアレイ80の第3列目以降に順次記憶される。このように、メモリアレイ80の各列を構成するセル群は、パラレルデータPDを記憶するためのデータ幅に対応した単位となる領域を構成し、シリアルデータDSは8つの画素データからなるパラレルデータに展開されて1つの列に記憶される。
【0018】
次に、図1に示す記憶装置の動作について、上述の図3に示すデータ列DSmがメモリアレイ80の第1列目に記憶されるまでの動作を例として説明する。
先ず、図1に示す記憶装置の動作を概略的に説明しておく。この記憶装置は、連続する同値の画像データを一括して複数のメモリブロックに書き込む。このとき、一括して同値が書き込まれる複数のメモリブロックは、レジスタ20,30に格納されるアドレスにより指定され、ライトコントローラ50により、該当する複数のメモリブロックを書き込み可能な状態に同時的に制御する。即ち、レジスタ30には、画素データを記憶すべき領域の始点である最初のメモリセルを指定するアドレスが格納される。また、レジスタ20には、画素データを記憶すべき領域の終点である最後のメモリセルを指定するアドレスが格納される。これらのレジスタに格納された各アドレスで指定される範囲内に存在する全てのメモリセルが一括して書き込み可能な状態に制御される。また、同値の画像データが複数の列に亘って記憶される場合には、カウンタ60が出力するアドレスADCを歩進させることにより、書き込み対象の列を切り替えている。
【0019】
続いて、各部の動作を詳細に説明する。初期状態では、図1に示すレジスタ20,30はリセットされており、これらのレジスタからそれぞれ出力されるアドレスADE,ADSの全ビットが「0」となっている。また、カウンタ60もリセットされた状態にあり、その出力信号であるアドレスADCの全ビットも「0」となっている。また、マルチプレクサ70は、書き込み動作時には、カウンタ60から出力されるアドレスADCを選択し、読み出し動作時には、外部から与えられるアドレスADDRを選択する。ここでは、主として書き込み動作を説明するので、マルチプレクサ70はアドレスADCを選択しているものとする。さらに、ライトコントローラ50から出力されるライトコントロール信号SWEは非活性状態とされ、これを入力するメモリアレイ80を構成するメモリブロック81〜88の全ては、データの書き込みを受け付けない状態となっている。
【0020】
この初期状態から、CPU等の外部装置が、画素データDGとして、図2(a)に示す画素データDGの先頭の画素データ「5」を、図1に示すメモリアレイ80のメモリブロック81〜88に共通に与える。この段階では、メモリブロック81〜88は何れも書き込みを受け付けない状態にあるので、画素データ「5」は未だ何れのメモリブロックにも書き込まれない。
一方、メモリアレイ80に与えられている画素データ「5」の連続数を表すデータ「1」がランレングスデータRLとして加算器10に与えられると、加算器10は、ランレングスデータRLの値「1」を、レジスタ30に格納されたアドレスADSの値に加算し、その加算結果をレジスタ20に出力する。
【0021】
コンパレータ40は、アドレスADSと、このアドレスADSよりも「1」だけ大きいアドレスADEとを比較し、その比較結果を表す信号Jをライトコントローラ50に出力する。この信号Jを受けて、ライトコントローラ50は、アドレスADEとアドレスADSとの差分が「1」の場合には、ライトコントロール信号SWEにより、メモリブロック81〜88のうち、アドレスADSの下位3ビットからなるアドレスADSLで指定されるメモリブロック81のみを書き込み可能な状態に制御する。これにより、画素データ「5」がメモリブロック81に書き込まれる。
この後、レジスタ20の値がレジスタ30に書き込まれ、それまで最後のメモリブロックを指定していたアドレスADEの値「1」が新たに最初のメモリブロックを指定するアドレスADSの値とされる。
【0022】
続いて、外部装置が、画素データ「8」を供給し、その連続数を表すデータ「1」をランレングスデータRLとして供給する。この場合、レジスタ30から出力されるアドレスADSの値は「1」であるから、これにランレングスデータRLの値「1」を加算し、値「2」をレジスタ20に出力する。この場合も、コンパレータ40は、アドレスADEとアドレスADSとの差分が「1」である旨の信号Jをライトコントローラ50に出力し、これを受けて、ライトコントローラ50は、アドレスADSの下位3ビットからなるアドレスADSLで指定されるメモリブロック82のみを書き込み可能な状態に制御する。これにより、画素データ「8」がメモリブロック82に書き込まれる。
この後、レジスタ20の値がレジスタ30に書き込まれ、それまで最後のメモリブロックを指定していたアドレスADEの値「2」が新たに最初のメモリブロックを指定するアドレスADSの値とされる。
【0023】
続いて、外部の装置が、画素データ「0」を供給し、その連続数を表すデータ「8」をランレングスデータRLとして供給する。この場合、レジスタ30から出力されるアドレスADSの値は「2」であるから、これにランレングスデータRLの値「8」を加算し、値「10」をレジスタ20に出力する。アドレスADSの値「2」とアドレスADEの値「10」がコンパレータ40に出力される。このように、アドレスADSの値「2」とアドレスADEの値「10」との差分が値「1」よりも大きな値「8」である場合、コンパレータ40は、パラレルデータを記憶するための単位となる領域(列)と、アドレスADSおよびアドレスADEとの関係に基づき、書き込み可能な状態に制御すべきメモリブロックを選択する。
【0024】
ここで、図4を参照して、コンパレータ40がメモリブロックを判定する原理を説明する。同図(a)は、アドレスADSとアドレスADEとが現在書き込みの対象となっている列C1の内部のセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、アドレスADSで示されるメモリブロックからアドレスADEで示されるメモリブロックまでが同時的に選択される。同図(b)は、アドレスADSが現在書き込みの対象となっている列C1の内部のセルを指定するものであり、且つアドレスADEが列C1の外部の列C2に存在するセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、アドレスADS以降の各アドレスで指定されるメモリブロック、即ちアドレスADSで示される列C1の内部のメモリブロックから、この列C1の最後のメモリブロックまでが同時的に選択される。
【0025】
同図(c)は、アドレスADSが現在書き込みの対象となっている列C1の外部の列C0に存在するセルを指定するものであり、且つアドレスADEも列C1の外部の列C2に存在するセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、列C1に存在する複数のメモリブロック81〜88の全てが同時的に選択される。同図(d)は、アドレスADSが現在書き込みの対象となっている列C1の外部の列C0に存在するセルを指定するものであり、且つアドレスADEが列C1の内部のセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、アドレスADE以前の各アドレスで指定されるメモリブロック、即ち列C1の先頭のメモリブロックからアドレスADEで示されるメモリブロックまでが同時的に選択される。
【0026】
説明を図1に戻す。コンパレータ40は、アドレスADEの値「10」とアドレスADSの値「2」とから、図4(b)に示すように、アドレスADSが現在書き込みの対象となっている列C1のセルを指定するものであり、且つアドレスADEが列Cの外の列C2に存在するセルを指定するものであると判断し、この判断結果をライトコントローラ50に出力する。これを受けて、ライトコントローラ50は、アドレスADSの下位3ビットからなるアドレスADSLに基づき、現在書き込みの対象となっている列C1について、同値を書き込むべき先頭のメモリアレイ83から最後のメモリブロック88を書き込み可能な状態に制御する。これにより、メモリブロック83〜88に画素データ「0」が一括して書き込まれ、書き込み動作が高速化される。
【0027】
続いて、ライトコントローラ50は、トリガー信号Tをカウンタ60に出力し、このカウンタ60の出力信号であるアドレスADCを「1」だけインクリメントする。これにより、第2列目の列C2が書き込みの対象とされる。この場合、図4(d)に示すように、アドレスADSは、新たに書き込みの対象となった列C2の外の列C1に存在するセルを指定するものとなり、且つアドレスADEが列C2のセルを指定するものとなるから、コンパレータ40は、列C2の先頭のメモリブロックからアドレスADEの下位3ビットからなるアドレスADELで指定されるメモリブロック82までを書き込み可能な状態に制御し、これらメモリブロック81、82に画素データ「0」を一括して書き込む。以下、同様にして画素データ「4」等を順次書き込む。以上により、画素データDGがパラレルデータに展開されてメモリアレイ80に記憶される。
【0028】
上述のようにしてメモリアレイ80に書き込まれた画素データは、列毎に読み出される。この場合、マルチプレクサ70はアドレスADDRを選択してアドレスADとしてメモリアレイ80に出力する。このアドレスAD(ADDR)によりメモリアレイ80の列が択一的に選択され、この列に記憶された画素データDP1〜DP8が並列に読み出される。
以上、この発明の実施形態について詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述の実施形態では画像データからなるシリアルデータを例としたが、これに限らず、ランレングス符号化されたデータであればどのようなシリアルデータであってもよい。
【0029】
【発明の効果】
以上説明したように、この発明によれば、シリアルデータに含まれる第1のデータの連続数を表す第2のデータを入力し、該第2のデータに基づき複数の記憶領域を選択するようにしたので、ランレングス符号化されたシリアルデータの書き込み動作を高速化することが可能となる。
【図面の簡単な説明】
【図1】この発明の実施の形態に係る記憶装置の構成を示すブロック図である。
【図2】この発明の実施の形態に係る記憶装置のデータおよびアドレス構成を説明するための図である。
【図3】この発明の実施の形態に係る記憶装置のシリアルデータと記憶場所との関係を説明するための説明図である。
【図4】この発明の実施の形態に係る記憶装置の動作を説明するための説明図である。
【符号の説明】
10;加算器、20,30;レジスタ、40;コンパレータ、50;ライトコントローラ、60;カウンタ、70;マルチプレクサ、80;メモリアレイ、81〜88;メモリブロック。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a storage device, and more particularly, to a technique for speeding up a storage operation for data whose value to be stored and the number of consecutive values are known.
[0002]
[Prior art]
Conventionally, in a facsimile or the like, serial data composed of binary data representing white or black pixels is generated by scanning an image. When transmitting this serial data, the serial data is generated by run-length encoding. Is compressed. On the other hand, as a storage device for storing this kind of serial data, there is a storage device which develops and stores parallel data (see Patent Document 1). According to this conventional technique, each data included in the serial data is sequentially input and written to a separate memory array. However, the write operation of the memory array that stores the last input data is performed earlier than that. The speed is higher than that of a memory array that stores data input to the memory array. As a result, the data setup time is shortened, and the writing operation is accelerated as a whole.
[0003]
[Patent Document 1]
JP-A-11-328948 (paragraph number 0012, FIG. 2)
[0004]
[Problems to be solved by the invention]
However, according to the above-described prior art, since each data included in the serial data is individually latched and individually written into the memory array, even when data of the same value continues, each data is individually It is necessary to latch and repeat the same write operation. Therefore, when storing serial data having a large run length, there is a problem that the write operation cannot be effectively speeded up.
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a storage device that can speed up a write operation of run-length encoded serial data.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, the present invention has the following configurations.
That is, a storage device according to the present invention includes a storage unit having a plurality of storage areas to which a first data is commonly provided and provided in correspondence with a data width of the predetermined number of the first data, Inputting second data representing the number of consecutive 1 data, and, based on the second data, selecting one or more storage areas in which the first data is to be stored from among the plurality of storage areas; Storage area selection means for selecting simultaneously.
According to this configuration, from among the plurality of storage areas, the storage areas in which the plurality of first data having the same value are to be stored are selected in parallel. As a result, a plurality of first data having the same value are developed into parallel data and stored in the
[0006]
In the above-mentioned storage device, for example, the storage area selection means stores a first address for providing a start point of an area where the first data is to be stored, and a first register for storing a first address. An adder for adding the value of the second data to a first address; storing an addition result of the adder as a second address for providing an end point of an area where the first data is to be stored; A second register for providing a result to the first register; and a control unit for selectively controlling the plurality of storage areas to be in a writable state based on the contents of the first and second registers. It is characterized by the following.
Also, for example, the control unit selects a storage area to be controlled to be in a writable state based on a relationship between a unit area corresponding to the data width and the first and second addresses. .
[0007]
Further, for example, when the control unit specifies the inside of a unit area to be currently written in the unit area, the first and second addresses may include the plurality of storage areas. The storage area specified by each address from the first address to the second address is simultaneously selected.
Also, for example, the control unit may be configured so that the first address specifies the inside of a unit area of the unit area which is a current writing target of the unit area, and the second address is When the outside of the unit area to be currently written is designated, a storage area designated by each address after the first address is simultaneously selected from the plurality of storage areas. It is characterized by the following.
[0008]
Further, for example, when the control unit specifies the outside of the area currently being written in the unit area in the first and second addresses, the control unit may store the plurality of storage areas. It is characterized in that all are selected simultaneously.
Further, for example, the control unit may be configured so that the first address specifies an outside of a unit area of the unit area which is a current writing target of the unit area, and the second address is In the case where the inside of the unit area to be currently written is designated, a storage area designated by each address before the second address is simultaneously selected from the plurality of storage areas. It is characterized by the following.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a storage device according to an embodiment of the present invention will be described.
FIG. 1 shows a configuration of a storage device according to an embodiment of the present invention. This storage device expands and stores serial data DS as image data into parallel data DP having a predetermined data width including eight pixel data (DP1 to DP8). In this embodiment, the input serial data DS is run-length-encoded in advance, and as shown in FIG. 2A, the pixel data DG and the run-length data RL indicating the number of consecutive pixel data (run-length). Is converted to and input from outside. Each pixel data DG is assumed to be 16-bit data.
[0010]
In FIG. 1,
[0011]
FIG. 2A shows a relationship between the pixel data DG and the run-length data RL. In the figure, the values of the run-length data RL correspond to the values “5”, “8”, “0”, “4”, “2”, “0”, “1”, and “2” of the pixel data DG. “1”, “1”, “8”, “1”, “1”, “2”, “1”, and “1” correspond to each other. According to this example, the serial data before run-length encoding is, for example, that one pixel data “5” and one pixel data “8” are generated, and then eight pixel data “0” are consecutive. Represents. By this run-length encoding, continuous equivalent pixel data included in the serial data DS is replaced with one pixel data DG, thereby reducing the data amount.
[0012]
The description returns to FIG. The above-described run length data RL is applied to one input of an
[0013]
An address ADC which is an output signal of the counter 60 is supplied to one input of the
[0014]
Each memory block constituting the
[0015]
The cells M (1,1) to M (8, n) arranged in a matrix of 8 rows × n columns are assigned addresses that advance in the column direction. It is continuous. That is, in FIG. 3, the head address is assigned to the cell M (1, 1) in the first column, and hereinafter, the cells (2, 1), M (3, 1), M (4, 1),..., M (8, 1) are assigned addresses that are incremented by “1”. Further, an address which is continuous with the address of the last cell M (8, 1) in the first column is assigned to the first cell M (1, 2) in the second column. Similarly, in the same manner, the stepped address is assigned to each of the cells in the third to n-th columns, and the address is continuous throughout all the columns.
[0016]
Hereinafter, the operation of the storage device according to this embodiment will be described.
First, the correspondence between each image data of the serial data DS and a storage location in the
[0017]
Further, pixel data values “0”, “0”, “4”, “2”, “0”, “0”, “1”, and “2” of the pixel data constituting the data string DSm + 1 following the data string DSm are represented by: Cells M (1,2), M (2,2), M (3,2), M (4,2), M (5,2), M (6,2), M (7,2) ), M (8, 2). That is, the data string DSm + 1 is similarly expanded into parallel data and stored in the second column of the
[0018]
Next, the operation of the storage device shown in FIG. 1 will be described by taking as an example the operation until the data string DSm shown in FIG. 3 is stored in the first column of the
First, the operation of the storage device shown in FIG. 1 will be schematically described. This storage device writes successive image data of the same value collectively to a plurality of memory blocks. At this time, a plurality of memory blocks to which the same value is written collectively are designated by addresses stored in the
[0019]
Next, the operation of each unit will be described in detail. In the initial state, the
[0020]
From this initial state, an external device such as a CPU transfers the leading pixel data “5” of the pixel data DG shown in FIG. 2A as the pixel data DG to the memory blocks 81 to 88 of the
On the other hand, when data “1” representing the continuous number of pixel data “5” provided to the
[0021]
The
Thereafter, the value of the
[0022]
Subsequently, the external device supplies the pixel data “8”, and supplies the data “1” representing the number of consecutive pixels as the run-length data RL. In this case, since the value of the address ADS output from the
Thereafter, the value of the
[0023]
Subsequently, the external device supplies the pixel data “0” and supplies the data “8” representing the continuous number as the run-length data RL. In this case, since the value of the address ADS output from the
[0024]
Here, the principle by which the
[0025]
FIG. 11C shows a case where the address ADS designates a cell existing in the column C0 outside the column C1 to be currently written, and the address ADE also exists in the column C2 outside the column C1. The range of the memory block to be selected when a cell is designated is shown. In this case, all of the plurality of memory blocks 81 to 88 existing in the column C1 are simultaneously selected. FIG. 11D shows a case where the address ADS designates a cell existing in the column C0 outside the column C1 to be currently written, and the address ADE designates a cell inside the column C1. Indicates the range of memory blocks to be selected when In this case, a memory block designated by each address before the address ADE, that is, from the first memory block in the column C1 to the memory block indicated by the address ADE is simultaneously selected.
[0026]
The description returns to FIG. As shown in FIG. 4B, the
[0027]
Subsequently, the
[0028]
The pixel data written in the
As described above, the embodiments of the present invention have been described in detail. However, the specific configuration is not limited to the embodiments, and includes a design change or the like without departing from the gist of the present invention. For example, in the above-described embodiment, serial data composed of image data is described as an example. However, the present invention is not limited to this, and any serial data that is run-length encoded data may be used.
[0029]
【The invention's effect】
As described above, according to the present invention, the second data representing the continuous number of the first data included in the serial data is input, and a plurality of storage areas are selected based on the second data. Therefore, the write operation of the run-length encoded serial data can be speeded up.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a storage device according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a data and address configuration of the storage device according to the embodiment of the present invention;
FIG. 3 is an explanatory diagram for explaining a relationship between serial data and a storage location of the storage device according to the embodiment of the present invention;
FIG. 4 is an explanatory diagram for explaining an operation of the storage device according to the embodiment of the present invention;
[Explanation of symbols]
10; adders, 20, 30; registers, 40; comparators, 50; light controllers, 60; counters, 70; multiplexers, 80; memory arrays, 81 to 88;
Claims (7)
前記第1のデータの連続数を表す第2のデータを入力し、該第2のデータに基づき、前記複数の記憶領域の中から前記第1のデータが記憶されるべき1又は2以上の記憶領域を同時的に選択する記憶領域選択手段と、
を備えたことを特徴とする記憶装置。Storage means having a plurality of storage areas to which a first data is provided in common and which is provided corresponding to a data width of the predetermined number of the first data;
Second data representing the number of continuations of the first data is input, and one or more storages in which the first data is to be stored from the plurality of storage areas based on the second data. Storage area selecting means for simultaneously selecting an area;
A storage device comprising:
前記第1のデータを記憶すべき領域の始点を与える第1のアドレスを格納する第1のレジスタと、
前記第1のレジスタに格納された第1のアドレスに前記第2のデータの値を加算する加算器と、
前記第1のデータを記憶すべき領域の終点を与える第2のアドレスとして前記加算器の加算結果を格納すると共に該加算結果を前記第1のレジスタに与える第2のレジスタと、
前記第1および第2のレジスタの内容に基づき前記複数の記憶領域を書き込み可能な状態に選択的に制御する制御部と、
を備えたことを特徴とする請求項1に記載された記憶装置。The storage area selecting means,
A first register for storing a first address giving a start point of an area in which the first data is to be stored;
An adder for adding a value of the second data to a first address stored in the first register;
A second register for storing an addition result of the adder as a second address for providing an end point of an area where the first data is to be stored, and for providing the addition result to the first register;
A control unit that selectively controls the plurality of storage areas to a writable state based on the contents of the first and second registers;
The storage device according to claim 1, further comprising:
前記データ幅に対応した単位領域と前記第1および第2のアドレスとの関係に基づき、書き込み可能な状態に制御すべき記憶領域を選択することを特徴とする請求項2に記載された記憶装置。The control unit includes:
3. The storage device according to claim 2, wherein a storage region to be controlled to be in a writable state is selected based on a relationship between a unit region corresponding to the data width and the first and second addresses. .
前記第1および第2のアドレスが、前記単位領域のうち、現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレスから第2のアドレスまでの各アドレスで指定される記憶領域を同時的に選択することを特徴とする請求項3に記載された記憶装置。The control unit includes:
In the case where the first and second addresses specify the inside of a unit area to be currently written in the unit area, the first address and the second address of the plurality of storage areas are 4. The storage device according to claim 3, wherein a storage area specified by each address up to a second address is simultaneously selected.
前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の内部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の外部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレス以降の各アドレスで指定される記憶領域を同時的に選択することを特徴とする請求項3に記載された記憶装置。The control unit includes:
The first address specifies the inside of the unit area of the unit area to be currently written, and the second address is the target of the current write. 4. The method according to claim 3, wherein when the outside of the unit area is designated, a storage area designated by each address after the first address is simultaneously selected from the plurality of storage areas. The described storage device.
前記第1および第2のアドレスが、前記単位領域のうちの現在書き込みの対象となっている領域の外部を指定するものである場合、前記複数の記憶領域の全てを同時的に選択することを特徴とする請求項3に記載された記憶装置。The control unit includes:
When the first and second addresses specify outside the area of the unit area to be written at present, it is preferable that all of the plurality of storage areas be simultaneously selected. The storage device according to claim 3, wherein:
前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の外部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第2のアドレス以前の各アドレスで指定される記憶領域を同時的に選択することを特徴とする請求項3に記載された記憶装置。The control unit includes:
The first address specifies the outside of the unit area of the unit area to be currently written, and the second address is the target of the current write. 4. The method according to claim 3, wherein when specifying the inside of the unit area, a storage area specified by each address before the second address is simultaneously selected from the plurality of storage areas. The described storage device.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003125361A JP2004334295A (en) | 2003-04-30 | 2003-04-30 | Storage device |
US10/829,012 US7483033B2 (en) | 2003-04-30 | 2004-04-21 | Storage device |
CNB200410038608XA CN100357912C (en) | 2003-04-30 | 2004-04-28 | Storage device |
HK04110118.2A HK1066999B (en) | 2003-04-30 | 2004-12-21 | Storage device and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003125361A JP2004334295A (en) | 2003-04-30 | 2003-04-30 | Storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004334295A true JP2004334295A (en) | 2004-11-25 |
Family
ID=33308168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003125361A Pending JP2004334295A (en) | 2003-04-30 | 2003-04-30 | Storage device |
Country Status (3)
Country | Link |
---|---|
US (1) | US7483033B2 (en) |
JP (1) | JP2004334295A (en) |
CN (1) | CN100357912C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103474045A (en) * | 2013-08-19 | 2013-12-25 | 矽创电子股份有限公司 | Data access device for display equipment |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324112B1 (en) | 2004-04-12 | 2008-01-29 | Nvidia Corporation | System and method for processing divergent samples in a programmable graphics processing unit |
US7477255B1 (en) * | 2004-04-12 | 2009-01-13 | Nvidia Corporation | System and method for synchronizing divergent samples in a programmable graphics processing unit |
CN102947859B (en) * | 2010-06-17 | 2016-03-30 | Ntt电子股份有限公司 | Image processing apparatus |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3941922A (en) * | 1972-11-15 | 1976-03-02 | Matsushita Electric Industrial Co., Ltd. | Facsimile system of run-length |
DE2458118C2 (en) * | 1974-12-09 | 1976-12-30 | Siemens AG, 1000 Berlin und 8000 München | Method and arrangement for facsimile coding |
US4086620A (en) * | 1976-10-21 | 1978-04-25 | Bell Telephone Laboratories, Incorporated | Processor for increasing the run-length of facsimile data |
JPS5937773A (en) * | 1982-08-26 | 1984-03-01 | Canon Inc | Run-length coding and decoding device |
US4590521A (en) * | 1983-08-19 | 1986-05-20 | Advanced Micro Devices, Inc. | Picture element generator for facsimile receiver |
US4837634A (en) * | 1984-06-05 | 1989-06-06 | Canon Kabushik Kaisha | Apparatus for decoding image codes obtained by compression process |
JPS617769A (en) | 1984-06-22 | 1986-01-14 | Fujitsu Ltd | Image memory write control method |
JPS61107596A (en) * | 1984-10-31 | 1986-05-26 | Nec Corp | Associative memory |
JP2774488B2 (en) | 1985-08-08 | 1998-07-09 | キヤノン株式会社 | Image code decoding device |
US4750043A (en) * | 1985-08-08 | 1988-06-07 | Canon Kabushiki Kaisha | Decoding apparatus for image code |
US4760459A (en) * | 1986-07-30 | 1988-07-26 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
JPH0697560B2 (en) * | 1987-11-19 | 1994-11-30 | 三菱電機株式会社 | Semiconductor memory device |
US5016191A (en) * | 1988-09-02 | 1991-05-14 | Tektronix, Inc. | Half toning pixel processor |
EP0429733B1 (en) | 1989-11-17 | 1999-04-28 | Texas Instruments Incorporated | Multiprocessor with crossbar between processors and memories |
US5305111A (en) * | 1990-12-11 | 1994-04-19 | Industrial Technology Research Institute | Run length encoding method and system |
JPH05292331A (en) | 1992-03-30 | 1993-11-05 | Internatl Business Mach Corp <Ibm> | Method for decoding run length code, video controller, and data processing system |
US5335290A (en) * | 1992-04-06 | 1994-08-02 | Ricoh Corporation | Segmentation of text, picture and lines of a document image |
US5303200A (en) * | 1992-07-02 | 1994-04-12 | The Boeing Company | N-dimensional multi-port memory |
US5592415A (en) * | 1992-07-06 | 1997-01-07 | Hitachi, Ltd. | Non-volatile semiconductor memory |
US5363097A (en) * | 1992-09-14 | 1994-11-08 | Industrial Technology Research Institute | Direct sequential-bit variable length decoder |
KR940008389A (en) * | 1992-09-30 | 1994-04-29 | 가나이 쯔또무 | Image signal processing device and information transmitting / receiving device using the same |
JP3419046B2 (en) * | 1993-09-27 | 2003-06-23 | セイコーエプソン株式会社 | Video display device |
US5553160A (en) * | 1994-09-01 | 1996-09-03 | Intel Corporation | Method and apparatus for dynamically selecting an image compression process based on image size and color resolution |
KR0141875B1 (en) * | 1994-11-30 | 1998-06-15 | 배순훈 | Line length decoder |
JP3607407B2 (en) * | 1995-04-26 | 2005-01-05 | 株式会社日立製作所 | Semiconductor memory device |
US5670993A (en) * | 1995-06-07 | 1997-09-23 | Alliance Semiconductor Corporation | Display refresh system having reduced memory bandwidth |
US5704059A (en) * | 1995-07-28 | 1997-12-30 | Nec Corporation | Method of write to graphic memory where memory cells designated by plurality of addresses selected simultaneously for one row address are written |
JPH0991993A (en) * | 1995-09-19 | 1997-04-04 | Texas Instr Japan Ltd | Semiconductor memory device testing method |
US5694127A (en) * | 1995-10-17 | 1997-12-02 | Zapex Technologies, Inc. | Method and apparatus for efficiently generating variable length code data |
JP3240897B2 (en) * | 1995-11-29 | 2001-12-25 | 日本電気株式会社 | Semiconductor storage device |
JPH10124657A (en) | 1996-10-17 | 1998-05-15 | Oki Electric Ind Co Ltd | Parallel writing memory and parallel writing memory system |
US5841379A (en) * | 1997-01-24 | 1998-11-24 | Texas Instruments Incorporated | Method and apparatus for selectively counting consecutive bits |
JP4251675B2 (en) * | 1997-07-30 | 2009-04-08 | ソニー株式会社 | Storage device and access method |
US6104208A (en) * | 1998-03-04 | 2000-08-15 | Altera Corporation | Programmable logic device incorporating function blocks operable as wide-shallow RAM |
JP3312594B2 (en) | 1998-05-15 | 2002-08-12 | 日本電気株式会社 | Semiconductor storage device with serial-parallel conversion function |
US6583887B1 (en) * | 1999-02-26 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for data compression |
JP2001154910A (en) * | 1999-11-29 | 2001-06-08 | Mitsubishi Electric Corp | Memory access system |
JP4239381B2 (en) * | 2000-08-23 | 2009-03-18 | コニカミノルタビジネステクノロジーズ株式会社 | Image forming apparatus |
-
2003
- 2003-04-30 JP JP2003125361A patent/JP2004334295A/en active Pending
-
2004
- 2004-04-21 US US10/829,012 patent/US7483033B2/en not_active Expired - Fee Related
- 2004-04-28 CN CNB200410038608XA patent/CN100357912C/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103474045A (en) * | 2013-08-19 | 2013-12-25 | 矽创电子股份有限公司 | Data access device for display equipment |
CN103474045B (en) * | 2013-08-19 | 2016-01-06 | 矽创电子股份有限公司 | Data access device for display equipment |
Also Published As
Publication number | Publication date |
---|---|
CN100357912C (en) | 2007-12-26 |
CN1542842A (en) | 2004-11-03 |
US7483033B2 (en) | 2009-01-27 |
HK1066999A1 (en) | 2005-03-18 |
US20040218227A1 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4166979B2 (en) | Nonvolatile semiconductor memory device, data input / output control method thereof, and memory application system | |
JP3944496B2 (en) | Increased memory performance in flash memory devices by simultaneous write operations to multiple devices | |
US4435792A (en) | Raster memory manipulation apparatus | |
JP4034971B2 (en) | Memory controller and memory system device | |
JP2009282923A (en) | Semiconductor storage device and nonvolatile memory | |
US6928516B2 (en) | Image data processing system and method with image data organization into tile cache memory | |
JP3166447B2 (en) | Image processing apparatus and image processing method | |
JP2004334295A (en) | Storage device | |
KR100953044B1 (en) | How to Program Nonvolatile Memory Devices | |
JP2005102168A (en) | Image processing apparatus and its method | |
JP2005182538A (en) | Data transfer device | |
JP2007164303A (en) | Information processor, controller and file reading method | |
JP2007094639A (en) | Memory controller and flash memory system | |
HK1066999B (en) | Storage device and control method | |
KR100865828B1 (en) | Bank division method of flash memory and bank division device of flash memory | |
CA2231010C (en) | Image data storing method and image data storing device | |
JP2005109856A (en) | Picture rotation circuit and picture processor having the same | |
JP4135606B2 (en) | Image processing device | |
JP4723334B2 (en) | DMA transfer system | |
JP2001128108A (en) | Video processor | |
JP2007034520A (en) | Information processing apparatus and information processing method for controlling configuration | |
JP2004213588A (en) | Semiconductor device | |
JP2757446B2 (en) | Thinning device | |
JPH09231347A (en) | Image processor | |
JP2005196360A (en) | Data storage device, data storage control device, data storage control method and data storage control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090407 |