JP4992114B2 - Main storage device and address control method for main storage device - Google Patents
Main storage device and address control method for main storage device Download PDFInfo
- Publication number
- JP4992114B2 JP4992114B2 JP2008037199A JP2008037199A JP4992114B2 JP 4992114 B2 JP4992114 B2 JP 4992114B2 JP 2008037199 A JP2008037199 A JP 2008037199A JP 2008037199 A JP2008037199 A JP 2008037199A JP 4992114 B2 JP4992114 B2 JP 4992114B2
- Authority
- JP
- Japan
- Prior art keywords
- physical address
- address
- generation logic
- address generation
- bank
- 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
Images
Description
本発明は、コンピュータシステムの主記憶装置に関し、特に、主記憶装置のスループットを向上させるアドレス制御技術に関する。 The present invention relates to a main storage device of a computer system, and more particularly to an address control technique for improving the throughput of the main storage device.
複数のRAMを備え、且つ、各RAMが複数のバンクに分割されている主記憶装置においては、一般的に、連続する論理アドレスを、RAMの先頭バンクから最終バンクまでを繰り返しアクセスし、最終バンク内の最終位置までアクセスしたら、別RAMの先頭バンクから最終バンクまでを繰り返しアクセスする物理アドレスに変換するという物理アドレス生成論理により、演算処理装置から発行された論理アドレスを物理アドレスに変換するようにしている。従って、例えば、RAM#1、#2を備えた主記憶装置においては、演算処理装置から連続する論理アドレスが発行された場合には、図12に示すように、RAM#1のBANK00〜BANK07が繰り返しアクセスされ、BANK07内の最終アドレスがアクセスされた後、RAM#2のBANK08〜BANK15が繰り返しアクセスされる。
In a main storage device including a plurality of RAMs and each RAM being divided into a plurality of banks, generally, successive logical addresses are repeatedly accessed from the first bank to the last bank of the RAM, and the last bank When the last position in the RAM is accessed, the logical address issued from the arithmetic processing unit is converted into a physical address by physical address generation logic that repeatedly converts the physical bank from the first bank to the last bank in another RAM. ing. Therefore, for example, in the main storage device including the
一方、特許文献1には、コンピュータシステムのメモリに関し、RAMインタフェースが異なる(メモリコントローラーとRAM間の電気的・論理的インタフェースが異なる)RAM毎に、アドレス生成論理を切り替える技術が記載されている。
On the other hand,
RAM#1、#2がサイクルタイムが短い高速RAMの場合には、演算処理装置から連続する論理アドレスが発行された際に、図12に示すようにRAM#1のBANK00〜BANK07を繰り返しアクセスし、その後、RAM#2のBANK08〜BANK15を繰り返しアクセスするようにしても問題は生じないが、RAM#1、#2が低速RAMの場合には、主記憶装置のスループットが低下するという問題が生じる。即ち、RAM#1、#2が低速RAMの場合には、最終バンクBANK07、15をアクセスした後、先頭バンクBANK00、08をアクセスしようとするが、その時点では、BANK00、08の出力が確定していないため、BANK00、08の出力が確定するのを待たなければならず(バンクコンフリクト)、その分、主記憶装置のスループットが低下してしまう。
When
また、特許文献1には、コンピュータシステムのメモリに関し、RAMインタフェースが異なるRAM毎に、アドレス生成論理を切り替える技術は記載されているが、上記した課題、その解決手段については全く記載されていない。
〔発明の目的〕
そこで、本発明の目的は、主記憶装置が低速RAMによって構成されている場合であっても、スループットを大きくできるようにすることにある。
(Object of invention)
Accordingly, an object of the present invention is to increase the throughput even when the main storage device is constituted by a low-speed RAM.
本発明にかかる第1の主記憶装置は、
複数のRAMと、メモリコントローラーとを備えた主記憶装置において、
前記複数のRAMがそれぞれ複数のバンクに分割され、且つ、
前記メモリコントローラーが、
連続する論理アドレスを、RAMの先頭バンクから最終バンクを順次アクセスし、該最終バンクをアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第1の物理アドレス生成論理により、演算処理装置から発行された論理アドレスを物理アドレスへ変換するアドレス生成回路を備えたことを特徴とする。
The first main storage device according to the present invention is:
In a main storage device having a plurality of RAMs and a memory controller,
The plurality of RAMs are each divided into a plurality of banks; and
The memory controller is
Operation is performed by first physical address generation logic in which consecutive logical addresses are sequentially accessed from the first bank of the RAM to the last bank, and after the last bank is accessed, the first bank is converted to a physical address for accessing the first bank of another RAM. An address generation circuit for converting a logical address issued from a processing device into a physical address is provided.
本発明にかかる第1の主記憶装置のアドレス制御方法は、
複数のRAMを備え、且つ前記複数のRAMがそれぞれ複数のバンクに分割された主記憶装置のアドレス制御方法であって、
アドレス生成回路が、連続する論理アドレスを、RAMの先頭バンクから最終バンクを順次アクセスし、該最終バンクをアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第1の物理アドレス生成論理により、演算処理装置から発行された論理アドレスを物理アドレスへ変換することを特徴とする。
An address control method for a first main storage device according to the present invention includes:
An address control method for a main storage device comprising a plurality of RAMs, wherein each of the plurality of RAMs is divided into a plurality of banks,
A first physical address in which the address generation circuit sequentially accesses the last bank from the first bank of the RAM and converts the continuous logical address into a physical address that accesses the first bank of another RAM after accessing the last bank. According to the generation logic, a logical address issued from the arithmetic processing unit is converted into a physical address.
本発明によれば、主記憶装置を構成するRAMが低速RAMであっても、主記憶装置のスループットを大きなものにすることにある。 According to the present invention, even if the RAM constituting the main storage device is a low-speed RAM, the throughput of the main storage device is increased.
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
〔本発明の実施の形態〕
図1を参照すると、本実施の形態にかかるコンピュータシステムは、中央処理装置(CPU)1と、主記憶装置(MMU)2と、磁気ディスク装置などによって実現されるメモリ保存用ディスク装置5とから構成されている。
Embodiment of the present invention
Referring to FIG. 1, a computer system according to the present embodiment includes a central processing unit (CPU) 1, a main storage unit (MMU) 2, and a memory
主記憶装置2は、メモリコントローラー3と、記憶部4とを備えている。
The
記憶部4は、複数のRAM4−1〜4−4から構成されており、各RAM4−1〜4−4は、それぞれ8バンク構成になっている。また、RAM4−1、4−2はメモリチャネル(メモリCH)番号#0のバスによりメモリコントローラー3と接続され、RAM4−3、4−4はメモリCH番号#1のバスによりメモリコントローラー3と接続されている。
The
メモリコントローラー3は、アドレスモードレジスタ3−1と、メモリアクセス制御回路3−2と、スループットカウンタ3−3と、ビジーカウンタ3−4と、アドレス生成回路3−5とから構成されている。
The
アドレスモードレジスタ3−1は、アドレス生成回路3−5の物理アドレス生成論理を切り替えるために使用するレジスタであり、第1或いは第2の物理アドレス生成論理A、Bを選択するための選択情報として、“0”あるいは“1”が格納される。アドレスモードレジスタ3−1の設定は、オペレーティングシステム(OS)やメモリアクセス制御部3−2によって行われる。 The address mode register 3-1 is a register used for switching the physical address generation logic of the address generation circuit 3-5, and is used as selection information for selecting the first or second physical address generation logic A or B. , “0” or “1” is stored. The setting of the address mode register 3-1 is performed by the operating system (OS) and the memory access control unit 3-2.
メモリアクセス制御部3−2は、演算処理装置1が発行する主記憶装置に対するアクセスリクエスト(書き込み、読み出し命令)に従って記憶部4を構成するRAMを制御するためのチップイネーブル信号やライト・リードイネーブル信号などを生成する他、RAMスペックに従い、RAMへの制御信号の送出タイミング間隔制御(ビジー制御)を行う。更に、メモリアクセス制御部3−2は、OSからカウンタ測定開始指示があった場合、スループットカウンタ3−3、ビジーカウンタ3−4のカウント動作を開始させ、OSからカウンタ読み出し指示があった場合、スループットカウンタ3−3、ビジーカウンタ3−4のカウント値をOSに渡す。更に、OSからアドレス割付け切り替え指示があった場合は、その内部に設けられているアドレス切り替え中フラグをセットする処理、記憶部4の内容をメモリ保存用ディスク装置5にコピー(退避)する処理、アドレスモードレジスタ3−1に設定する選択情報の値を物理アドレス切り替え指示によって指示された物理アドレス割付け種別に対応した値に変更する処理、メモリ保存用ディスク装置5に退避しておいたデータをOSから指示された物理アドレス割付け種別の割付方法で記憶部4に書き戻す処理、アドレス切り替え中フラグをリセットする処理を順次行う。
The memory access control unit 3-2 is a chip enable signal or a write / read enable signal for controlling the RAM constituting the
アドレス生成回路3−5は、演算処理装置1から発行されたアドレス(論理アドレス)を、記憶部4を構成するRAMを制御するための物理アドレスに変換する。その際、アドレスモードレジスタ3−1の値が“0”であれば、第1の物理アドレス生成論理Aを用いて論理アドレスを物理アドレスに変換し、“1”であれば第2の物理アドレス生成論理Bを用いて論理アドレスを物理アドレスに変換する。なお、第1、第2の物理アドレス生成論理A、Bについては後で詳しく説明する。
The address generation circuit 3-5 converts the address (logical address) issued from the
スループットカウンタ3−3は、任意の期間に主記憶装置2が処理したメモリアクセスリクエスト数をカウントするためのカウンタである。ビジーカウンタ3−4は、任意の期間に発生したビジーによるリクエスト発行待ち時間をカウントするためのカウンタであり、図2に示すように、ビジーの種類毎のカウンタ3−4a〜3−4cを備えている。カウンタ3−4aは、図3(a)に示すような同一バンク連続アクセス時の待ち時間(ビジー時間)をカウントし、カウンタ3−4bは図3(b)に示すような同一RAM内の別バンクへの連続アクセス時の待ち時間をカウントし、カウンタ3−4cは図3(c)に示すようなメモリCH内のデータバスに接続される異RAM間連続アクセス時の待ち時間をカウントする。なお、図3(c)に示す待ち時間(バスコンフリクト時間)は、一般的にRAM単体のスピードランク(サイクルタイム)とは無関係であり、バスの物理構成(配線長、バスに接続されるデバイス数)に依存する。
The throughput counter 3-3 is a counter for counting the number of memory access requests processed by the
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。なお、本実施の形態にかかるコンピュータシステムは、通常モード、ダイナミック割付けモード、自動最適化モードの3つのモードで動作可能になっている。
[Description of Operation of Embodiment]
Next, the operation of the present embodiment will be described in detail. Note that the computer system according to the present embodiment can operate in three modes: a normal mode, a dynamic allocation mode, and an automatic optimization mode.
〔通常モード時の動作〕
先ず、通常モード時の動作について説明する。通常モード時で動作させる場合には、先ず、記憶部4を構成するRAM4−1〜4−4のスピード(サイクルタイム)に応じた値をアドレスモードレジスタ3−1に設定する。RAM4−1〜4−4が低速のRAMである場合には、“0”を設定し、高速のRAMである場合には“1”を設定する。この設定は、例えば、管理者がOSに対してアドレスモードレジスタ3−1に設定する値を指示し、この指示を受けたOSが指定された値をアドレスモードレジスタ3−1に設定する。その後、OSはプログラムの実行を指示する。
[Operation in normal mode]
First, the operation in the normal mode will be described. When operating in the normal mode, first, a value corresponding to the speed (cycle time) of the RAMs 4-1 to 4-4 constituting the
メモリアクセス制御部3−2は、プログラムの実行に伴って演算処理装置1が発行する主記憶装置2に対するアクセスリクエスト(書き込み、読み出し命令)に従って記憶部4を構成するRAMを制御するためのチップイネーブル信号やライト・リードイネーブル信号などを生成する。また、アドレス生成回路3−5は、演算処理装置1から発行されたアドレス(論理アドレス)を、記憶部4を構成するRAMを制御するための物理アドレスに変換する。その際、アドレス生成回路3−5は、図4のフローチャートに示すように、アドレスモードレジスタ3−1の値が“0”であれば(ステップS401がYES)、第1の物理アドレス生成論理Aを用いて物理アドレスを生成し(ステップS402)、“1”であれば(ステップS401がNO)、第2の物理アドレス生成論理Bを用いて物理アドレスを生成する(ステップS403)。
The memory access control unit 3-2 is a chip enable for controlling the RAM constituting the
図5(A)、(B)は、それぞれ第1、第2の物理アドレス生成論理A、Bを用いて物理アドレスを生成した際のアドレス割付けを示した図である。第1の物理アドレス生成論理Aでは、図5(A)に示すように、論理アドレスの最下位ビット[第0ビット]を物理アドレスのメモリCH番号を示すビット位置に配置し、論理アドレスの次の3ビット[第1ビット〜第3ビット]を物理アドレスのRAM内バンク番号を示すビット位置に配置し、論理アドレスの次の1ビット[第4ビット]を物理アドレスのメモリCH内グループ(GRP)番号を示すビット位置に配置し、論理アドレスの残りのビット[第5ビット〜第(n−1)ビット]を物理アドレスのバンク内アドレスを示すビット位置に配置することにより、物理アドレスを生成する。このようなアドレス割付けを第1のアドレス割付けAと称す。また、第2の物理アドレス生成論理Bでは、図5(B)に示すように、論理アドレスの最下位ビット[第0ビット]を物理アドレスのメモリCH番号を示すビット位置に配置し、論理アドレスの次の3ビット[第1ビット〜第3ビット]を物理アドレスのRAM内バンク番号を示すビット位置に配置し、論理アドレスの最上位ビット[第(n−1)ビット]を物理アドレスのグループ番号を示すビット位置に配置し、論理アドレスの残りのビット[第4ビット〜第(n−2)ビット]を物理アドレスのバンク内アドレスを示すビット位置に配置することにより、物理アドレスを生成する。このようなアドレス割付けを第2のアドレス割付けBと称す。 FIGS. 5A and 5B are diagrams showing address allocation when the physical addresses are generated using the first and second physical address generation logics A and B, respectively. In the first physical address generation logic A, as shown in FIG. 5A, the least significant bit [0th bit] of the logical address is arranged at the bit position indicating the memory CH number of the physical address, 3 bits [1st to 3rd bits] of the physical address are arranged in the bit position indicating the bank number in the RAM of the physical address, and the next 1 bit [4th bit] of the logical address is the group in the memory CH (GRP) of the physical address. ) The physical address is generated by placing the bit in the bit position indicating the number and placing the remaining bits of the logical address [5th bit to (n-1) bit] in the bit position indicating the bank address of the physical address. To do. Such an address assignment is referred to as a first address assignment A. Further, in the second physical address generation logic B, as shown in FIG. 5B, the least significant bit [0th bit] of the logical address is arranged at the bit position indicating the memory CH number of the physical address, and the logical address The next 3 bits [1st to 3rd bits] are arranged at the bit position indicating the bank number in the RAM of the physical address, and the most significant bit [(n-1) bit] of the logical address is a group of physical addresses A physical address is generated by arranging the remaining bits [fourth to (n-2) th bits] of the logical address in the bit position indicating the bank address of the physical address by arranging the bit address indicating the number. . Such address assignment is referred to as second address assignment B.
従って、第1の物理アドレス生成論理Aを用いた場合に、例えば、論理アドレスオール“0”番地から連続アクセスすると、BANK00→BANK01→BANK02→…→BANK31→BANK00→BANK01→…の順でアクセスされることになる。これを1つのメモリCH内に限定すると、メモリCH#0では、BANK00→BANK02→…→BANK30→BANK00の順となり、RAMを跨ぐアクセスが行われたとき、即ちBANK14→BANK16のときにバスコンフリクトが生じる可能性がある。
Therefore, when the first physical address generation logic A is used, for example, when the logical address all addresses “0” are continuously accessed, the access is made in the order of BANK00 → BANK01 → BANK02 →... → BANK31 → BANK00 → BANK01 → Will be. When this is limited to one memory CH, in the
一方、第2の物理アドレス生成論理Bを用いた場合には、論理アドレスオール“0”番地から連続アクセスすると、BANK00→BANK01→…→BANK14→BANK15の順のアクセスが複数回(グループ番号#0のRAMの全アドレスがアクセスされるまで)行われ、その後、BANK16→BANK17→…→BANK30→BANK31の順のアクセスが複数回行われる。これをメモリCH内に限定すると、メモリCH#0では、BANK00→BANK02→…→BANK14の順のアクセスが複数回行われた後、BANK16→BANK18→…→BANK30の順のアクセスが複数回行われる。この場合も、BANK14→BANK16のときにバスコンフリクトが発生する可能性があるが、第1の物理アドレス生成論理Aを用いた場合に比較して、RAMを跨ぐアクセスが行われる頻度が少なくなるので、バスコンフリクトが発生する危険性が少なくなる。
On the other hand, when the second physical address generation logic B is used, if the logical addresses are all continuously accessed from the address “0”, the access in the order of BANK00 → BANK01 →... → BANK14 → BANK15 is made multiple times (
図6にビジー時間の一例を示す。一般的なDDR−SDRAM系のメモリデバイスは、データバス速度が数nsであるのに対し連続アクセス時間が数十nsであるため、RAM内部を複数バンクに分割しインタリーブすることでバンク内のビジー時間を隠蔽している。従って、ビジーサイクルの内訳はおおよそ図6に示すようになる。図6では、低速、高速RAMそれぞれについて、同一RAM内の同一バンクをライトアクセスする際のビジー時間、同一RAM内の同一バンクをリードアクセスする際のビジー時間、同一RAM内の異なるバンクを連続してリード或いはライトアクセスする際のビジー時間、同一RAM内の異なるバンクに対してリードアクセス及びライトアクセスを順次行う場合のビジー時間、同一RAM内の異なるバンクに対してライトアクセス及びリードアクセスを順次行う場合のビジー時間、異なるRAMを連続してリード或いはライトアクセスする場合のビジー時間、異なるRAMに対してリードアクセス及びライトアクセスを順次行う場合のビジー時間、異なるRAMに対してライトアクセス及びリードアクセスを順次行う場合のビジー時間を示している。 FIG. 6 shows an example of the busy time. A general DDR-SDRAM memory device has a data bus speed of several ns, but has a continuous access time of several tens of ns. Concealing time. Therefore, the breakdown of the busy cycle is approximately as shown in FIG. In FIG. 6, for each of the low-speed and high-speed RAMs, the busy time for write access to the same bank in the same RAM, the busy time for read access to the same bank in the same RAM, and different banks in the same RAM are consecutive. Busy time for read or write access, busy time for sequential read access and write access to different banks in the same RAM, and sequential write access and read access to different banks in the same RAM Busy time, busy time for consecutive read or write access to different RAMs, busy time for sequential read access and write access to different RAMs, write access and read access to different RAMs Indicates busy time for sequential To have.
図6から分かるように、低速RAMの場合、メモリスループットのネックとなるのは、ランダムアクセス(数バイト〜数百バイト程度の小規模アクセス)時の同一バンクアクセスによるところが大きい。従って、低速RAMの場合は、連続アドレス中のインタリーブ数(バンク数)が多いほど、メモリスループットが良いことになる。例えば、1メモリアドレス当たりのデータ幅を4バイトとした場合、連続256バイト内のインタリーブ数は、図5(A)に示したアドレス割付けAの場合には32となり、同図(B)に示したアドレス割付けBの場合には16となるので、アドレス割付けAの方が好ましいことになる。 As can be seen from FIG. 6, in the case of a low-speed RAM, the bottleneck of memory throughput is largely due to the same bank access during random access (small access of several bytes to several hundred bytes). Therefore, in the case of a low-speed RAM, the larger the interleave number (bank number) in the continuous address, the better the memory throughput. For example, when the data width per memory address is 4 bytes, the number of interleaves in 256 consecutive bytes is 32 in the case of the address assignment A shown in FIG. 5A, and is shown in FIG. In the case of the address allocation B, the address allocation A is 16. Therefore, the address allocation A is preferable.
一方、高速RAM(例えば、FCRAM)の同一バンクアクセスのビジー時間は低速RAMに比較して大幅に短く、バスコンフリクト時間の影響が無視できなくなり、実行するプログラムのメモリアクセス特性によっては、バスコンフリクトによるメモリスループット低下の影響が顕著に現れるケースがある。 On the other hand, the same bank access busy time of a high-speed RAM (for example, FCRAM) is significantly shorter than that of the low-speed RAM, and the influence of the bus conflict time cannot be ignored. Depending on the memory access characteristics of the program to be executed, There are cases in which the effect of a decrease in memory throughput appears significantly.
図7にバンクコンフリクト、バスコンフリクトの影響を簡易的に計算した結果を示す。図7(A)、(B)は、それぞれアドレス割付けA、Bについてのバンクコンフリクト、バスコンフリクトの影響を簡易計算した結果を示している。 FIG. 7 shows the result of simple calculation of the influence of bank conflict and bus conflict. FIGS. 7A and 7B show the results of simple calculations of the effects of bank conflict and bus conflict for address assignments A and B, respectively.
アドレス割付けAの場合は、図5(A)に示すように、メモリCH当たりのバンク数は16であり、この16バンクには連続するアドレスが割り振られているので、主記憶アクセス命令発行レートを100%とすると、同一バンクを連続アクセスする確率は1/16、同一RAM内の異なるバンクをアクセスする確率は7/16、メモリCH内の他のRAMをアクセスする確率は8/16となる。上記した各場合の確率(a)と、上記した各場合の低速、高速RAMのビジー時間(b)、(b')を掛け合わせた値が、上記した各場合の低速、高速RAMのビジー時間の指標値(期待値)となる。ここで、高速RAM、低速RAMそれぞれについて、指標値の合計値を求めると、それぞれ「14.25」、「17.25」となる。この値が少ないほど、バンクコンフリクト、バスコンフリクトによるメモリスループットの低下が少ないことになる。 In the case of address allocation A, as shown in FIG. 5A, the number of banks per memory CH is 16, and since consecutive addresses are allocated to these 16 banks, the main memory access instruction issue rate is Assuming 100%, the probability of continuously accessing the same bank is 1/16, the probability of accessing different banks in the same RAM is 7/16, and the probability of accessing another RAM in the memory CH is 8/16. The value obtained by multiplying the probability (a) in each case described above by the low speed and high speed RAM busy times (b) and (b ′) in each case described above is the low speed and high speed RAM busy time in each case described above. Index value (expected value). Here, for each of the high-speed RAM and the low-speed RAM, the total value of the index values is “14.25” and “17.25”, respectively. The smaller this value is, the less the memory throughput is reduced due to bank conflicts and bus conflicts.
一方、アドレス割付けBの場合も、図5(B)に示すように、メモリCH当たりのバンク数は16であるが、連続するアドレスが割り当てられるのは8バンクである。従って、バスコンフリクトが発生するのは、主記憶装置の記憶容量をmバイトとした場合、m/2バイト境界を跨ぐ連続アクセス時のみとなる。例えば、図5(B)に示した1個のRAMの容量が1Gバイトであるとすると、1メモリCH当たりのメモリ容量は2Gバイトとなる。プログラム実行時の主記憶アクセスの局所性に着目した場合、局所的なアドレス範囲が数Kバイト〜数Mバイトのプログラムを想定すると、上記m/2バイト境界を跨ぐメモリアクセスによるバスコンフリクトの影響はほとんど無視できることが容易に推測できる。バスコンフリクトの影響を無視し、アドレス割付けAの場合と同様にして低速、高速RAMのビジー時間の指標値を求めると図7(B)に示すものとなる。図7(B)に示すように、アドレス割付けBの場合における、高速RAM、低速RAMの指標値の合計値は、それぞれ「13.5」、「19.5」となる。 On the other hand, in the case of address assignment B, as shown in FIG. 5B, the number of banks per memory CH is 16, but 8 addresses are assigned consecutive addresses. Therefore, a bus conflict occurs only at the time of continuous access across an m / 2 byte boundary when the storage capacity of the main storage device is m bytes. For example, if the capacity of one RAM shown in FIG. 5B is 1 Gbyte, the memory capacity per memory CH is 2 Gbyte. Focusing on the locality of main memory access during program execution, assuming a program with a local address range of several kilobytes to several megabytes, the effect of bus conflict due to memory access across the m / 2 byte boundary is as follows: It can be easily guessed that it is almost negligible. If the influence of the bus conflict is ignored and the busy time index value of the low-speed and high-speed RAM is obtained in the same manner as in the case of the address assignment A, the result is as shown in FIG. As shown in FIG. 7B, the total index values of the high-speed RAM and the low-speed RAM in the case of address allocation B are “13.5” and “19.5”, respectively.
図7(A)、(B)から分かるように、高速RAMの場合は、アドレス割付けBの方が指標値の合計値が小さくなり、低速RAMの場合は逆にアドレス割付けAの方が指標値の合計値が小さくなる。 As can be seen from FIGS. 7A and 7B, in the case of the high-speed RAM, the total value of the index values is smaller in the address allocation B, and conversely in the case of the low-speed RAM, the address allocation A is the index value. The total value of becomes smaller.
従って、記憶部4を構成するRAM4−1〜4−4が低速RAMの場合には、アドレスモードレジスタ3−1に“0”を設定してアドレス割付けAが行われるようにし、高速RAMの場合にはアドレスモードレジスタ3−1に“1”を設定してアドレス割付けBが行われるようにすることにより、主記憶スループットの低下を最小限に留めることができる。
Accordingly, when the RAMs 4-1 to 4-4 constituting the
〔ダイナミック割付けモード時の動作〕
次に、ダイナミック割付けモード時の動作について、図8及び図9を参照して説明する。本モードは、実行する各プログラムのアドレス割付け種別(アドレス割付けA、或いはアドレス割付けBを示す)が予め決まっている場合に利用される。アドレス割付け種別は、例えば、プログラムのコンパイルオプション等で指定し、OSはこの指定に基づいて、必要に応じてアドレス割付け種別を切り替える。なお、各プログラムのアドレス割付け種別は、各プログラムの特性(アクセスするアドレスの規則性)に基づいて、主記憶スループットの低下が少なくなるものを選択する。
[Operation in dynamic allocation mode]
Next, the operation in the dynamic allocation mode will be described with reference to FIGS. This mode is used when the address assignment type (indicating address assignment A or address assignment B) of each program to be executed is determined in advance. The address allocation type is specified by, for example, a program compile option, and the OS switches the address allocation type as necessary based on this specification. Note that the address allocation type of each program is selected based on the characteristics of each program (regularity of addresses to be accessed) so that the decrease in main memory throughput is reduced.
アドレス割付け種別が予め決まっているプログラムA,Bがあって、プログラムAの次にプログラムBを実行する場合、図8のフローチャートに示すように、OSは、現在実行中のプログラムAが終了すると、次に実行するプログラムBのアドレス割付け種別を調べ(ステップS801)、更に、アドレスモードレジスタ3−1を参照して現在のアドレス割付け種別を調べる(ステップS802)。その後、OSはステップS801、S802で調べたアドレス割付け種別を比較する(ステップS803)。 When there are programs A and B whose address allocation types are determined in advance and program B is executed after program A, as shown in the flowchart of FIG. Next, the address allocation type of the program B to be executed is checked (step S801), and the current address allocation type is checked with reference to the address mode register 3-1 (step S802). Thereafter, the OS compares the address allocation types checked in steps S801 and S802 (step S803).
そして、両者が一致する場合(ステップS803がYES)は、直ちに次のプログラムBの実行を指示する(ステップS806)。これに対して、両者が一致しない場合(ステップS803がNO)は、メモリアクセス制御部3−2に対して、プログラムBのアドレス割付け種別を含んだアドレス割付け切り替え指示を出力し(ステップS804)、アドレス切り替え中フラグがリセットされるのを待つ(ステップS805)。そして、アドレス切り替え中フラグがリセットされると(ステップS805がYES)、プログラムBの実行を指示する(ステップS806)。 If the two match (step S803 is YES), the next program B is immediately instructed to be executed (step S806). On the other hand, if the two do not match (NO in step S803), an address assignment switching instruction including the address assignment type of program B is output to the memory access control unit 3-2 (step S804). It waits for the address switching flag to be reset (step S805). If the address switching flag is reset (YES in step S805), execution of the program B is instructed (step S806).
次に、図9を参照して、アドレス割付け切り替え指示が入力されたときの、メモリアクセス制御部3−2の動作を説明する。但し、図9は現在のアドレス割付け種別がアドレス割付けAであり、次に実行するプログラムBのアドレス割付け種別がアドレス割付けBである場合を示している。 Next, an operation of the memory access control unit 3-2 when an address assignment switching instruction is input will be described with reference to FIG. However, FIG. 9 shows a case where the current address assignment type is address assignment A, and the address assignment type of the program B to be executed next is address assignment B.
OSは、プログラムAの実行が終了すると、プログラムBのアドレス割付け種別(アドレス割付けB)を含んだアドレス割付け切り替え指示をメモリアクセス制御部3−2に対して出力する。 When the execution of the program A is completed, the OS outputs an address allocation switching instruction including the address allocation type (address allocation B) of the program B to the memory access control unit 3-2.
これにより、メモリアクセス制御部3−2は、先ず、アドレス切り替え中フラグをセットし(図9のステップS901)、演算処理装置1に対して主記憶アクセスの禁止を伝える。次いで、メモリアクセス制御部3−2は、記憶部4のデータをメモリ保存用ディスク装置5にコピーし(ステップS902)、コピーが終了した時点でアドレスモードレジスタ3−1の値をアドレス割付けBに対応する値“1”に更新する(ステップS903)。その後、メモリアクセス制御部3−2は、アドレス割付けBで、メモリ保存用ディスク装置5の内容を記憶部4に書き戻す(ステップS904)。この時点で、記憶部4のデータは、アドレス割付けBに対応したものとなる。アドレス変換は、主記憶装置2内部に閉じているため、演算処理装置1−主記憶装置2間のアドレス読み替えは不要である。その後、メモリアクセス制御部3−2は、アドレス切り替え中フラグをリセットする(ステップS905)。これにより、OSはプログラムBの実行を指示する。
Thereby, the memory access control unit 3-2 first sets an address switching flag (step S901 in FIG. 9), and notifies the
〔自動最適化モード時の動作〕
次に、自動最適化モード時の動作について、図10及び図11を参照して説明する。
[Operation in automatic optimization mode]
Next, the operation in the automatic optimization mode will be described with reference to FIGS.
OSは、新たなプログラムの実行を指示する場合には、先ず、アドレスモードレジスタ3−1を参照して現在のアドレス割付け種別を調べる(図10のステップS1001)。今、例えばアドレス割付け種別がアドレス割付けAであったとする。その後、OSはメモリアクセス制御部3−2に対してカウンタ測定開始指示を出力すると共にプログラム実行指示を出力する(ステップS1002、S1003)。なお、ステップS1003では、実行対象プログラムの代わりに、ユーザが用意している上記実行対象プログラムに対するテストプログラム(例えば、実行プログラムのデータ配列を小さくしたプログラム)の実行を指示するようにしても良い。 When instructing the execution of a new program, the OS first checks the current address allocation type with reference to the address mode register 3-1 (step S1001 in FIG. 10). For example, assume that the address assignment type is address assignment A. Thereafter, the OS outputs a counter measurement start instruction and a program execution instruction to the memory access control unit 3-2 (steps S1002 and S1003). In step S1003, instead of the execution target program, execution of a test program (for example, a program in which the data array of the execution program is reduced) for the execution target program prepared by the user may be instructed.
メモリアクセス制御部3−2は、カウンタ測定開始指示が入力されると、図11に示すように、スループットカウンタ3−3及びビジーカウンタ3−4に対するカウンタリセット信号を出力した後、カウンタイネーブル信号を出力する。これにより、スループットカウンタ3−3は、主記憶装置2が処理するメモリアクセスリクエスト数のカウントを開始し、スループットカウンタ3−4は、リクエスト発行待ち時間のカウントを開始する。
When a counter measurement start instruction is input, the memory access control unit 3-2 outputs a counter reset signal to the throughput counter 3-3 and the busy counter 3-4 as shown in FIG. Output. As a result, the throughput counter 3-3 starts counting the number of memory access requests processed by the
一方、OSは、プログラム実行指示を出力してから所定時間Tが経過すると、プログラムの停止を指示すると共に、メモリアクセス制御部3−2に対してカウンタ読み出し指示を出力する(ステップS1004)。なお、テストプログラムを実行するようにした場合は、テストプログラムが終了してからカウンタ読み出し指示を出力する。 On the other hand, when a predetermined time T has elapsed after outputting the program execution instruction, the OS instructs the program to stop and outputs a counter read instruction to the memory access control unit 3-2 (step S1004). When the test program is executed, the counter read instruction is output after the test program is completed.
これにより、メモリアクセス制御部3−2は、カウンタイネーブル信号を“0”とし、スループットカウンタ3−3及びビジーカウンタ3−4のカウント値をOSに伝える。OSは、アドレス割付けAのときの両カウンタのカウント値を保持する(ステップS1005)。なお、ビジーカウンタ3−4については、各カウンタ3−4a〜3−4cのカウント値の合計値を保持する。以下では、この合計値をビジーカウンタ3−4の合計値という。 As a result, the memory access control unit 3-2 sets the counter enable signal to “0” and transmits the count values of the throughput counter 3-3 and the busy counter 3-4 to the OS. The OS holds the count values of both counters at the time of address allocation A (step S1005). The busy counter 3-4 holds the total value of the count values of the counters 3-4a to 3-4c. Hereinafter, this total value is referred to as the total value of the busy counter 3-4.
その後、OSは、アドレス割付けA、Bの内、アドレス割付けAでしかスループット、リクエスト発行待ち時間を測定していないので(ステップS1006がNO)、アドレス割付け種別をアドレス割付けBに変更するために、メモリアクセス制御部3−2に対してアドレス割付け切り替え指示を出力する(ステップS1007)。これにより、メモリアクセス制御部3−2では、前述したステップS901〜S905と同様の処理を行う(図11のステップS1101〜1105)。 Thereafter, since the OS measures the throughput and the request issuance waiting time only in address allocation A among address allocations A and B (NO in step S1006), in order to change the address allocation type to address allocation B, An address assignment switching instruction is output to the memory access control unit 3-2 (step S1007). As a result, the memory access control unit 3-2 performs the same processing as steps S901 to S905 described above (steps S1101 to 1105 in FIG. 11).
OSは、アドレス切り替え中フラグがリセットされると、再び、前述したステップS1002〜S1005の処理を行い、アドレス割付けBのときの両カウンタのカウント値を保持する。 When the address switching flag is reset, the OS again performs the above-described processing of steps S1002 to S1005 and holds the count values of both counters at the time of address allocation B.
その後、OSは、アドレス割付けがAのときのスループットカウンタ3−3、ビジーカウンタ3−4のカウント値と、アドレス割付けがBのときのスループットカウンタ3−3、ビジーカウンタ3−4のカウント値と、予め定められている判定基準とに基づいて、アドレス割付けA、Bの内のどちらを使用するか決定する(ステップS1009)。ここで、判定基準としては、次のようなものを使用することができる。スループットカウンタ3−3のカウント値は、スループットが大きいほど大きくなり、ビジーカウンタ3−4のカウント値はスループットが大きいほど小さくなる。従って、例えば、アドレス割付けA、Bの内、スループットカウンタ3−3のカウント値が大きくなった方を使用するという判定基準を採用することができる。また、アドレス割付けA、Bの内、ビジーカウンタ3−4のカウント値が小さくなった方を使用するという判定基準を採用することもできる。また、アドレス割付けA、Bの内、スループットカウンタ3−3のカウント値とビジーカウンタ3−4のカウント値との比率(スループットカウンタ3−3のカウント値/ビジーカウンタ3−4のカウント値)が大きい方を使用するという判定基準を採用することもできる。 Thereafter, the OS determines the count values of the throughput counter 3-3 and the busy counter 3-4 when the address allocation is A, and the count values of the throughput counter 3-3 and the busy counter 3-4 when the address allocation is B. Based on a predetermined criterion, it is determined which one of the address assignments A and B is used (step S1009). Here, the following can be used as a criterion. The count value of the throughput counter 3-3 increases as the throughput increases, and the count value of the busy counter 3-4 decreases as the throughput increases. Therefore, for example, it is possible to adopt a criterion of using the address allocation A, B, whichever has a larger count value of the throughput counter 3-3. In addition, it is possible to adopt a determination criterion in which one of the address assignments A and B in which the count value of the busy counter 3-4 becomes smaller is used. Of the address assignments A and B, the ratio between the count value of the throughput counter 3-3 and the count value of the busy counter 3-4 (the count value of the throughput counter 3-3 / the count value of the busy counter 3-4) is The criterion of using the larger one can also be adopted.
そして、ステップS1009で決定したアドレス割付け種別と現在のアドレス割付け種別が同じ場合(S1010がYES)は、直ちにプログラム実行指示を出力する(S1013)。これに対して、決定したアドレス割付け種別と現在のアドレス割付け種別とが異なる場合(ステップS1010がNO)は、アドレス割付け種別を変更するために、メモリアクセス制御部3−2に対してアドレス割付け切り替え指示を出力し(ステップS1011)、アドレス切り替え中フラグがリセットされるのを待って(S1012がYES)、プログラム起動指示を出力する(ステップS1013)。 If the address allocation type determined in step S1009 is the same as the current address allocation type (S1010 is YES), a program execution instruction is immediately output (S1013). On the other hand, when the determined address allocation type is different from the current address allocation type (NO in step S1010), the address allocation switching is performed for the memory access control unit 3-2 in order to change the address allocation type. An instruction is output (step S1011), and after waiting for the address switching flag to be reset (YES in S1012), a program start instruction is output (step S1013).
〔実施の形態の効果〕
本実施の形態によれば、主記憶装置2を構成するRAM4−1〜4−4が低速RAMであっても、主記憶装置2のスループットを大きなものにすることができる。その理由は、連続する論理アドレスを、RAMの先頭バンクから最終バンクを順次アクセスし、上記最終バンクをアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第1の物理アドレス生成論理により、演算処理装置1から発行された論理アドレスを物理アドレスへ変換するアドレス生成回路3−5を備えているからである。
[Effect of the embodiment]
According to this embodiment, even if the RAMs 4-1 to 4-4 constituting the
また、本実施の形態によれば、主記憶装置2を構成するRAM4−1〜4−4が低速RAMであっても高速RAMであっても、主記憶装置1のスループットを大きなものにすることができる。その理由は、アドレスモードレジスタ3−1に設定されている値に基づいて、第1あるいは第2の物理アドレス生成論理により論理アドレスを物理アドレスに変換するアドレス生成回路を備えているからである。
Further, according to the present embodiment, the throughput of the
更に、本実施の形態によれば、実行するプログラムの特性(主記憶アクセスアドレス特性)に応じて第1あるいは第2の物理アドレス生成論理を使用するようにしているので、実行するプログラム毎にスループットを最適なものにすることができるという効果もある。 Furthermore, according to the present embodiment, the first or second physical address generation logic is used according to the characteristics of the program to be executed (main memory access address characteristics), so that the throughput is increased for each program to be executed. There is also an effect that can be optimized.
本発明は、主記憶装置のアドレス制御に適用すると好適である。 The present invention is preferably applied to address control of the main storage device.
1…演算処理装置
2…主記憶装置
3…メモリコントローラー
3−1…アドレスモードレジスタ
3−2…メモリアクセス制御部
3−3…スループットカウンタ
3−4…ビジーカウンタ
3−5…アドレス生成回路
4−1〜4−4…RAM
5…メモリ保存用ディスク装置
DESCRIPTION OF
5 ... Disk storage device for memory storage
Claims (4)
前記複数のRAMがそれぞれ複数のバンクに分割され、且つ、
前記メモリコントローラーが、
第1の物理アドレス生成論理あるいは第2の物理アドレス生成論理を選択する選択情報が設定されるアドレスモードレジスタと、
前記選択情報によって第1の物理アドレス生成論理が選択されている場合は、連続する論理アドレスを、RAMの先頭バンクから最終バンクを順次アクセスし、該最終バンクをアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第1の物理アドレス生成論理により、演算処理装置から発行された論理アドレスを物理アドレスへ変換し、前記選択情報によって第2の物理アドレス生成論理が選択されている場合は、連続する論理アドレスを、RAMの先頭バンクから最終バンクまでを繰り返しアクセスし、該最終バンク内の最終位置までアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第2の物理アドレス生成論理により、前記演算処理装置から発行された論理アドレスを物理アドレスに変換するアドレス生成回路と、
任意の期間に前記主記憶装置が処理したメモリアクセスリクエスト数をカウントするスループットカウンタと、
任意の期間に発生したビジーによるリクエスト発行待ち時間をカウントするビジーカウンタと、
前記アドレス生成回路の物理アドレス生成論理を前記第1の物理アドレス生成論理にしてプログラムを実行したときの前記スループットカウンタのカウント値と前記ビジーカウンタのカウント値との比率と、前記アドレス生成回路の物理アドレス生成論理を前記第2の物理アドレス生成論理にして前記プログラムを実行したときの前記スループットカウンタのカウント値と前記ビジーカウンタのカウント値との比率とに基づいて、前記選択情報によって選択する物理アドレス生成論理を決定する制御手段とを備えたことを特徴とする主記憶装置。 In a main storage device having a plurality of RAMs and a memory controller,
The plurality of RAMs are each divided into a plurality of banks; and
The memory controller is
An address mode register in which selection information for selecting the first physical address generation logic or the second physical address generation logic is set ;
When the first physical address generation logic is selected by the selection information, successive logical addresses are sequentially accessed from the first bank of the RAM to the last bank, and after accessing the last bank, the first bank of another RAM is accessed. Is converted into a physical address by converting the logical address issued from the arithmetic processing unit into a physical address, and the second physical address generation logic is selected by the selection information. In this case, a continuous logical address is repeatedly accessed from the first bank to the last bank in the RAM, accessed to the last position in the last bank, and then converted to a physical address for accessing the first bank in another RAM. Logical address issued from the arithmetic processing unit by the physical address generation logic of An address generating circuit for converting a physical address,
A throughput counter that counts the number of memory access requests processed by the main storage device in an arbitrary period;
A busy counter that counts the request issuance waiting time due to busy that occurred during an arbitrary period,
The ratio between the count value of the throughput counter and the count value of the busy counter when the program is executed with the physical address generation logic of the address generation circuit set to the first physical address generation logic, and the physical value of the address generation circuit based address generation logic and the ratio between the count value and the count value of the busy counter of said throughput counter when executing the program by the second physical address generation logic, the physical address selected by the selection information a main storage device characterized by comprising a control means for determining a generation logic.
メモリ保存用ディスク装置を備え、
前記制御手段が、前記アドレスモードレジスタに選択情報を設定する前に前記各RAMに記憶されているデータを前記メモリ保存用ディスク装置に退避させ、前記選択情報を設定した後、該設定した選択情報によって示される物理アドレス生成論理を用いて前記メモリ保存用ディスク装置に退避させておいたデータを前記各RAMに書き戻すことを特徴とする主記憶装置。 The main storage device according to claim 1 ,
It has a disk device for memory storage,
The control means saves the data stored in each RAM before setting the selection information in the address mode register to the memory storage disk device, sets the selection information, and then sets the selected selection information. A main storage device, wherein the data saved in the memory storage disk device is written back to each RAM using the physical address generation logic indicated by.
第1の物理アドレス生成論理あるいは第2の物理アドレス生成論理を選択する選択情報が設定されるアドレスモードレジスタと、
任意の期間に前記主記憶装置が処理したメモリアクセスリクエスト数をカウントするスループットカウンタと、
任意の期間に発生したビジーによるリクエスト発行待ち時間をカウントするビジーカウンタとを設け、
アドレス生成回路が、前記選択情報によって第1の物理アドレス生成論理が選択されている場合は、連続する論理アドレスを、RAMの先頭バンクから最終バンクを順次アクセスし、該最終バンクをアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第1の物理アドレス生成論理により、演算処理装置から発行された論理アドレスを物理アドレスへ変換し、前記選択情報によって第2の物理アドレス生成論理が選択されている場合は、連続する論理アドレスを、RAMの先頭バンクから最終バンクまでを繰り返しアクセスし、該最終バンク内の最終位置までアクセスした後、別RAMの先頭バンクをアクセスする物理アドレスに変換するという第2の物理アドレス生成論理により、前記演算処理装置から発行された論理アドレスを物理アドレスに変換し、
制御手段が、前記アドレス生成回路の物理アドレス生成論理を前記第1の物理アドレス生成論理にしてプログラムを実行したときの前記スループットカウンタのカウント値と前記ビジーカウンタのカウント値との比率と、前記アドレス生成回路の物理アドレス生成論理を前記第2の物理アドレス生成論理にして前記プログラムを実行したときの前記スループットカウンタのカウント値と前記ビジーカウンタのカウント値との比率とに基づいて、前記選択情報によって選択する物理アドレス生成論理を決定することを特徴とする主記憶装置のアドレス制御方法。 An address control method for a main storage device comprising a plurality of RAMs, wherein each of the plurality of RAMs is divided into a plurality of banks,
An address mode register in which selection information for selecting the first physical address generation logic or the second physical address generation logic is set ;
A throughput counter that counts the number of memory access requests processed by the main storage device in an arbitrary period;
A busy counter that counts the request issuance waiting time due to busy that occurred during an arbitrary period,
When the first physical address generation logic is selected by the selection information, the address generation circuit sequentially accesses the last bank from the first bank of the RAM, and accesses the last bank. The first physical address generation logic for converting the first bank of another RAM into a physical address to be accessed is used to convert the logical address issued from the arithmetic processing unit into a physical address, and the second physical address generation logic is determined by the selection information. Is selected, the successive logical addresses are repeatedly accessed from the first bank to the last bank of the RAM, accessed to the last position in the last bank, and then accessed to the physical address for accessing the first bank of another RAM. By the second physical address generation logic of conversion, the arithmetic processing unit Converting the logical address into a physical address,
A ratio between a count value of the throughput counter and a count value of the busy counter when the control unit executes a program with the physical address generation logic of the address generation circuit set to the first physical address generation logic; based on physical address generation logic generating circuit and the ratio between the count value and the count value of the busy counter of said throughput counter when executing the program by the second physical address generation logic, by the selection information An address control method for a main storage device, comprising determining a physical address generation logic to be selected .
メモリ保存用ディスク装置を設け、
前記制御手段が、前記アドレスモードレジスタに選択情報を設定する前に前記各RAMに記憶されているデータを前記メモリ保存用ディスク装置に退避させ、前記選択情報を設定した後、該設定した選択情報によって示される物理アドレス生成論理を用いて前記メモリ保存用ディスク装置に退避させておいたデータを前記各RAMに書き戻すことを特徴とする主記憶装置のアドレス制御方法。 The main memory address control method according to claim 3 ,
A disk device for memory storage is provided,
The control means saves the data stored in each RAM before setting the selection information in the address mode register to the memory storage disk device, sets the selection information, and then sets the selected selection information. An address control method for a main storage device, wherein the data saved in the memory storage disk device is written back to each RAM using the physical address generation logic indicated by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037199A JP4992114B2 (en) | 2008-02-19 | 2008-02-19 | Main storage device and address control method for main storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037199A JP4992114B2 (en) | 2008-02-19 | 2008-02-19 | Main storage device and address control method for main storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009199135A JP2009199135A (en) | 2009-09-03 |
JP4992114B2 true JP4992114B2 (en) | 2012-08-08 |
Family
ID=41142597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008037199A Active JP4992114B2 (en) | 2008-02-19 | 2008-02-19 | Main storage device and address control method for main storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4992114B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474950B2 (en) | 2020-01-16 | 2022-10-18 | Samsung Electronics Co., Ltd. | Memory controller including plurality of address mapping tables, system on chip, and electronic device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2014068760A1 (en) * | 2012-11-02 | 2016-09-08 | Necディスプレイソリューションズ株式会社 | Electronic apparatus and device control method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5781659A (en) * | 1980-11-10 | 1982-05-21 | Nec Corp | Storage controller |
DE60238519D1 (en) * | 2001-01-12 | 2011-01-20 | Nxp Bv | UNIT AND METHOD FOR MEMORY ADDRESS TRANSLATION AND IMAGE PROCESSING DEVICE WITH SUCH A UNIT |
JP4461669B2 (en) * | 2002-09-09 | 2010-05-12 | ソニー株式会社 | Arithmetic system |
-
2008
- 2008-02-19 JP JP2008037199A patent/JP4992114B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474950B2 (en) | 2020-01-16 | 2022-10-18 | Samsung Electronics Co., Ltd. | Memory controller including plurality of address mapping tables, system on chip, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
JP2009199135A (en) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6255893B2 (en) | Storage control device and storage control program | |
JP5344411B2 (en) | Serial interface memory simultaneous read and write memory operation | |
JP2703668B2 (en) | Data transfer control device and magnetic disk control device | |
JP5384576B2 (en) | Selective use of multiple disparate solid-state storage locations | |
US20180284994A1 (en) | Near memory accelerator | |
JP6069031B2 (en) | Computer and memory management method | |
JP5947302B2 (en) | Memory buffer allocation in computing systems with multiple memory channels | |
JP2009205698A5 (en) | ||
US6615326B1 (en) | Methods and structure for sequencing of activation commands in a high-performance DDR SDRAM memory controller | |
KR20150017526A (en) | Memory command schedular and method for memory command scheduling | |
CN102063943A (en) | NAND flash parameter automatic detection system | |
JP6146128B2 (en) | Data processing device | |
JP5428687B2 (en) | Memory control device | |
WO2009057955A2 (en) | Apparatus for controlling nand flash memory | |
KR20080105390A (en) | Method and apparatus for controlling instructions used in flash memory | |
KR20200056533A (en) | Storage device for performing map scheduling and electronic device including the same | |
JP4992114B2 (en) | Main storage device and address control method for main storage device | |
WO2023125016A1 (en) | Plane programming method and flash memory device thereof | |
WO2011048400A1 (en) | Memory interface compression | |
KR102570454B1 (en) | Semiconductor memory device and method of the same | |
JP7500991B2 (en) | Storage control device and storage control program | |
CN103295627B (en) | Phase transition storage, data parallel wiring method and method for reading data | |
JP6332756B2 (en) | Data processing method, apparatus, and system | |
JP2015191604A (en) | Control device, control program, and control method | |
JP2017097466A (en) | Storage control device, storage control method, and storage control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090805 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
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: 20120410 |
|
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: 20120416 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4992114 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |