JP4516289B2 - シーケンシャルメモリの読出しデバイスとその方法 - Google Patents
シーケンシャルメモリの読出しデバイスとその方法 Download PDFInfo
- Publication number
- JP4516289B2 JP4516289B2 JP2003190370A JP2003190370A JP4516289B2 JP 4516289 B2 JP4516289 B2 JP 4516289B2 JP 2003190370 A JP2003190370 A JP 2003190370A JP 2003190370 A JP2003190370 A JP 2003190370A JP 4516289 B2 JP4516289 B2 JP 4516289B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- read
- memory
- read address
- sequential
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は総じてメモリの読出しのためのデバイスとその方法に係り、より詳細には、シーケンシャルメモリの読出しデバイスとその方法に関する。
【0002】
【従来の技術】
シーケンシャルメモリは低コストで高密度なコンピュータメモリである。シーケンシャルメモリがメモリアドレスを受信するためのピンもデータ出力のために共有されており、生産コストを減らすようになっている。シーケンシャルメモリとは、例えばシーケンシャルROM、NAND ROM、NANDフラッシュメモリなどである。従来の方法によるシーケンシャルメモリの読出しは、最初にアドレスを入力し、それからアドレスロケーションをヒットしてラッチした後に、データを引き続いて出力する。
【0003】
アドレスロケーションをラッチし、データタスクを読出すためのメモリアクセス時間は長くかかる。このアクセス時間は、例えば1,000ナノセカンドであり、従ってアクセススピードは速くない。データにアクセスするためにアドレスをラッチする方法に加えて、シーケンシャルメモリには、データを順次読出すためにカウンタを使うこともできる。
メモリアドレスが最初にラッチされるとして、バースト読出し方法は、最初以降のシーケンシャルアドレスのデータを読出すのに使用される。バースト読出し方法では、シーケンシャルメモリが内部にカウンタを備えており、一度あるアドレスがラッチされると、このアドレスに1が加算される度にカウンタが次のアドレスのデータを出力し得る。
【0004】
この方法によれば、次のアドレスをラッチする処理を実行する必要がなくなり、メモリアクセスをスピードアップさせることができる。データのほとんどがシーケンシャルタイプであることから、シーケンシャルメモリは、低速メモリアクセスの欠点を補うためのバースト読出し方法を使用したデータ保存に非常に適している。
【0005】
【発明が解決しようとする課題】
しかし、シーケンシャルメモリをプログラムの保存のために使用する場合には、低速メモリアクセスは対処されるべき重要な課題である。プログラムを実行する際には多くのジャンピング命令があり得る。例えば、サブ機能を実行するにあたって、サブ機能のロケーションにジャンプすることが要求され、その結果、新しいメモリアドレスの再読出しをラッチすることが必要となる。
【0006】
新しいアドレスを再度ラッチし、読出すことは、実行すべきプログラムにおいて多くのジャンピング命令が存在する場合には特に、より多くの時間を費やす。そのため、シーケンシャルメモリの読出し速度を向上させることが重要な課題となる。したがって、本発明は、読出し速度を向上させることのできるシーケンシャルメモリの読出しデバイスと、その方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記従来技術の課題に鑑みて、本発明は、シーケンシャルメモリの読出し方法を提供する。まず、リードアドレスが受信され、次にこのリードアドレスが、既にキャッシュメモリに登録されているかどうかを確かめるためにチェックされる。リードアドレスがキャッシュメモリ内に発見された場合、つまりキャッシュヒットした場合には、指定されたリードアドレスのデータは、キャッシュメモリから出力される。反対に、リードアドレスがキャッシュメモリ内に存在しない場合には、指定されたリードアドレスのデータは、シーケンシャルメモリから出力される。
【0008】
さらに、本発明は、シーケンシャルメモリの読出しデバイスを提供する。この読出しデバイスは、リードアドレスに従ってシーケンシャルメモリからのデータを読出す。読出しデバイスは少なくともキャッシュメモリと、キャッシュ決定ユニットと、キャッシュ読出しユニットと、メモリ読出しユニットとを備えている。キャッシュ決定ユニットはリードアドレスを受信し、リードアドレスがキャッシュメモリに登録されているか否かをチェックする。リードアドレスがキャッシュメモリ内に発見されれば、キャッシュ読出しユニットはキャッシュメモリからリードアドレスの指定されたデータを読出し、出力する。反対に、リードアドレスがキャッシュメモリ内に登録されていない場合には、メモリ読出しユニットがシーケンシャルメモリから指定されたリードアドレスのデータを読出し、出力する。
本発明の他の目的、特徴、利点は、以下の好適な、しかし限定的でない実施例の詳細な記述から明らかになるであろう。以下の記述は添付の図を参照してなされたものである。
【0009】
【発明の実施の形態】
本発明の要旨は、キャッシュメモリを、メモリアクセスとシーケンシャルメモリの読出しのスピードアップに適用することである。図1を参照すると、本発明によるシーケンシャルメモリ読出し方法の好適な実施例のフローチャートが示されている。
【0010】
この方法は、中央処理装置とシーケンシャルメモリとを含む処理システムに使用される。この処理システムは、DRAMやEEPROMなど他の種類のメモリも含んでもよい。まず、シーケンシャルメモリは、中央処理システムからアドレスを受信した後、このアドレスがシーケンシャルメモリに属しているかどうかを判断する(段階110)。段階110での判断の結果、属していなければ、このアドレスは他のメモリに属するということを示し、ここで処理を終了する。反対に、このアドレスがシーケンシャルメモリに属していれば、このアドレスがキャッシュメモリに登録されているかどうかを確認するためにチェックを受ける(段階120)。
【0011】
アドレスがキャッシュメモリ内に登録されているか否かをチェックするためのひとつの方法は、アドレスをキャッシュメモリ内のタグアドレスと比較することである。タグアドレスのどれかがこのアドレスに適合するならば、すなわちキャッシュヒットした場合には、リードアドレスのデータはキャッシュメモリに保存されていることを示す。この場合、データはキャッシュメモリから直接出力され得る(段階130)。反対に、タグアドレスのどれもこのアドレスに適合しなければ、リードアドレスのデータは、シーケンシャルメモリから読出され(段階140)、キャッシュメモリを次回に備えてアクセスをスピードアップするように更新する(段階150)。ここで、キャッシュメモリは直接マップされたものであってもよいし、結合して設定されていてもよい。
【0012】
図2は、図1の段階140(シーケンシャルメモリからのデータの読出し)を詳細に説明するためのフローチャートである。まず、アドレスが前回読み込まれた先行するアドレスと同じページに属するかどうかを確認する(段階210)。その結果、このアドレスが以前に読み込まれたアドレスと同じページに属していなければ、アドレスラッチサイクルを開始する(段階240)。そして、一定期間(1,000ナノセカンド程度)経過後、データが出力される(段階250)。
【0013】
一方、アドレスが以前に読出されたアドレスと同じページに属するならば、このアドレスと先行するアドレスとの間の差が7以上であるか、7未満であるかを判断する(段階220)。その結果7未満である場合、データは先行のアドレスから現在のアドレスへ、順次読出しによって出力される(段階230)。反対に7以上であればアドレスラッチサイクルを開始する(段階240)。
【0014】
段階230においては、データの読出し方法は、順次、メモリの内部にあるカウンタを使うのみである。このカウンタは先行するアドレスから現在のアドレスまでを数え、それからデータを出力する。アドレスラッチサイクルは1,000ナノセカンド待たなければならず、それから読出しを開始する。読出しには毎回200ナノセカンドかかる。
従って、アドレスの差が7未満である場合にはアドレスラッチサイクルよりも速くなるため、シーケンシャル読出し方法を使用する。一方、アドレスの差が7以上のときには、従来のアドレスラッチサイクルがデータを読出すために使われる。
【0015】
図3を参照すると、本発明による、リードアドレスAに従って読出しデータDを使用したシーケンシャルメモリの読出しデバイス300が示されている。読出しデバイス300は、少なくともキャッシュメモリ310、キャッシュ決定ユニット320、キャッシュ読出しユニット340を含んでいる。キャッシュ決定ユニット320は、リードアドレスAを受信するために使用されるほか、リードアドレスAがキャッシュメモリ310に登録されているか否かも判断する。
【0016】
リードアドレスAがキャッシュメモリ310に登録されていれば、キャッシュ読出しユニット330は、キャッシュメモリ310からリードアドレスAの指定されたデータDを読出し、出力する。その一方で、リードアドレスAがキャッシュメモリ310に登録されていなければ、メモリ読出しユニット340は、シーケンシャルメモリ100から、リードアドレスAの指定されたデータDを読み取り、出力する。
【0017】
読み取りデバイス300はさらに、メモリ読出しユニット340によって出力されたデータを使ってキャッシュメモリを更新するキャッシュ更新ユニット(図示せず)を含んでもよい。メモリ読出しユニット340は、ページヒット決定ユニットと、差異判断ユニットと、シーケンシャル読出しユニット(図示せず)とを含む。ページヒット決定ユニットは、現在のリードアドレスが、前回読み込まれた先行のアドレスと同じページ上にあるか否かを判断するために使用される。現在のリードアドレスAが先行のアドレスと同じページ上にある場合、すなわちページヒットした場合、差異判断ユニットは、現在のリードアドレスAと先行のアドレスとの間の差が、例えば7などのデフォルト値より小さいかどうかを引き続き判断する。
【0018】
その結果、現在のリードアドレスAと先行のアドレスとの間の差がデフォルト値よりも小さければ、シーケンシャル読出しユニットは、前回読み込まれた先行のアドレスから始めて現在のリードアドレスAまで、シーケンシャルメモリ100を順次読み取り、現在のリードアドレスAの指定されたデータDを出力する。
反対に、現在のリードアドレスAが、先行のアドレスと違うページに属しているか、現在のアドレスAと先行のアドレスとの間の差がデフォルト値以上ならば、ラッチングユニットはリードアドレスAをラッチし始める。それから、出力ユニットは、ラッチされたリードアドレスに従って、シーケンシャルメモリ100からデータDを出力する。
【0019】
結論として、本発明は先行技術より重要な利点を提供する。本発明は、シーケンシャルメモリの読出し速度を高めるためにキャッシュメモリを適用し、さらに、シーケンシャルメモリの直接アクセス速度を高めるためのシーケンシャル読み込み方法を使用する。
よって、本発明は、前記したシーケンシャルメモリの読出しデバイスとその方法の実施例に開示されているように、キャッシュメモリとシーケンシャル読出し方法を、シーケンシャルメモリの読出し速度を高めるために使用する。
【0020】
本発明が、例を挙げて、好適な実施例という点に関して説明されてきた一方で、本発明がそこに限定されていないことは、理解されるべきである。反対に、本発明はさまざまな変更や、類似した処置、手順をカバーするように意図されており、そのため特許請求の範囲では、こうした変更や類似した処置、手順の、最も広義の解釈が認められるべきである。
【図面の簡単な説明】
【図1】本発明によるシーケンシャルメモリの読出し方法の好適な実施例のフローチャート。
【図2】段階140でシーケンシャルメモリからのデータの読出しのフローチャート。
【図3】本発明によるシーケンシャルメモリの読出しデバイスの構成を示す図。
【符号の説明】
100 シーケンシャルメモリ
310 キャッシュメモリ
320 キャッシュ決定ユニット
330 キャッシュ読出しユニット
340 メモリ読出しユニット
Claims (6)
- シーケンシャルメモリからデータを読出すための、シーケンシャルメモリの読出し方法であって、
a)リードアドレスを受信し、
b)前記リードアドレスがキャッシュメモリに登録されているか否かを判断し、登録されていれば段階c)に進み、まだ登録されていなければ段階d)に進み、
c)前記キャッシュメモリから前記リードアドレスの指定されたデータを出力して終了し、
d)前記シーケンシャルメモリから指定された前記リードアドレスのデータを出力する段階を含み、
前記段階d)は、
d1)前記リードアドレスが前回読出された先行のアドレスと同じページに属するか否かを判断し、属するならば段階d2)に進み、属さなければ段階d4)に進み、
d2)前記リードアドレスと前記先行のアドレスとの間の差がデフォルト値よりも小さいか否かを判断し、小さければ段階d3)に進み、小さくなければ段階d4)に進み、
d3)前記先行のアドレスから始めて前記リードアドレスまで順次アドレスを読出し、前記リードアドレスの指定されたデータを出力して終了し、
d4)前記リードアドレスをラッチし、
d5)前記リードアドレスの指定されたデータを出力する、
段階からなることを特徴とするシーケンシャルメモリの読出し方法。 - 請求項1に記載のシーケンシャルメモリの読出し方法において、
前記キャッシュメモリが直接マップされていることを特徴とするシーケンシャルメモリの読出し方法。 - 請求項1に記載のシーケンシャルメモリの読出し方法において、
前記キャッシュメモリが関連して設定されていることを特徴とするシーケンシャルメモリの読出し方法。 - リードアドレスに従ってシーケンシャルメモリからのデータを読出すための、シーケンシャルメモリを読出すデバイスであって、
キャッシュメモリと、
前記リードアドレスを受信し、前記リードアドレスがキャッシュメモリに登録されているかどうかを判断するためのキャッシュ決定ユニットと、
前記リードアドレスが前記キャッシュメモリに登録されている場合に、前記キャッシュメモリから前記リードアドレスの指定されたデータを読出し出力するキャッシュ読出しユニットと、
前記リードアドレスが前記キャッシュメモリに登録されていない場合に、前記シーケンシャルメモリから前記リードアドレスの指定されたデータを読出し出力するメモリ読出しユニットと、
前記メモリ読出しユニットによって出力されたデータにより、前記キャッシュメモリを更新するキャッシュ更新ユニットと、
を備え、
前記メモリ読出しユニットが、
前記リードアドレスが前回読出された先行のアドレスと同じページに属するか否かを判断するページヒット決定ユニットと、
前記リードアドレスが前記先行のアドレスと同じページに属している場合に、前記リードアドレスと前記先行のアドレスとの間の差がデフォルト値より小さいか否かを判断する差異判断ユニットと、
前記リードアドレスと前記先行のアドレスとの間の差がデフォルト値より小さい場合に、前記先行のアドレスから始めて前記リードアドレスまで、順次前記シーケンシャルメモリを読出し、それから、前記リードアドレスの指定されたデータを出力するシーケンシャル読出しユニットと、
前記リードアドレスが前記先行のアドレスと同じページに属していないか、または前記リードアドレスと前記先行のアドレスとの間の差がデフォルト値よりも小さくない場合に、前記リードアドレスをラッチするラッチングユニットと、
ラッチされた前記リードアドレスに従って、前記シーケンシャルメモリからデータを出力する出力ユニットと、
を具備することを特徴とするシーケンシャルメモリを読出すデバイス。 - 請求項4に記載のシーケンシャルメモリを読出すデバイスにおいて、
前記キャッシュメモリが直接マップされていることを特徴とするシーケンシャルメモリを読出すデバイス。 - 請求項4に記載のシーケンシャルメモリを読出すデバイスにおいて、
前記キャッシュメモリが関連して設定されていることを特徴とするシーケンシャルメモリを読出すデバイス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW92104862A TW200417850A (en) | 2003-03-06 | 2003-03-06 | Device for reading sequential memory and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004272870A JP2004272870A (ja) | 2004-09-30 |
JP4516289B2 true JP4516289B2 (ja) | 2010-08-04 |
Family
ID=33129434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003190370A Expired - Fee Related JP4516289B2 (ja) | 2003-03-06 | 2003-07-02 | シーケンシャルメモリの読出しデバイスとその方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4516289B2 (ja) |
TW (1) | TW200417850A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076137A1 (en) * | 2004-02-05 | 2005-08-18 | Research In Motion Limited | Memory controller interface |
JP5137002B2 (ja) | 2007-01-25 | 2013-02-06 | 株式会社メガチップス | メモリコントローラ |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05274089A (ja) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | データ記録再生装置のアクセス制御装置 |
JPH06332628A (ja) * | 1993-05-26 | 1994-12-02 | Fujitsu Ltd | 先読みデータ処理装置 |
JPH09198305A (ja) * | 1996-01-23 | 1997-07-31 | Sharp Corp | メモリ制御装置 |
JPH1064164A (ja) * | 1996-08-23 | 1998-03-06 | Nec Ic Microcomput Syst Ltd | 読出し専用記憶媒体の読出し方法 |
JPH11149411A (ja) * | 1997-11-17 | 1999-06-02 | Fujitsu Ltd | 光磁気ディスク装置におけるキャッシュ制御装置 |
JP2001051896A (ja) * | 1999-08-04 | 2001-02-23 | Hitachi Ltd | 記憶装置 |
-
2003
- 2003-03-06 TW TW92104862A patent/TW200417850A/zh not_active IP Right Cessation
- 2003-07-02 JP JP2003190370A patent/JP4516289B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05274089A (ja) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | データ記録再生装置のアクセス制御装置 |
JPH06332628A (ja) * | 1993-05-26 | 1994-12-02 | Fujitsu Ltd | 先読みデータ処理装置 |
JPH09198305A (ja) * | 1996-01-23 | 1997-07-31 | Sharp Corp | メモリ制御装置 |
JPH1064164A (ja) * | 1996-08-23 | 1998-03-06 | Nec Ic Microcomput Syst Ltd | 読出し専用記憶媒体の読出し方法 |
JPH11149411A (ja) * | 1997-11-17 | 1999-06-02 | Fujitsu Ltd | 光磁気ディスク装置におけるキャッシュ制御装置 |
JP2001051896A (ja) * | 1999-08-04 | 2001-02-23 | Hitachi Ltd | 記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
TW200417850A (en) | 2004-09-16 |
TWI314264B (ja) | 2009-09-01 |
JP2004272870A (ja) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1619590B1 (fr) | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé | |
US8954681B1 (en) | Multi-stage command processing pipeline and method for shared cache access | |
JP2005235182A (ja) | 不揮発性メモリを制御するためのコントローラ | |
US8688942B2 (en) | Method and system controlling page open time for memory device | |
US20060174083A1 (en) | Method of load/store dependencies detection with dynamically changing address length | |
JP2011065503A (ja) | キャッシュメモリシステム及びキャッシュメモリのway予測の制御方法 | |
JP4516289B2 (ja) | シーケンシャルメモリの読出しデバイスとその方法 | |
JPS6055849B2 (ja) | 命令制御方式 | |
JPH07182170A (ja) | マイクロプロセッサ | |
JP2001195242A5 (ja) | データ処理システム及び初期化方法 | |
US20070011394A1 (en) | Access method and access circuit for flash memory in embedded system | |
US5012410A (en) | Data processor with instruction cache memory | |
US20060095744A1 (en) | Memory control circuit and microprocessor system | |
US20080250211A1 (en) | Cache control method, cache device, and microcomputer | |
JP2000122919A (ja) | プロセッサ及びメモリ制御方法 | |
JP2004206369A (ja) | 共通資源へのアクセス方式及びアクセスプログラム | |
US20050015561A1 (en) | Memory control method and memory control apparatus | |
TWI718744B (zh) | 處理系統與就地執行控制方法 | |
US20040103267A1 (en) | Data processor having cache memory | |
US20080195805A1 (en) | Micro Controller Unit System Including Flash Memory and Method of Accessing the Flash Memory By the Micro Controller Unit | |
JP4037806B2 (ja) | キャッシュメモリ装置 | |
JP2008052518A (ja) | Cpuシステム | |
JP3169878B2 (ja) | メモリ制御回路 | |
KR920001102B1 (ko) | 정보 처리 장치 | |
TWI606393B (zh) | 依據快取線決定記憶體所有權以偵測自修正程式碼的處理器與方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060518 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100414 |
|
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: 20100511 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100514 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4516289 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |