JP2009289170A - データ処理装置、メモリコントローラ及びそのアクセス制御方法 - Google Patents
データ処理装置、メモリコントローラ及びそのアクセス制御方法 Download PDFInfo
- Publication number
- JP2009289170A JP2009289170A JP2008143182A JP2008143182A JP2009289170A JP 2009289170 A JP2009289170 A JP 2009289170A JP 2008143182 A JP2008143182 A JP 2008143182A JP 2008143182 A JP2008143182 A JP 2008143182A JP 2009289170 A JP2009289170 A JP 2009289170A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- write
- memory
- command
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【解決手段】本発明にかかるデータ処理装置は、所定のデータ幅のデータで入出力を行うメモリ20と、リード命令又はライト命令を出力してメモリ20に対してアクセスを行う演算回路10と、演算回路10からライト命令とそのライト命令に関連付けられた部分データとを受けた場合に、メモリ20から読み出した第1のリードデータの一部を部分データに置き換えてメモリ20に対するライトデータを出力するアクセス制御回路30と、を有し、アクセス制御回路30は、ライト命令がそのライト命令よりも前に出力されたリード命令に対応して出力されたものである場合は、第1のリードデータに代えて以前に出力された前記リード命令に応じてすでに取得されている第2のリードデータの一部を部分データに置き換えてライトデータを出力する。
【選択図】図1
Description
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかるデータ処理装置のブロック図を図1に示す。図1に示すように、データ処理装置は、演算回路(例えば、CPU:Central Processing Unit)10、メモリ20、メモリコントローラ30を有する。なお、本実施の形態では、CPU10とメモリ20は、1ワード(32ビット)のバス幅を有するデータバスで接続されるものとする。そして、メモリ20は、入出力するライトデータ及びリードデータを所定のデータ幅(例えば、データバスのバス幅と同じデータ幅)を一つの制御単位として扱うものとする。一方、CPU10は、実行するプログラムに応じて8ビット(バイト)、16ビット(ハーフワード)、32ビット(ワード)のデータ幅を有する被保存データ(以下、ライトデータと称す)を出力するものとする。メモリコントローラ30は、CPU10とメモリ20との間に設けられ、CPU10とメモリ20との間のアクセスを制御するものとする。なお、ライトデータのうちデータバスのデータ幅よりも小さなデータ幅を有するデータを部分データと称す。
10 CPU
20 メモリ
30 メモリコントローラ
31 アクセス制御回路
32 訂正コード生成回路
33 エラー検出訂正回路
41 リード/ライト制御回路
42 RMWフラグレジスタ
43 データセレクト制御回路
44 ライトデータバッファ
45 データマージ回路
46 リードデータバッファ
ADD アドレス信号
CLK クロック信号
DS データサイズ信号
ECC エラー訂正コード
ERR エラー信号
RMW リードモディファイライト信号
RWC リードライト制御信号
STB ストローブ信号
OE リード制御信号
WE ライト制御信号
A〜F、Dm バイト単位のデータ
RDa、RDb リードデータ
WDa、WDb ライトデータ
Claims (20)
- 所定のデータ幅のデータの入出力を行うメモリと、
リード命令又はライト命令を出力して前記メモリに対してアクセスを行う演算回路と、
前記演算回路から前記ライト命令と前記ライト命令に関連付けられた前記所定のデータ幅よりも小さなデータ幅の部分データとを受けた場合に、前記メモリから読み出した第1のリードデータの一部を前記部分データに置き換えて前記メモリに対するライトデータを出力するアクセス制御回路と、
を有し、
前記アクセス制御回路は、前記ライト命令が前記ライト命令よりも前に出力されたリード命令に対応して出力されたものである場合は、前記第1のリードデータに代えて以前に出力された前記リード命令に応じてすでに取得されている第2のリードデータの一部を前記部分データに置き換えて前記ライトデータを出力するデータ処理装置。 - 前記演算回路は、前記メモリから前記第1のリードデータを読み出し、読み出した前記第1のリードデータの一部を修正して前記部分データを生成し、生成した前記部分データを前記メモリに対して書き込むリードモディファイライト命令を実行する請求項1に記載のデータ処理装置。
- 前記アクセス制御回路は、
フラグ値を格納するRMWフラグレジスタと、
前記メモリに対して読み出し動作を指示するリード制御信号及び書き込み動作を指示するライト制御信号を出力するリード/ライト制御回路と、を有し、
前記演算回路は、前記リードモディファイライト命令の実行開始に伴い前記リード命令と共にリードモディファイライト信号を出力し、その後、前記ライト命令と共に前記アクセス制御回路に対して出力する被保存データのデータ幅を示すデータサイズ信号を出力し、
前記RMWフラグレジスタは、前記リードモディファイライト信号を受信し、前記フラグ値を有効状態とし、
前記リード/ライト制御回路は、前記ライト命令の受信時に、前記データサイズ信号が前記所定のデータ幅よりも小さな値を示し、かつ、前記フラグ値が有効状態であれば、前記ライト命令に応じて前記リード制御信号を出力することなく、前記ライト制御信号を出力する請求項2に記載のデータ処理装置。 - 前記リード/ライト制御回路は、前記ライト命令の受信時に、前記データサイズ信号が前記所定のデータ幅よりも小さく、かつ、前記フラグ値が無効状態であれば、前記ライト命令に応じて前記リード制御信号を出力し、その後前記ライト制御信号を出力する請求項3に記載のデータ処理装置。
- 前記アクセス制御回路は、
前記演算回路が出力するアドレス信号及び前記演算回路が前記ライト命令の出力時に前記アクセス制御回路に対して出力する被保存データのデータ幅を示すデータサイズ信号を受け、データのマージ処理の対象となるデータ位置を示す選択信号を出力するデータセレクト制御回路と、
前記第1のリードデータを格納するリードデータバッファと、
前記部分データ又は前記被保存データを格納するライトデータバッファと、
前記リードデータバッファから読み出したデータと前記ライトデータバッファから読み出したデータとを前記選択信号に応じてマージし、前記ライトデータを生成するデータマージ回路と、
を有する請求項1乃至4のいずれか1項に記載のデータ処理装置。 - 前記リードデータバッファ及びライトデータバッファは、それぞれ前記所定のデータ幅よりも小さなデータ幅で定義される格納データ幅で格納するデータを分割し、分割したデータ単位でデータの入出力を行う請求項5に記載のデータ処理装置。
- 前記データマージ回路は、前記選択信号が有効状態を示す部分に相当する前記ライトデータとして前記ライトデータバッファのデータを選択し、前記選択信号が無効状態を示す部分に相当する前記ライトデータとして前記リードデータバッファのデータを選択する請求項6に記載のデータ処理装置。
- 前記データ処理装置は、
前記ライトデータの全体に対するエラー訂正コードを生成して、前記メモリに対して前記ライトデータ及び前記エラー訂正コードを出力するエラー訂正回路と、
前記メモリから読み出される第3のリードデータに関連付けられて読み出される前記エラー訂正コードを用いて、前記第3のリードデータに対するエラー訂正を行い、前記演算回路に送信する前記第1のリードデータを生成するエラー検出訂正回路を有する請求項1乃至7のいずれか1項に記載のデータ処理装置。 - 演算回路から出力されるリード命令又はライト命令を受けてメモリに対するアクセスを制御するメモリコントローラであって、
前記ライト命令が前記ライト命令の直前に受けた前記リード命令に基づく命令であることを検知した場合、前記ライト命令の直前に受けた前記リード命令に基づき前記メモリから取得したリードデータ、及び、前記ライト命令に対応して前記演算回路から出力される部分データに基づき前記メモリに対するライトデータを出力するアクセス制御回路と、
前記ライトデータの全体に対するエラー訂正コードを生成して、前記メモリに対して前記ライトデータ及び前記エラー訂正コードを出力するエラー訂正回路と、
を有するメモリコントローラ。 - 前記部分データは、前記演算回路と前記メモリとの間を接続するデータバスのデータ幅よりも小さいデータ幅を有する請求項9に記載のメモリコントローラ。
- 前記演算回路は、前記メモリから前記リードデータを読み出し、読み出した前記リードデータの一部を修正して前記部分データを生成し、生成した前記部分データを前記メモリに対して書き込むリードモディファイライト命令を実行する請求項10に記載のメモリコントローラ。
- 前記アクセス制御回路は、
前記ライト命令が前記ライト命令の直前に受けた前記リード命令に基づく命令であることを検知した場合、前記ライト命令の直前に受けた前記リード命令に基づき前記メモリから取得したリードデータの一部を前記部分データに置き換えて前記ライトデータを出力し、
前記ライト命令が前記ライト命令の直前に受けた前記リード命令とは独立した命令であることを検知し、かつ、前記ライト命令と共に前記部分データを受信した場合、前記ライト命令に基づき前記メモリに読み出し動作を指示するリード制御信号を出力して前記メモリから前記リードデータを読み出し、その後、前記リードデータの一部を前記部分データに置き換えて前記ライトデータを生成する請求項10又は11に記載のメモリコントローラ。 - 前記アクセス制御回路は、
フラグ値を格納するRMWフラグレジスタと、
前記メモリに対して読み出し動作を指示するリード制御信号及び書き込み動作を指示するライト制御信号を出力するリード/ライト制御回路と、を有し、
前記演算回路は、前記リードモディファイライト命令の実行開始に伴い前記リード命令と共にリードモディファイライト信号を出力し、その後、前記ライト命令と共に前記アクセス制御回路に対して出力する被保存データのデータ幅を示すデータサイズ信号を出力し、
前記RMWフラグレジスタは、前記リードモディファイライト信号を受信し、前記フラグ値を有効状態とし、
前記リード/ライト制御回路は、前記ライト命令の受信時に、前記データサイズ信号が前記データバスのデータ幅よりも小さく、かつ、前記フラグ値が有効状態であれば、前記ライト命令に応じて前記リード制御信号を出力することなく、前記ライト制御信号を出力する請求項10乃至12のいずれか1項に記載のメモリコントローラ。 - 前記リード/ライト制御回路は、前記ライト命令の受信時に、前記データサイズ信号が前記データバスのデータ幅よりも小さな値を示し、かつ、前記フラグ値が無効状態であれば、前記ライト命令に応じて前記リード制御信号を出力し、その後前記ライト制御信号を出力する請求項13に記載のメモリコントローラ。
- 前記アクセス制御回路は、
前記演算回路が出力するアドレス信号及び前記被保存データのデータ幅を示すデータサイズ信号を受け、データのマージ処理の対象となるデータ位置を示す選択信号を出力するデータセレクト制御回路と、
前記リードデータを格納するリードデータバッファと、
前記部分データ又は前記被保存データを格納するライトデータバッファと、
前記リードデータバッファから読み出したデータと前記ライトデータバッファから読み出したデータとを前記選択信号に応じてマージし、前記ライトデータを生成するデータマージ回路と、
を有する請求項10乃至14のいずれか1項に記載のメモリコントローラ。 - 前記リードデータバッファ及びライトデータバッファは、それぞれ前記データバスのデータ幅よりも小さなデータ幅で定義される格納データ幅で格納するデータを分割し、分割したデータ単位でデータの入出力を行う請求項15に記載のデータ処理装置。
- 前記データマージ回路は、前記選択信号が有効状態を示す部分に相当する前記ライトデータとして前記ライトデータバッファのデータを選択し、前記選択信号が無効状態を示す部分に相当する前記ライトデータとして前記リードデータバッファのデータを選択する請求項6に記載のメモリコントローラ。
- 演算回路と前記演算回路からのアクセスを受けるメモリとの間のアクセス制御方法であって、
前記演算回路から出力されるリード命令に基づき前記メモリから読み出したリードデータを前記演算回路に送信し、
前記演算回路から部分データとして出力される前記リードデータの一部に変更を加えたデータ及びライト命令を受信し、
前記ライト命令が直前に出力された前記リード命令に基づき出力された命令であることを検知し、
前記ライト命令の直前に出力された前記リード命令に基づき読み出された前記リードデータと前記部分データとに基づき前記メモリに対するライトデータを生成するアクセス制御方法。 - 前記部分データは、前記演算回路と前記メモリとの間のデータバスのデータ幅よりも小さなデータ幅を有し、
前記ライトデータは、前記リードデータの一部を前記部分データに置き換えて生成される請求項18に記載のアクセス制御方法。 - 前記演算回路から他の命令とは独立したライト命令と、前記部分データと、を受信した場合、
前記ライト命令が直前に出力された前記リード命令とは独立した命令であることを検知し、
前記ライト命令に応じて前記メモリからリードデータを読み出し、
その後、前記リードデータの一部を前記部分データに置き換えて前記ライトデータを生成する請求項18又は19に記載のアクセス制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008143182A JP2009289170A (ja) | 2008-05-30 | 2008-05-30 | データ処理装置、メモリコントローラ及びそのアクセス制御方法 |
US12/453,874 US8234463B2 (en) | 2008-05-30 | 2009-05-26 | Data processing apparatus, memory controller, and access control method of memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008143182A JP2009289170A (ja) | 2008-05-30 | 2008-05-30 | データ処理装置、メモリコントローラ及びそのアクセス制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009289170A true JP2009289170A (ja) | 2009-12-10 |
Family
ID=41381246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008143182A Pending JP2009289170A (ja) | 2008-05-30 | 2008-05-30 | データ処理装置、メモリコントローラ及びそのアクセス制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8234463B2 (ja) |
JP (1) | JP2009289170A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011253251A (ja) * | 2010-05-31 | 2011-12-15 | Toshiba Corp | データ記憶装置及びデータ書き込み方法 |
US8682501B2 (en) | 2012-05-31 | 2014-03-25 | Renesas Electronics Corporation | Data processing device, microcontroller, and self-diagnosis method of data processing device |
JPWO2021075076A1 (ja) * | 2019-10-15 | 2021-04-22 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438344B2 (en) * | 2010-03-12 | 2013-05-07 | Texas Instruments Incorporated | Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes |
US9032162B1 (en) | 2011-08-12 | 2015-05-12 | Altera Corporation | Systems and methods for providing memory controllers with memory access request merging capabilities |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US9710185B2 (en) | 2014-07-10 | 2017-07-18 | Samsung Electronics Co., Ltd. | Computing system with partial data computing and method of operation thereof |
US10719397B2 (en) * | 2018-06-08 | 2020-07-21 | Samsung Electronics Co., Ltd. | System, device and method for storage device assisted low-bandwidth data repair |
KR20200126155A (ko) * | 2019-04-29 | 2020-11-06 | 에스케이하이닉스 주식회사 | 명령 머지 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
KR20210063724A (ko) * | 2019-11-25 | 2021-06-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102456176B1 (ko) | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN115686164A (zh) * | 2021-07-26 | 2023-02-03 | 瑞昱半导体股份有限公司 | 供电端装置、供电系统以及非暂态电脑可读取媒体 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0471046A (ja) * | 1990-07-12 | 1992-03-05 | Hitachi Ltd | 共有メモリの部分書込み制御方式 |
JPH06103151A (ja) * | 1992-06-26 | 1994-04-15 | Internatl Business Mach Corp <Ibm> | パーソナルコンピュータ |
JP2002529811A (ja) * | 1998-10-30 | 2002-09-10 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | メモリ・リード要求を実行するための方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194975A (ja) | 1998-01-06 | 1999-07-21 | Okuma Corp | メモリシステム |
US20060036817A1 (en) * | 2004-08-10 | 2006-02-16 | Oza Alpesh B | Method and system for supporting memory unaligned writes in a memory controller |
US20070186135A1 (en) * | 2006-02-09 | 2007-08-09 | Brian Flachs | Processor system and methodology with background error handling feature |
US8245109B2 (en) * | 2006-03-31 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Error checking and correction (ECC) system and method |
-
2008
- 2008-05-30 JP JP2008143182A patent/JP2009289170A/ja active Pending
-
2009
- 2009-05-26 US US12/453,874 patent/US8234463B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0471046A (ja) * | 1990-07-12 | 1992-03-05 | Hitachi Ltd | 共有メモリの部分書込み制御方式 |
JPH06103151A (ja) * | 1992-06-26 | 1994-04-15 | Internatl Business Mach Corp <Ibm> | パーソナルコンピュータ |
JP2002529811A (ja) * | 1998-10-30 | 2002-09-10 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | メモリ・リード要求を実行するための方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011253251A (ja) * | 2010-05-31 | 2011-12-15 | Toshiba Corp | データ記憶装置及びデータ書き込み方法 |
US8332579B2 (en) | 2010-05-31 | 2012-12-11 | Kabushiki Kaisha Toshiba | Data storage apparatus and method of writing data |
US8682501B2 (en) | 2012-05-31 | 2014-03-25 | Renesas Electronics Corporation | Data processing device, microcontroller, and self-diagnosis method of data processing device |
US9043046B2 (en) | 2012-05-31 | 2015-05-26 | Renesas Electronics Corporation | Data processing device, microcontroller, and self-diagnosis method of data processing device |
JPWO2021075076A1 (ja) * | 2019-10-15 | 2021-04-22 | ||
WO2021075076A1 (ja) * | 2019-10-15 | 2021-04-22 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、及び情報処理方法 |
JP7177948B2 (ja) | 2019-10-15 | 2022-11-24 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、及び情報処理方法 |
US11886290B2 (en) | 2019-10-15 | 2024-01-30 | Sony Interactive Entertainment Inc. | Information processing apparatus and information processing method for error correction and read modify write processing |
Also Published As
Publication number | Publication date |
---|---|
US20090300297A1 (en) | 2009-12-03 |
US8234463B2 (en) | 2012-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009289170A (ja) | データ処理装置、メモリコントローラ及びそのアクセス制御方法 | |
JP5010271B2 (ja) | エラー訂正コード生成方法、およびメモリ制御装置 | |
JP2014049148A (ja) | 半導体記憶装置 | |
JP2011090361A (ja) | 位相キャリブレーション回路、メモリカード制御装置、及び位相キャリブレーション方法 | |
JP2005242797A (ja) | エラー訂正回路 | |
JPWO2007088597A1 (ja) | エラー訂正コード生成方法及びメモリ管理装置 | |
JP2011048681A (ja) | プロセッサ | |
US9256556B2 (en) | RAM memory device capable of simultaneously accepting multiple accesses | |
JPWO2008068937A1 (ja) | データ転送制御装置およびコンピュータシステム | |
US8291270B2 (en) | Request processing device, request processing system, and access testing method | |
JP2004246754A (ja) | 半導体記憶装置およびその制御装置 | |
US6874117B2 (en) | Memory control device and method | |
JPWO2012046343A1 (ja) | メモリモジュール冗長化方法、記憶処理装置、及びデータ処理装置 | |
JP5176646B2 (ja) | 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置 | |
JP2013182373A (ja) | 記憶装置及びその制御方法 | |
JP2014016925A (ja) | 情報処理システム、データ切替方法およびプログラム | |
JP5446931B2 (ja) | 誤り検出訂正装置及びメモリ装置 | |
JP2009217714A (ja) | データ処理回路、キャッシュシステムおよびデータ転送装置 | |
CN106201336B (zh) | 具有回写缓存器的设备及其相关方法 | |
JP2004126911A (ja) | 制御装置 | |
WO2010029682A1 (ja) | 情報処理装置 | |
US8533565B2 (en) | Cache controller and cache controlling method | |
JP5227601B2 (ja) | 制御システム | |
JP2008225835A (ja) | メモリアクセス制御方法及び回路、並びに情報処理装置 | |
JPH04115340A (ja) | 二重化記憶回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130604 |