JP2013196195A - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP2013196195A JP2013196195A JP2012061072A JP2012061072A JP2013196195A JP 2013196195 A JP2013196195 A JP 2013196195A JP 2012061072 A JP2012061072 A JP 2012061072A JP 2012061072 A JP2012061072 A JP 2012061072A JP 2013196195 A JP2013196195 A JP 2013196195A
- Authority
- JP
- Japan
- Prior art keywords
- processors
- timer
- processor
- counter
- processing
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明の実施形態は、マルチプロセッサシステムに関する。 Embodiments described herein relate generally to a multiprocessor system.
近年、データ処理装置の処理性能を飛躍的に向上させることが期待できることから、複数のプロセッサを共有バスを介して接続したマルチプロセッサシステムの開発が進められている。マルチプロセッサシステムは、複数のプロセッサが同時に処理を行うことが可能であることから、システム内の制御が複雑となる。 In recent years, since it can be expected that the processing performance of a data processing apparatus is drastically improved, development of a multiprocessor system in which a plurality of processors are connected via a shared bus is being promoted. In a multiprocessor system, since a plurality of processors can perform processing simultaneously, control in the system becomes complicated.
マルチプロセッサシステムの性能向上のために、開発段階において、プロセッサ間のシステム検証が行われ、また、ソフトウェアのデバッグなどが行われる。このとき、デバッグや性能チューニングをより正確に行うためには、どのプロセッサがどのような順序で処理を行ったかを示す情報が大変有用である。 In order to improve the performance of the multiprocessor system, system verification between processors is performed in the development stage, and software debugging is performed. At this time, in order to perform debugging and performance tuning more accurately, information indicating which processor performs processing in what order is very useful.
実施形態は、プロセッサ間での処理の順序をより正確に判定することが可能なマルチプロセッサシステムを提供する。 Embodiments provide a multiprocessor system that can more accurately determine the order of processing among processors.
実施形態に係るマルチプロセッサシステムは、複数のプロセッサと、前記複数のプロセッサに共通して設けられたタイマと、前記複数のプロセッサに対応して設けられ、複数のイベントログをそれぞれ格納する複数の記憶領域とを具備する。前記タイマは、時間情報を計測する第1のカウンタと、前記複数のプロセッサが前記タイマにアクセスするごとにカウントアップする第2のカウンタとを含み、前記複数のイベントログは、前記タイマの値から得られるタイムスタンプを含み、前記タイムスタンプに基づいて、前記複数のプロセッサが行った処理の時間間隔及び順序を参照できる。 The multiprocessor system according to the embodiment includes a plurality of processors, a timer provided in common to the plurality of processors, and a plurality of memories provided corresponding to the plurality of processors and respectively storing a plurality of event logs. A region. The timer includes a first counter that measures time information, and a second counter that counts up each time the plurality of processors access the timer, and the plurality of event logs are based on the value of the timer. The obtained time stamp is included, and based on the time stamp, the time interval and order of processing performed by the plurality of processors can be referred to.
以下、実施形態について図面を参照して説明する。ただし、図面は模式的または概念的なものであり、各図面の寸法および比率などは必ずしも現実のものと同一とは限らない。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。 Hereinafter, embodiments will be described with reference to the drawings. However, the drawings are schematic or conceptual, and the dimensions and ratios of the drawings are not necessarily the same as actual ones. The following embodiments exemplify apparatuses and methods for embodying the technical idea of the present invention, and the technical idea of the present invention is specified by the shape, structure, arrangement, etc. of components. Is not to be done. In the following description, elements having the same function and configuration are denoted by the same reference numerals, and redundant description will be given only when necessary.
[第1の実施形態]
本実施形態は、複数のプロセッサを備えたマルチプロセッサシステムを実現するための構成例である。本実施形態では、マルチプロセッサシステムとして、NAND型フラッシュメモリを備えたメモリシステム、すなわち、SSD(Solid State Drive)を例に挙げて説明する。
[First Embodiment]
The present embodiment is a configuration example for realizing a multiprocessor system including a plurality of processors. In the present embodiment, a memory system including a NAND flash memory, that is, an SSD (Solid State Drive) will be described as an example of a multiprocessor system.
[1] マルチプロセッサシステム(SSD)の構成
図1は、第1の実施形態に係るSSD1のブロック図である。SSD1は、複数のプロセッサ10、タイマ12、インターフェースコントローラ(I/Fコントローラ)13、共有メモリ15、NANDコントローラ16、1個又は複数のNAND型フラッシュメモリ17、デバッグ用インターフェース回路18、暗号化/復号化回路40、及びバス19を備えている。SSD1内の複数の回路は、バス19を介して互いに接続されている。本実施形態では、3個のプロセッサ10−1〜10−3を例示しているが、プロセッサ10の数は任意に設定可能である。
[1] Configuration of Multiprocessor System (SSD) FIG. 1 is a block diagram of the
各プロセッサ10は、例えばCPU(Central Processing Unit)から構成される。プロセッサ10は、SSD1内の各種動作を制御する。例えば、プロセッサ10は、命令(instruction)の解釈及び実行、プログラムの実行、実行結果の状態の保守などを行う。プロセッサ10は、自身が自由にデータを書き換えできる作業領域としてのRAM11を備えている。RAM11は、SRAMなどの揮発性RAMから構成される。RAM11に格納される情報には、対応するプロセッサ10のイベントログが含まれる。
Each processor 10 is composed of, for example, a CPU (Central Processing Unit). The processor 10 controls various operations in the
タイマ12は、時間を計測する。タイマ12によって計測された時間は、イベントログに含まれるタイムスタンプなどに使用される。タイマ12が時間の計測を開始するタイミングは、SSD1が起動(例えばパワーオンリセット後)して、通常動作を行う準備が整った後、或いは、SSD1が動作中においてプロセッサ10からリセット信号を受けた場合などである。タイマ12は、基準クロックを発生する素子、例えば水晶発振器(図示せず)から基準クロックを受け、この基準クロックをカウントアップすることで、時間を計測する。すなわち、タイマ12は、時間情報をカウント値として格納する。
The
インターフェースコントローラ13は、インターフェース(I/F)14によってホストコントローラに接続されている。インターフェースコントローラ13は、ホストコントローラとのインターフェース処理を実行する。インターフェース14としては、例えばSATA(Serial Advanced Technology Attachment)が用いられる。
The
共有メモリ15は、プロセッサ10−1〜10−3に共有される。共有メモリ15には、例えば、プロセッサ10−1〜10−3で共通して使用される情報などが格納される。また、共有メモリ15は、NAND型フラッシュメモリ17に書き込まれる書き込みデータを一時的に格納するライトバッファ、及びNAND型フラッシュメモリ17から読み出された読み出しデータを一時的に格納するリードバッファとしても使用される。共有メモリ15は、SRAMなどの揮発性RAMから構成される。
The shared
NANDコントローラ16は、NAND型フラッシュメモリ17との間のインターフェース処理を行う。具体的には、NANDコントローラ16は、NAND型フラッシュメモリ17にコマンド及びアドレスを供給し、NAND型フラッシュメモリ17との間でデータの送信及び受信を行う。このデータの送信及び受信の際、NANDコントローラ16は、ECC(Error Checking and Correcting)処理を実行する。また、NANDコントローラ16は、複数のNAND型フラッシュメモリ17をインタリーブする。
The
暗号化/復号化回路40は、ホストコントローラから送信されたデータを暗号化する。よって、NAND型フラッシュメモリ17には、暗号化されたデータが格納される。また、暗号化/復号化回路40は、NAND型フラッシュメモリ17から読み出されたデータを復号化する。
The encryption /
デバッグ用インターフェース回路18は、SSD1にデバッグ用機器を接続可能とするために設けられている。デバッグ用インターフェース回路18は、デバッグ用機器との間のインターフェース処理を行う。このデバッグ用機器によってSSD1のデバッグが行われる。
The
次に、NAND型フラッシュメモリ17の構成について説明する。図2は、1個のNAND型フラッシュメモリ17のブロック図である。
Next, the configuration of the
メモリセルアレイ20は、データを電気的に書き換え可能なメモリセルがマトリクス状に配置されて構成されている。メモリセルアレイ20には、複数のビット線、複数のワード線、及び共通ソース線が配設されている。ビット線とワード線との交差領域には、メモリセルが配置されている。
The
ロウデコーダの機能を果たすワード線制御回路23は、複数のワード線に接続され、データの読み出し、書き込み、及び消去時に、ワード線の選択及び駆動を行う。ビット線制御回路21は、複数のビット線に接続され、データの読み出し、書き込み、及び消去時に、ビット線の電圧を制御する。また、ビット線制御回路21は、データの読み出し時にビット線のデータを検知し、データの書き込み時に書き込みデータに応じた電圧をビット線に印加する。カラムデコーダ22は、アドレスに応じて、ビット線を選択するためのカラム選択信号を生成し、このカラム選択信号をビット線制御回路21に送る。
A word
メモリセルアレイ20から読み出された読み出しデータは、ビット線制御回路21、データ入出力バッファ27を介してデータ入出力端子26からNANDコントローラ16へ送られる。また、NANDコントローラ16からデータ入出力端子26に入力された書き込みデータは、データ入出力バッファ27を介してビット線制御回路21に送られる。
Read data read from the
メモリセルアレイ20、ビット線制御回路21、カラムデコーダ22、ワード線制御回路23、及びデータ入出力バッファ27は、制御回路24に接続されている。制御回路24は、NANDコントローラ16から制御信号入力端子25に入力される制御信号に基づいて、メモリセルアレイ20、ビット線制御回路21、カラムデコーダ22、データ入出力バッファ27、及びワード線制御回路23を制御するための制御信号及び制御電圧を発生させる。
The
図3は、メモリセルアレイ20の回路図である。メモリセルアレイ20は、複数のブロックBLKを備えている。各ブロックBLKは、複数のメモリセルにより構成され、このブロックBLKを単位としてデータが消去される。ブロックBLKは、n個(nは自然数)のNANDストリングNSを備えている。
FIG. 3 is a circuit diagram of the
各NANDストリングNSは、m個(mは自然数)のメモリセルトランジスタ(メモリセル)MTと、2個の選択トランジスタST1及びST2とを備えている。各メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に記憶する。メモリセルトランジスタMTは、電荷蓄積層に蓄えられる電荷の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。 Each NAND string NS includes m (m is a natural number) memory cell transistors (memory cells) MT and two select transistors ST1 and ST2. Each memory cell transistor MT includes a stacked gate including a control gate and a charge storage layer, and stores data in a nonvolatile manner. The memory cell transistor MT changes its threshold voltage according to the number of charges stored in the charge storage layer, and stores data according to the difference in threshold voltage.
m個のメモリセルトランジスタMTは、選択トランジスタST1及びST2間に、その電流経路が直列接続されるようにして配置されている。この直列接続の一端側のメモリセルトランジスタの電流経路は、選択トランジスタST1の電流経路の一端に接続され、他端側のメモリセルトランジスタの電流経路は、選択トランジスタST2の電流経路の一端に接続されている。 The m memory cell transistors MT are arranged between the select transistors ST1 and ST2 so that their current paths are connected in series. The current path of the memory cell transistor on one end side of the series connection is connected to one end of the current path of the selection transistor ST1, and the current path of the memory cell transistor on the other end side is connected to one end of the current path of the selection transistor ST2. ing.
同一のブロックBLK内にある選択トランジスタST1のゲートは、選択ゲート線SGDに共通接続され、同一のブロックBLK内にある選択トランジスタST2のゲートは、選択ゲート線SGSに共通接続されている。同一のブロックBLK内にある一行分のメモリセルトランジスタMTの制御ゲートは、1本のワード線WLに共通接続されている。 The gates of the selection transistors ST1 in the same block BLK are commonly connected to the selection gate line SGD, and the gates of the selection transistors ST2 in the same block BLK are commonly connected to the selection gate line SGS. The control gates of the memory cell transistors MT for one row in the same block BLK are commonly connected to one word line WL.
メモリセルアレイ20内でマトリクス状に配置されたNANDストリングNSのうち、同一行にあるNANDストリングNSの選択トランジスタST1の電流経路の他端は、1本のビット線BLに共通接続される。すなわち、ビット線BLは、複数のブロックBLK間で、NANDストリングNSを共通接続する。また、選択トランジスタST2の電流経路の他端は、ソース線SLに共通接続されている。ソース線SLは、例えば複数のブロックBLK間で、NANDストリングNSを共通接続する。
Of the NAND strings NS arranged in a matrix in the
前述の通り、同一のブロックBLK内にあるメモリセルトランジスタMTのデータは、一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロックBLK内のいずれかのワード線WLに共通接続された複数のメモリセルトランジスタMTにつき、一括して行われる。この単位を「ページ」と呼ぶ。 As described above, the data of the memory cell transistors MT in the same block BLK are erased collectively. On the other hand, data reading and writing are performed collectively for a plurality of memory cell transistors MT commonly connected to any word line WL in any block BLK. This unit is called “page”.
[2] SSD1の動作
上記のように構成されたSSD1の動作について説明する。図4は、プロセッサ10のイベントログを説明する図である。各プロセッサ10は、何らかの処理を実行した際、この処理内容を自身のイベントログ(ログファイル)に記録する。イベントログは、RAM11に格納される。具体的には、プロセッサ10は、演算部10Aを備えており、この演算部10Aは、プロセッサ10によってある処理が実行された場合に、この処理内容をイベントログに記録する。また、演算部10Aは、事象(イベント)の発生順に処理内容をイベントログに記録する。イベントログは、タイムスタンプTと処理内容LGとを含む。タイムスタンプは、ある処理が実行された時間を示す情報であり、イベントログの属性である。
[2] Operation of
本実施形態では、SSD1は、複数のプロセッサ10に共通して設けられた1個のタイマ12を備えている。そして、複数のプロセッサ10は、イベントログに処理内容を記録する際、1個のタイマ12を参照して時間情報を取得し、この時間情報をタイムスタンプとして処理内容とともにイベントログに記録する。
In the present embodiment, the
このように、複数のプロセッサ10が共通のタイマ12を使用するように構成することで、例えばシステムを検証する際に複数のプロセッサ10に記録されたイベントログを参照することで、異なるプロセッサ間でもイベントログ内に記録されている処理の時間間隔及び順序の把握が可能となる。
As described above, by configuring the plurality of processors 10 to use the
図5は、あるプロセッサ10の動作を示すフローチャートである。あるプロセッサ10は、自身の役割に応じた任意の処理を実行する(ステップS100)。続いて、プロセッサ10は、タイマ12を参照し、タイマ12の値を取得する(ステップS101)。なお、プロセッサ10がタイマ12を参照するタイミングは、システム内で統一されていればよく、処理を開始する時でもよいし、処理が完了した時でもよい。
FIG. 5 is a flowchart showing the operation of a certain processor 10. A certain processor 10 executes arbitrary processing according to its role (step S100). Subsequently, the processor 10 refers to the
続いて、プロセッサ10は、タイマ12の値に基づいてタイムスタンプを作成する(ステップS102)。続いて、プロセッサ10は、タイムスタンプ及び処理内容を自身のイベントログに記録する(ステップS103)。このようにして、1つの処理に対してイベントログの記録動作が完了する。 Subsequently, the processor 10 creates a time stamp based on the value of the timer 12 (step S102). Subsequently, the processor 10 records the time stamp and the processing content in its own event log (step S103). In this way, the event log recording operation is completed for one process.
次に、プロセッサ10−1〜10−3のより具体的な動作の一例について説明する。図6は、プロセッサ10のイベントログの具体例を説明する図である。 Next, an example of more specific operation of the processors 10-1 to 10-3 will be described. FIG. 6 is a diagram for explaining a specific example of the event log of the processor 10.
図6の例は、NAND型フラッシュメモリ17に何らかのデータが暗号化された状態で記録されていて、それをホストコントローラからの要求に基づいてNAND型フラッシュメモリ17から読み出して復号化し、復号化したデータをホストコントローラへ送る動作の例である。T1〜T14がタイムスタンプである。なお、各処理内容は、実際には、プログラムコードのある地点を通過したことを示す識別子(ID:Identification Data)などでも良い。
In the example of FIG. 6, some data is recorded in the
プロセッサ(PC1)10−1は、SATAコントローラ(SATA−C)13を制御可能なように構成されている。プロセッサ(PC2)10−2は、NANDコントローラ(NAND−C)16を制御可能なように構成されている。プロセッサ(PC3)10−3は、データの暗号化及び復号化を制御可能なように構成されている。このように、プロセッサ10−1〜10−3は、個別に機能が割り当てられている。プロセッサ10−1〜10−2はそれぞれ、イベントログ1〜3にタイムスタンプ及び処理内容を記録する。 The processor (PC1) 10-1 is configured to control the SATA controller (SATA-C) 13. The processor (PC2) 10-2 is configured to control the NAND controller (NAND-C) 16. The processor (PC3) 10-3 is configured to be able to control data encryption and decryption. As described above, the functions of the processors 10-1 to 10-3 are individually assigned. Each of the processors 10-1 to 10-2 records a time stamp and processing contents in the event logs 1 to 3.
まず、プロセッサPC1は、SATA−Cから割込みを受け、この処理内容をタイムスタンプT1とともにイベントログ1に記録する。続いて、プロセッサPC1は、SATA−Cから要求を受け取り、この処理内容をタイムスタンプT2とともにイベントログ1に記録する。続いて、プロセッサPC1は、共有メモリ15にプロセッサPC2への指示を置き、プロセッサPC2へ割込みを入れ、これらの処理内容をタイムスタンプT3とともにイベントログ1に記録する。
First, the processor PC1 receives an interrupt from the SATA-C and records this processing content in the
続いて、プロセッサPC2は、プロセッサPC1から割込みを受け、この処理内容をタイムスタンプT4とともにイベントログ2に記録する。続いて、プロセッサPC2は、共有メモリ15からプロセッサPC1の指示を読み出し、この処理内容をタイムスタンプT5とともにイベントログ2に記録する。続いて、プロセッサPC2は、NAND−Cを操作してNAND型フラッシュメモリ(NAND)17から暗号化されたデータを読み出し、この処理内容をタイムスタンプT6とともにイベントログ2に記録する。続いて、プロセッサPC2は、共有メモリ15にプロセッサPC3への指示を置き、プロセッサPC3へ割込みを入れ、これらの処理内容をタイムスタンプT7とともにイベントログ2に記録する。
Subsequently, the processor PC2 receives an interrupt from the processor PC1, and records this processing content in the
続いて、プロセッサPC3は、プロセッサPC2から割込みを受け、この処理内容をタイムスタンプT8とともにイベントログ3に記録する。続いて、プロセッサPC3は、共有メモリ15からプロセッサPC2の指示を読み出し、この処理内容をタイムスタンプT9とともにイベントログ3に記録する。続いて、プロセッサPC3は、暗号化/復号化回路40を操作して、NAND型フラッシュメモリ(NAND)17から読み出されたデータを復号化し、この処理内容をタイムスタンプT10とともにイベントログ3に記録する。続いて、プロセッサPC3は、復号化したデータを共有メモリ15に置き、プロセッサPC1へ割込みを入れ、これらの処理内容をタイムスタンプT11とともにイベントログ3に記録する。
Subsequently, the processor PC3 receives an interrupt from the processor PC2, and records this processing content in the event log 3 together with the time stamp T8. Subsequently, the processor PC3 reads the instruction of the processor PC2 from the shared
続いて、プロセッサPC1は、プロセッサPC3から割込みを受け、この処理内容をタイムスタンプT12とともにイベントログ1に記録する。続いて、プロセッサPC1は、共有メモリ15からデータを読み出し、この処理内容をタイムスタンプT13とともにイベントログ1に記録する。続いて、プロセッサPC1は、SATA−Cを操作してホストコントローラへデータを送り、この処理内容をタイムスタンプT14とともにイベントログ1に記録する。このようにして、プロセッサPC1〜PC3により、NAND型フラッシュメモリ17から読み出されたデータをホストコントローラへ送信する処理が終了する。このように、イベントログ1〜3に記録されたタイムスタンプT1〜T14は、その時系列が統一されている。
Subsequently, the processor PC1 receives an interrupt from the processor PC3, and records this processing content in the
[3] 効果
以上詳述したように第1の実施形態では、マルチプロセッサシステム(SSD)1は、複数のプロセッサ10と、複数のプロセッサ10に共通して設けられた1個のタイマとを備えている。各プロセッサ10は、処理内容を記録するイベントログを有し、イベントログは、タイマ12の値から得られるタイムスタンプを含んでいる。そして、複数のプロセッサ10は、処理を実行するごとに共通のタイマ12の値から得られるタイムスタンプをイベントログに記録するようにしている。
[3] Effect As described in detail above, in the first embodiment, the multiprocessor system (SSD) 1 includes a plurality of processors 10 and a timer provided in common to the plurality of processors 10. ing. Each processor 10 has an event log for recording processing contents, and the event log includes a time stamp obtained from the value of the
従って第1の実施形態によれば、デバッグや性能チューニングの際に、デバック用機器などからプロセッサ10−1〜10−3のイベントログを読み出し、この読み出したイベントログに基づいてタイムスタンプ及び処理内容を確認することで、プロセッサ10−1〜10−3のうちどのプロセッサがどのような順序で処理を行ったか、及び処理の時間間隔をより正確に判定することができる。この結果、デバッグや性能チューニングをより正確に実施することができる。 Therefore, according to the first embodiment, the event log of the processors 10-1 to 10-3 is read from a debugging device or the like at the time of debugging or performance tuning, and the time stamp and processing contents are based on the read event log. By confirming the above, it is possible to more accurately determine which processor among the processors 10-1 to 10-3 performs the processing in which order, and the processing time interval. As a result, debugging and performance tuning can be performed more accurately.
例えば、複数のプロセッサがそれぞれ複数のタイマを所有するような構成の場合、タイムスタンプの系列がプロセッサごとに異なっているので、異なるプロセッサ間での処理の順序の把握が困難となり、処理の時間間隔及び順序を正確に判定することができない。しかし、本実施形態の構成を用いることで、このような不具合を解消することができる。 For example, in a configuration in which multiple processors each have multiple timers, the time stamp sequence is different for each processor, making it difficult to grasp the processing order between different processors, and the processing time interval. And the order cannot be determined accurately. However, such a problem can be solved by using the configuration of the present embodiment.
また、本実施形態のイベントログ記録方式を用いることにより、マルチプロセッサシステムのデバッグや性能チューニングが容易になるので、(1)マルチプロセッサシステムの開発費用の削減、(2)マルチプロセッサシステムの開発期間の短縮、(3)マルチプロセッサシステムの性能の向上、などの効果が得られる。 In addition, the use of the event log recording method of the present embodiment facilitates debugging and performance tuning of the multiprocessor system, so that (1) reduction in development cost of the multiprocessor system and (2) development period of the multiprocessor system. (3) Improvement of performance of the multiprocessor system can be obtained.
[第2の実施形態]
第1の実施形態で説明したように複数のプロセッサに対して共通のタイマを配置した場合でも、タイマの分解能よりも短い時間間隔で異なるプロセッサがタイマを読み出してしまうと、処理の前後関係が区別できなくなる恐れがある。そこで、第2の実施形態は、プロセッサがタイマにアクセスするごとにカウントアップするアクセスカウンタを新たに設け、処理が実行された時間情報とプロセッサがタイマにアクセスした順序との両方をイベントログに記録するようにしている。
[Second Embodiment]
As described in the first embodiment, even when a common timer is arranged for a plurality of processors, if different processors read out the timer at a time interval shorter than the resolution of the timer, the processing context is distinguished. There is a risk that it will not be possible. Therefore, in the second embodiment, an access counter that counts up each time the processor accesses the timer is newly provided, and both the time information when the processing is executed and the order in which the processor accesses the timer are recorded in the event log. Like to do.
図7は、第2の実施形態に係るタイマ12のブロック図である。SSD1のうちタイマ12以外の構成は、図1と同じである。タイマ12は、アクセス検知部30、アクセスカウンタ31A、及びタイマカウンタ31Bを備えている。
FIG. 7 is a block diagram of the
アクセス検知部30は、プロセッサ10−1〜10−3からタイマ12(具体的には、アクセスカウンタ31A及びタイマカウンタ31B)がアクセスされたことを検知し、アクセスごとにアクセスカウンタ31Aをカウントアップする。よって、アクセスカウンタ31Aは、プロセッサ10−1〜10−3がタイマ12にアクセスした回数をカウント値として格納する。
The
タイマカウンタ31Bは、例えば水晶発振器(図示せず)から基準クロックを受け、この基準クロックをカウントアップすることで、時間を計測する。すなわち、タイマカウンタ31Bは、時間情報をカウント値として格納する。アクセスカウンタ31A及びタイマカウンタ31Bは、バス19に接続されている。
For example, the
図8は、アクセスカウンタ31A及びタイマカウンタ31Bの構成例を示す図である。アクセスカウンタ31A及びタイマカウンタ31B用に(n+1)ビットカウンタ31を1つ用意し、内部的に、[m:0]ビットカウンタ部(アクセスカウンタ31A)と、[n:m]ビットカウンタ部(タイマカウンタ31B)を持つように構成する。nは自然数で、n>mである。なお、カウンタ31のビット割り当ては任意である。カウンタ31は、カウンタリード(カウンタアクセス)操作ごとに[m:0]ビットカウンタ部(アクセスカウンタ31A)がカウントアップし、かつ基準クロックに応じて[n:m]ビットカウンタ部(タイマカウンタ31B)がカウントアップするように動作する。すなわち、[m:0]ビットカウンタ部と[n:m]ビットカウンタ部とは個別にカウントアップ動作を行う。
FIG. 8 is a diagram illustrating a configuration example of the
プロセッサ10は、タイマ12を参照する際、アクセスカウンタ31A及びタイマカウンタ31Bの全ビットを読み出す。そして、プロセッサ10は、アクセスカウンタ31A及びタイマカウンタ31Bから読み出したカウント値をタイムスタンプとしてイベントログに記録する。
When referring to the
以上詳述したように第2の実施形態では、プロセッサ10がタイマ12にアクセスするごとにカウントアップするアクセスカウンタ31Aをカウンタ31内の特定のビットに割り当てるようにしている。このため、イベントログに記録されるタイムスタンプは、処理が実行された時間情報と、プロセッサがタイマにアクセスした順序を示す情報とを含む。従って、タイマの分解能よりも短い時間間隔で複数のプロセッサがタイマにアクセスした場合でも、アクセスカウンタ31Aのカウント値を確認することで、処理の順序を正確に把握することができる。また、時間間隔が非常に短い処理が連続した場合であっても、正確に処理の順序を把握することができる。
As described above in detail, in the second embodiment, the
例えば、アクセスカウンタ31Aのみを用いた場合では、処理の順序は把握できるが、処理の時間間隔が判別できない。しかし、本実施形態では、タイマカウンタ31B及びアクセスカウンタ31Aを併用しているので、処理の時間間隔及び順序を把握することができる。
For example, when only the
また、カウンタ31のカウントサイクルがバス19のクロックサイクルより遅い場合には、複数のタイムスタンプにタイマカウンタ31Bによる同じカウント値が記録される可能性がある。このような場合でも本実施形態では処理の順序を判別できるため、カウンタ31のカウントサイクルがバス19のクロックサイクルより遅い場合に、本実施形態は特に有効である。
When the count cycle of the
上記各実施形態では、マルチプロセッサシステムの一例としてSSDを用いて説明したが、SSDに限らず、複数のプロセッサを備えた様々な情報処理装置に適用することができる。 In each of the above embodiments, the SSD has been described as an example of the multiprocessor system. However, the present invention is not limited to the SSD, and can be applied to various information processing apparatuses including a plurality of processors.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
1…SSD、10…プロセッサ、11…RAM、12…タイマ、13…インターフェースコントローラ、14…インターフェース、15…共有メモリ、16…NANDコントローラ、17…NAND型フラッシュメモリ、18…デバッグ用インターフェース回路、19…バス、20…メモリセルアレイ、21…ビット線制御回路、22…カラムデコーダ、23…ワード線制御回路、24…制御回路、25…制御信号入力端子、26…データ入出力端子、27…データ入出力バッファ、30…アクセス検知部、31A…アクセスカウンタ、31B…タイマカウンタ、40…暗号化/復号化回路。
DESCRIPTION OF
Claims (5)
前記複数のプロセッサに共通して設けられたタイマと、
前記複数のプロセッサに対応して設けられ、複数のイベントログをそれぞれ格納する複数の記憶領域と、
を具備し、
前記タイマは、時間情報を計測する第1のカウンタと、前記複数のプロセッサが前記タイマにアクセスするごとにカウントアップする第2のカウンタとを含み、
前記複数のイベントログは、前記タイマの値から得られるタイムスタンプを含み、
前記タイムスタンプに基づいて、前記複数のプロセッサが行った処理の時間間隔及び順序を参照できることを特徴とするマルチプロセッサシステム。 Multiple processors,
A timer provided in common to the plurality of processors;
A plurality of storage areas provided corresponding to the plurality of processors, each storing a plurality of event logs;
Comprising
The timer includes a first counter that measures time information, and a second counter that counts up each time the plurality of processors access the timer,
The plurality of event logs include a time stamp obtained from the value of the timer,
A multiprocessor system, wherein a time interval and a sequence of processing performed by the plurality of processors can be referred to based on the time stamp.
前記複数のプロセッサに共通して設けられたタイマと、
前記複数のプロセッサに対応して設けられ、複数のイベントログをそれぞれ格納する複数の記憶領域と、
を具備し、
前記複数のイベントログは、前記タイマの値から得られるタイムスタンプを含み、
前記タイムスタンプに基づいて、前記複数のプロセッサが行った処理の時間間隔及び順序を参照できることを特徴とするマルチプロセッサシステム。 Multiple processors,
A timer provided in common to the plurality of processors;
A plurality of storage areas provided corresponding to the plurality of processors, each storing a plurality of event logs;
Comprising
The plurality of event logs include a time stamp obtained from the value of the timer,
A multiprocessor system, wherein a time interval and a sequence of processing performed by the plurality of processors can be referred to based on the time stamp.
前記複数のプロセッサの指示に応じて前記不揮発性メモリを制御するメモリコントローラと、
をさらに具備することを特徴とする請求項1乃至4のいずれかに記載のマルチプロセッサシステム。 Non-volatile memory;
A memory controller that controls the nonvolatile memory in accordance with instructions from the plurality of processors;
The multiprocessor system according to claim 1, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061072A JP2013196195A (en) | 2012-03-16 | 2012-03-16 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061072A JP2013196195A (en) | 2012-03-16 | 2012-03-16 | Multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013196195A true JP2013196195A (en) | 2013-09-30 |
Family
ID=49395106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012061072A Pending JP2013196195A (en) | 2012-03-16 | 2012-03-16 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013196195A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017199117A (en) * | 2016-04-26 | 2017-11-02 | 日立オートモティブシステムズ株式会社 | Information processor, information processing system |
-
2012
- 2012-03-16 JP JP2012061072A patent/JP2013196195A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017199117A (en) * | 2016-04-26 | 2017-11-02 | 日立オートモティブシステムズ株式会社 | Information processor, information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170329667A1 (en) | Nonvolatile memory device and read and copy-back methods thereof | |
US20160357462A1 (en) | Nonvolatile Memory Modules and Data Management Methods Thereof | |
US11030096B2 (en) | Method of identifying and preparing a key block in a flash memory system and memory controller therefor | |
JP6258399B2 (en) | Semiconductor device | |
CN104064217A (en) | Test method for nonvolatile memory | |
EP3474282A2 (en) | Method and apparatus for adjusting demarcation voltages based on cycle count metrics | |
CN104916315A (en) | Semiconductor memory device | |
KR20150053092A (en) | Data storing system and operating method thereof | |
KR20170070921A (en) | Storage device and operating method of storage device | |
US10241678B2 (en) | Data storage device and data writing method capable of avoiding repeated write operation of a TLC block when interrupted | |
JP6399523B2 (en) | Method and memory device for protecting the contents of a memory device | |
TW201308081A (en) | Memory device | |
KR20150029402A (en) | Data storing system and operating method thereof | |
US20150046638A1 (en) | Multi-bit memory device and on-chip buffered program method thereof | |
KR102603243B1 (en) | Semiconductor memory device and operating method thereof | |
KR20150047821A (en) | Semiconductor memory device, memory system including the same and operating method thereof | |
CN110660436B (en) | Semiconductor memory device and memory controller | |
US9146824B1 (en) | Management of bit line errors based on a stored set of data | |
US9507710B2 (en) | Command execution using existing address information | |
US11630726B2 (en) | Memory system and operating method thereof | |
US10073741B2 (en) | Memory system with reduced program time and method of operating the same | |
TWI442406B (en) | Method for enhancing verification efficiency regarding error handling mechanism of a controller of a flash memory, and associated memory device and controller thereof | |
JP2006338083A (en) | Memory controller | |
KR102106959B1 (en) | Multi level cell nonvolatile memory system | |
JP2013196195A (en) | Multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131212 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |