Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7687084B2 - Non-volatile semiconductor memory performance evaluation device - Google Patents
[go: Go Back, main page]

JP7687084B2 - Non-volatile semiconductor memory performance evaluation device - Google Patents

Non-volatile semiconductor memory performance evaluation device Download PDF

Info

Publication number
JP7687084B2
JP7687084B2 JP2021106405A JP2021106405A JP7687084B2 JP 7687084 B2 JP7687084 B2 JP 7687084B2 JP 2021106405 A JP2021106405 A JP 2021106405A JP 2021106405 A JP2021106405 A JP 2021106405A JP 7687084 B2 JP7687084 B2 JP 7687084B2
Authority
JP
Japan
Prior art keywords
command
write
access
response time
time
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
Application number
JP2021106405A
Other languages
Japanese (ja)
Other versions
JP2023004595A (en
Inventor
芳伸 長瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2021106405A priority Critical patent/JP7687084B2/en
Publication of JP2023004595A publication Critical patent/JP2023004595A/en
Application granted granted Critical
Publication of JP7687084B2 publication Critical patent/JP7687084B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Memory System (AREA)

Description

本発明は、SDメモリカード等の不揮発性半導体メモリの性能評価装置に関する。 The present invention relates to a performance evaluation device for non-volatile semiconductor memory such as SD memory cards.

SDメモリカード(例えば、特許文献1参照)が車載機器などの記録装置として利用されている。従来のSDメモリカードのアクセス性能評価は、SDメモリカードインターフェースを通し、アクセスするアドレス位置を連続またはランダムに変化させたときのコマンド応答時間を測定するだけのもので、同一の個体でも測定結果がばらつき、高精度な評価が出来ていなかった。 SD memory cards (see, for example, Patent Document 1) are used as recording devices for in-vehicle devices and the like. Conventional access performance evaluations of SD memory cards involve simply measuring the command response time when the address location to be accessed is changed continuously or randomly through an SD memory card interface, and the measurement results vary even for the same individual device, making it impossible to perform a highly accurate evaluation.

SDメモリカードのアクセス性能の評価の主な目的は、SDメモリカード固有の性能の限界を見つけるものであり、これにより、SDメモリカードを使用するシステムから見て、データの読み書きに異常が起きないことを明確にすることである。例えば、SDメモリカードにオペレーティングシステム(以下、OSという)を配置した場合や、OSのシステムリソースの一時退避先にSDメモリカードを使用した場合や、複数アプリケーションを並列実行してSDメモリカードのデータを読み書きする場合等、ランダムなアドレス位置へデータの読み書きが頻繁に発生するため、ランダムアクセス性能の高精度な評価がより重要となっている。 The main purpose of evaluating the access performance of an SD memory card is to find the performance limits specific to the SD memory card, and thereby to clarify that no abnormalities occur in reading and writing data from the perspective of the system using the SD memory card. For example, when an operating system (hereinafter referred to as OS) is placed on the SD memory card, when the SD memory card is used as a temporary storage destination for OS system resources, or when multiple applications are executed in parallel to read and write data on the SD memory card, data is frequently read and written to random address locations, making highly accurate evaluation of random access performance more important.

特開2003-076952号公報JP 2003-076952 A

しかしながら、従来のランダムアクセス性能の評価では、SDメモリカードの内部処理を定量化することが出来ず、同じメーカの同じ型番のSDメモリカードに同じパターンのランダムアクセスを実施しても性能評価の結果にばらつきが発生していた。また、従来のPCを使用した評価では、PCのOSのオーバーヘッドの影響を受けるため、同様に、同じメーカの同じ型番のSDメモリカードに同じパターンを書き込んでも性能評価の結果にばらつきが発生していた。 However, conventional random access performance evaluations could not quantify the internal processing of an SD memory card, and even when the same pattern of random access was performed on SD memory cards of the same model number and from the same manufacturer, the results of the performance evaluation varied. Furthermore, conventional evaluations using a PC were affected by the overhead of the PC's OS, and similarly, even when the same pattern was written to SD memory cards of the same model number and from the same manufacturer, the results of the performance evaluation varied.

このように、従来の評価方法では、固有のSDメモリカードの書き込んだ時の最大処理時間を明確に出来ず、この処理時間に基づくアクセス性能の限界を明確に把握することが出来なかった。従って、SDメモリカードをシステムで使用する際、システムが想定した以上のコマンド応答時間が発生することがあった。その結果、書き込みエラーや処理遅れによる想定外のトラブルが発生することがあった。同様の事象は、NANDフラッシュメモリを含むSDメモリカード以外の不揮発性半導体メモリでも発生することがあった。 As such, with conventional evaluation methods, it was not possible to clearly determine the maximum processing time when writing to a specific SD memory card, and it was not possible to clearly grasp the limits of access performance based on this processing time. Therefore, when using an SD memory card in a system, command response times longer than expected by the system could occur. As a result, unexpected problems could occur due to writing errors or processing delays. Similar phenomena could also occur with non-volatile semiconductor memory other than SD memory cards, including NAND flash memory.

本実施形態はこうした状況に鑑みてなされたものであり、その目的は、不揮発性半導体メモリのアクセス性能を高精度に評価する技術を提供することにある。 This embodiment was made in consideration of these circumstances, and its purpose is to provide a technology for evaluating the access performance of non-volatile semiconductor memory with high accuracy.

上記課題を解決するために、本実施形態のある態様の不揮発性半導体メモリの性能評価装置は、NANDフラッシュメモリと、コントローラを含む不揮発性半導体メモリの性能評価装置であって、前記不揮発性半導体メモリの全領域に、アドレス降順でアクセスするアクセスパターンでデータの書き込みを指示する降順の書き込みコマンドを発行し、その前または後に前記不揮発性半導体の全領域に、アドレス昇順でアクセスするアクセスパターンでデータの書き込みを指示する昇順の書き込みコマンドを発行するコマンド実行部と、前記書き込みコマンドに対するコマンド応答時間を取得し、前記コマンド応答時間をもとに、前記不揮発性半導体メモリの性能評価データを生成するホストコントローラと、を備える。前記コマンド実行部は、前記降順の書き込みコマンドを第1の設定回数以上発行し、前記昇順の書き込みコマンド第2の設定回数以上発行し、前記ホストコントローラは、前記昇順の書き込みコマンドから前記降順の書き込みコマンドに切り替えられた後の初回の前記降順の書き込みコマンドに対するコマンド応答時間と次の前記降順の書き込みコマンドに対するコマンド応答時間との差分をアクセス方向の切り替え処理時間として抽出し、または、前記降順の書き込みコマンドから前記昇順の書き込みコマンドに切り替えられた後の初回の前記昇順の書き込みコマンドに対するコマンド応答時間と次の前記昇順の書き込みコマンドに対するコマンド応答時間との差分をアクセス方向の切り替え処理時間として抽出し、抽出したアクセス方向の切り替え処理時間にさらに基づく前記不揮発性半導体メモリの性能評価データを生成する In order to solve the above problem, a nonvolatile semiconductor memory performance evaluation device of one aspect of the present embodiment is a nonvolatile semiconductor memory performance evaluation device including a NAND flash memory and a controller, and is equipped with a command execution unit that issues a descending write command that instructs writing data to all areas of the nonvolatile semiconductor memory in an access pattern that accesses the entire area in descending address order, and issues an ascending write command before or after that that instructs writing data to all areas of the nonvolatile semiconductor memory in an access pattern that accesses the entire area in ascending address order, and a host controller that acquires a command response time to the write command and generates performance evaluation data for the nonvolatile semiconductor memory based on the command response time . The command execution unit issues the descending write command a first set number of times or more and issues the ascending write command a second set number of times or more, and the host controller extracts as an access direction switching processing time a difference between a command response time for the first descending write command after the ascending write command is switched to the descending write command and a command response time for the next descending write command, or extracts as an access direction switching processing time a difference between a command response time for the first ascending write command after the descending write command is switched to the ascending write command and a command response time for the next ascending write command, and generates performance evaluation data of the non-volatile semiconductor memory further based on the extracted access direction switching processing time .

本実施形態の別の態様は、不揮発性半導体メモリの性能評価方法である。この方法は、NANDフラッシュメモリと、コントローラを含む不揮発性半導体メモリの性能評価方法であって、前記不揮発性半導体メモリの全領域に、アドレス降順でアクセスするアクセスパターンでデータの書き込みを指示する降順の書き込みコマンドを発行する第1ステップと、前記書き込みコマンドに対するコマンド応答時間を取得する第2ステップと、を有する。前記第1ステップは、前記降順の書き込みコマンドを設定回数以上発行し、前記第2ステップは、前記設定回数以上の降順の書き込みコマンドに対する前記設定回数以上のコマンド応答時間をもとに、前記不揮発性半導体メモリの性能評価データを生成する。 Another aspect of this embodiment is a performance evaluation method for a nonvolatile semiconductor memory. This method is a performance evaluation method for a nonvolatile semiconductor memory including a NAND flash memory and a controller, and includes a first step of issuing a write command in descending order that instructs writing data to an entire area of the nonvolatile semiconductor memory in an access pattern that accesses the entire area in descending address order, and a second step of acquiring a command response time to the write command. The first step issues the descending write command a set number of times or more, and the second step generates performance evaluation data for the nonvolatile semiconductor memory based on the command response time to the set number of or more descending write commands.

なお、以上の構成要素の任意の組合せ、本実施形態の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本実施形態の態様として有効である。 In addition, any combination of the above components, and conversions of the expressions of this embodiment between methods, devices, systems, recording media, computer programs, etc., are also valid aspects of this embodiment.

本実施形態によれば、不揮発性半導体メモリのアクセス性能を高精度に評価することが出来る。 According to this embodiment, the access performance of non-volatile semiconductor memory can be evaluated with high accuracy.

実施形態に係る、性能評価装置を用いたSDメモリカードの評価システムの構成を示す図である。1 is a diagram showing the configuration of an evaluation system for an SD memory card using a performance evaluation device according to an embodiment; NANDフラッシュメモリのブロック1内のページ3-5に、フォワードアクセスで連続的に書き込む動作を模式的に示した図である。FIG. 1 is a diagram illustrating a schematic diagram of a forward access continuous write operation to pages 3-5 in block 1 of a NAND flash memory. NANDフラッシュメモリのブロック1内のページ3-5に、リバースアクセスで連続的に書き込む動作を模式的に示した図である。FIG. 1 is a diagram illustrating a schematic diagram of a reverse access write operation to pages 3-5 in block 1 of a NAND flash memory. SDメモリカードにフォワードアクセスで連続的にデータを書き込む場合のアクセスパターンの一例を示す図である。1 is a diagram showing an example of an access pattern when data is continuously written to an SD memory card by forward access; SDメモリカードにリバースアクセスで連続的にデータを書き込む場合のアクセスパターンの一例を示す図である。11 is a diagram showing an example of an access pattern when data is continuously written to an SD memory card by reverse access; コマンド応答時間をコマンド発行番号ごとにプロットしたテーブルの一例を示す図である。FIG. 13 is a diagram illustrating an example of a table in which command response times are plotted for each command issue number. 実施形態に係る、性能評価装置を用いたSDメモリカードの評価方法の流れを示すフローチャートである。4 is a flowchart showing the flow of a method for evaluating an SD memory card using a performance evaluation device according to an embodiment. フォワードアクセスのデータ処理のサブルーチンを示す図である。FIG. 13 is a diagram showing a subroutine of forward access data processing. リバースアクセスのデータ処理のサブルーチンを示す図である。FIG. 13 is a diagram showing a subroutine of data processing for reverse access. 複数のSDメモリカードの評価データをプロットしたテーブルの一例を示す図である。FIG. 13 is a diagram showing an example of a table in which evaluation data of a plurality of SD memory cards are plotted.

本実施形態は、一般に市場流通しているSDメモリカード(マイクロSDカードを含む)に関し、SDメモリカード規格に基づく外部インターフェースからのアクセス時間を測定することにより、SDメモリカードのアクセス性能の限界を評価する性能評価装置、及び性能評価方法に関する。 This embodiment relates to a performance evaluation device and a performance evaluation method for evaluating the limits of the access performance of SD memory cards (including micro SD cards) that are generally available on the market, by measuring the access time from an external interface based on the SD memory card standard.

図1は、実施形態に係る、性能評価装置20を用いたSDメモリカード10の評価システムの構成を示す図である。SDメモリカード10は、NANDフラッシュメモリ11及びコントローラ12を含む。NANDフラッシュメモリ11は、トランジスタの浮遊ゲートの電荷の状態によって情報を記憶するメモリである。 Figure 1 is a diagram showing the configuration of an evaluation system for an SD memory card 10 using a performance evaluation device 20 according to an embodiment. The SD memory card 10 includes a NAND flash memory 11 and a controller 12. The NAND flash memory 11 is a memory that stores information based on the charge state of the floating gate of a transistor.

NANDフラッシュメモリ11では、ソース線を複数のセルで共有しているため、データの書き込み/読み出しはページ単位で行われる。消去は、複数のページを含むブロック単位で行われる。消去は浮遊ゲートから電子を引き抜くことで行われ、書き込みは浮遊ゲートに電子を注入することにより行われる。NANDフラッシュメモリ11は、ソース線を複数のセルで共有することにより、セルごとにソース線が設けられるNORフラッシュメモリより高集積化を実現している。 In the NAND flash memory 11, the source line is shared by multiple cells, so data is written/read in units of pages. Erasing is done in units of blocks containing multiple pages. Erasing is done by extracting electrons from the floating gate, and writing is done by injecting electrons into the floating gate. By sharing the source line with multiple cells, the NAND flash memory 11 achieves a higher level of integration than NOR flash memory, which has a source line for each cell.

コントローラ12は、データの書き込み、読み出し、消去の制御、論理アドレスと物理アドレスの変換、ウェアレベリング、誤り訂正、不良ブロックの管理、ホストとのインターフェース等の制御を行う。 The controller 12 controls the writing, reading, and erasing of data, conversion between logical and physical addresses, wear leveling, error correction, management of bad blocks, and interfacing with the host.

NANDフラッシュメモリ11では、データを上書きすることが出来ず、一旦消去してから書き込みする必要がある。上述したように消去はブロック単位で行う必要がある。従って、書き込み領域を含むブロック全体のデータを一旦、バッファに読み出して、当該ブロック全体を消去し、当該バッファ内のデータと新しいデータを当該ブロックに書き込む必要がある。 In the NAND flash memory 11, data cannot be overwritten; it must first be erased before being written. As described above, erasure must be done on a block-by-block basis. Therefore, the data in the entire block, including the write area, must first be read into a buffer, the entire block must be erased, and the data in the buffer and new data must be written to the block.

SSDの場合、NANDフラッシュメモリに加えて、書き込み時のバッファとして使用可能な揮発性の内部キャッシュメモリを備える。この内部キャッシュメモリには通常、DRAMが使用される。SSDでは当該DRAMを使用することにより、高速な書き込みが可能となる。これに対して、SDメモリカードでは、一般にスペース的な制約から、NANDフラッシュメモリ11の他に、揮発性の内部キャッシュメモリを備えていない。 In addition to the NAND flash memory, SSDs have a volatile internal cache memory that can be used as a buffer when writing. DRAM is usually used for this internal cache memory. By using this DRAM in SSDs, high-speed writing is possible. In contrast, SD memory cards generally do not have a volatile internal cache memory in addition to the NAND flash memory 11 due to space constraints.

そこでSDメモリカード10では、NANDフラッシュメモリ11の余剰容量を活用して書き込みを行っている。NANDフラッシュメモリ11は、仕様に記載された記録容量よりも、実際には多くの記憶容量を搭載している。この仕様上の記憶容量と、実記憶容量との差分が余剰容量となる。余剰容量は、実記憶容量の10~25%程度に設定されることが多い。 Therefore, the SD memory card 10 uses the surplus capacity of the NAND flash memory 11 to perform writing. The NAND flash memory 11 actually has a larger memory capacity than the recording capacity stated in the specifications. The difference between this specified memory capacity and the actual memory capacity is the surplus capacity. The surplus capacity is often set to about 10-25% of the actual memory capacity.

SDメモリカード10は、この余剰容量を書き込みとウェアレベリングに活用している。コントローラ12は、データを書き換える際、書き込み対象ページを含むブロック(以下、対象ブロック)のデータを余剰ブロックに退避させ、対象ブロックのデータを消去する。コントローラ12は、退避させたデータ(書き込み対象ページのデータを除く)と新しいデータを対象ブロックに書き込む。 The SD memory card 10 utilizes this excess capacity for writing and wear leveling. When rewriting data, the controller 12 evacuates the data in the block that contains the page to be written (hereafter referred to as the target block) to an excess block and erases the data in the target block. The controller 12 writes the evacuated data (excluding the data in the page to be written) and new data to the target block.

なお、ブロックサイズより大きいデータを書き込む際は、コントローラ12は、新しいデータを余剰ブロックへ書き込んで当該余剰ブロックのステータスを通常ブロックへ変更し、古いデータが存在するブロックのステータスを余剰ブロックへ変更してもよい。 When writing data larger than the block size, the controller 12 may write the new data to a surplus block and change the status of the surplus block to a normal block, and change the status of the block containing the old data to a surplus block.

NANDフラッシュメモリ11は基本的に、HDDのように書き込みアドレスの位置による物理的な性能の差が存在しない。従って、内部キャッシュとして使用する余剰容量が一杯になった状態で、同じデータを書き込んだ場合、どのアドレスへ書き込んでも同じコマンド応答時間となる筈である。 The NAND flash memory 11 basically has no physical performance difference depending on the write address location, as in a HDD. Therefore, if the same data is written when the surplus capacity used as the internal cache is full, the command response time should be the same no matter which address it is written to.

しかしながら、内部キャッシュとして使用する余剰容量を一杯にした状態で、SDメモリカード10の所定のアドレス範囲に順方向に連続的にデータを書き込んだ時のコマンド応答時間と、当該アドレス範囲にランダムにデータを書き込んだ時のコマンド応答時間との間に差が発生することが一般的である。これは、NANDフラッシュメモリ11では、ブロック内の複数のページをアドレス昇順方向(以下、フォワードアクセスともいう)に連続して書き込むことは出来るが、アドレス降順方向(以下、リバースアクセスともいう)に連続して書き込むことが出来ないことに起因する。即ち、NANDフラッシュメモリ11では、ブロック内の複数のページをアドレス昇順で書き込む必要がある。 However, when the surplus capacity used as the internal cache is full, it is common for there to be a difference in command response time between when data is written continuously in the forward direction to a specific address range of the SD memory card 10 and when data is written randomly to that address range. This is because, in the NAND flash memory 11, although it is possible to write multiple pages in a block continuously in the ascending address direction (hereafter also referred to as forward access), it is not possible to write continuously in the descending address direction (hereafter also referred to as reverse access). In other words, in the NAND flash memory 11, it is necessary to write multiple pages in a block in ascending address order.

図2は、NANDフラッシュメモリのブロック1内のページ3-5に、フォワードアクセスで連続的に書き込む動作を模式的に示した図である。図3は、NANDフラッシュメモリのブロック1内のページ3-5に、リバースアクセスで連続的に書き込む動作を模式的に示した図である。フォワードアクセスでは1回の書き込み動作でページ3-5にデータを書き込むことが出来るが、リバースアクセスでは、ページ5、ページ4、ページ3のように3回の書き込み動作が必要となる。このようにリバースアクセスで連続的に書き込むには、フォワードアクセスで連続的に書き込む場合と比較して、多くの処理が必要となる。 Figure 2 is a schematic diagram showing the operation of continuously writing to pages 3-5 in block 1 of a NAND flash memory using forward access. Figure 3 is a schematic diagram showing the operation of continuously writing to pages 3-5 in block 1 of a NAND flash memory using reverse access. With forward access, data can be written to pages 3-5 in one write operation, but with reverse access, three write operations are required, for example, to pages 5, 4, and 3. In this way, continuous writing with reverse access requires more processing than continuous writing with forward access.

上述した処理等は、SDメモリカード10では内部処理としてコントローラ12が行う。NANDフラッシュメモリ11の物理アドレスはコントローラ12で論理アドレスに変換され、変換されたアドレスに基づいてNANDフラッシュメモリ11にデータが書き込まれる。 The above-mentioned processes are performed by the controller 12 as internal processes in the SD memory card 10. The physical address of the NAND flash memory 11 is converted to a logical address by the controller 12, and data is written to the NAND flash memory 11 based on the converted address.

NANDフラッシュメモリ11への書き込みは図2のように、一般にページ単位で行われるが、ページを降順で書き込むことは禁止されていることから、リバースアクセスとしてページを降順として書き込もうとすると図3のように書き込み工数が増える。図3の書き込み方法は概念図であり簡単な一例である。実際にSDメモリカードインターフェースを通して、SDメモリカード10にリバースアクセスで連続的にデータを書き込む際のコントローラ12の内部処理の方法は、SDメモリカード10のメーカごとに違いがあり、最終的にSDメモリカード10のアクセス性能の差となって現れる。これまでの性能評価では、このメーカごとに異なる内部処理時間を明確に把握する方法がなかった。 As shown in Figure 2, writing to the NAND flash memory 11 is generally performed on a page-by-page basis, but because writing pages in descending order is prohibited, attempting to write pages in descending order as reverse access increases the number of write steps as shown in Figure 3. The writing method in Figure 3 is a conceptual diagram and a simple example. In reality, the internal processing method of the controller 12 when continuously writing data to the SD memory card 10 by reverse access through the SD memory card interface differs depending on the manufacturer of the SD memory card 10, and this ultimately manifests itself as a difference in the access performance of the SD memory card 10. Previous performance evaluations have not had a way to clearly grasp the internal processing time that differs depending on the manufacturer.

ここで、SDメモリカード10に同じデータをフォワードアクセスで連続的に書き込んだ時のコマンド応答時間と、リバースアクセスで連続的に書き込んだ時のコマンド応答時間を、書き込んだデータ量に基づいて合算すれば、書き込んだデータ量あたりのコマンド応答時間になるはずである。しかしながら実際には、それ以上のコマンド応答時間がかかることがある。 If the command response time when the same data is continuously written to the SD memory card 10 using forward access and the command response time when the data is continuously written using reverse access are added together based on the amount of data written, this should be the command response time per amount of data written. However, in reality, the command response time may take longer than this.

これは、図2に示したフォワードアクセスでの連続的な書き込みから、図3に示したリバースアクセスでの連続的な書き込みに変更される場合のように、SDメモリカード10の内部でNANDフラッシュメモリ11のアクセス方向の切り替え処理が発生していることに起因する。このアクセス方向の切り替え処理についても、SDメモリカード10のメーカごとに違いがあり、最終的にSDメモリカード10のアクセス性能の差となって現れる。これまでの性能評価では、この処理の時間も明確に把握する方法がなかった。 This is because the access direction of the NAND flash memory 11 is switched inside the SD memory card 10, as in the case where continuous writing with forward access as shown in Figure 2 is changed to continuous writing with reverse access as shown in Figure 3. This access direction switching process also differs depending on the manufacturer of the SD memory card 10, and this ultimately manifests itself as a difference in the access performance of the SD memory card 10. In previous performance evaluations, there was no way to clearly grasp the time required for this process.

以上のように、実際の各アクセスによる書き込み時のコマンド応答時間には、フォワードアクセスの書き込み処理時間、リバースアクセスの書き込み処理時間、アクセス方向の切り替え処理時間が成分として含まれる。本実施形態では、これらの成分のそれぞれを定量的に測定して合算等することにより、SDメモリカード10のアクセス性能を高精度に評価する方法を提供する。 As described above, the command response time during writing by each actual access includes the forward access write processing time, the reverse access write processing time, and the access direction switching processing time as components. In this embodiment, a method for evaluating the access performance of the SD memory card 10 with high accuracy is provided by quantitatively measuring and adding up each of these components.

性能評価装置20は、SDメモリカード10の純粋なパフォーマンスを測定するための専用のテスタである。性能評価装置20は、コマンド実行部21及びホストコントローラ22を含む。ホストコントローラ22は、任意のアドレス範囲を指定し、フォワードアクセスまたはリバースアクセスパターンの、書き込みコマンド/読み出しコマンドを発行する。ホストコントローラ22は、データ転送時の電源電圧や転送速度を指定することも出来る。 The performance evaluation device 20 is a dedicated tester for measuring the pure performance of the SD memory card 10. The performance evaluation device 20 includes a command execution unit 21 and a host controller 22. The host controller 22 specifies an arbitrary address range and issues write commands/read commands of forward access or reverse access patterns. The host controller 22 can also specify the power supply voltage and transfer speed during data transfer.

一般に、PCやスマートフォンを用いたストレージ機器のベンチマークテストでは、PCやスマートフォンのOSの介在のもと、PCやスマートフォンからストレージ機器の一つであるSDメモリカード10の所定のLBAに繰り返しアクセスを行い、アクセス時間を測定している。このようなベンチマークテストは、アクセスパターンが統一されていない、ハードウェア構成ごとに転送周波数が異なる、OSのオーバーヘッドが介在するといった制約がある。これらの制約から、測定システム環境ごとにコマンド応答時間をプロットし、相対評価することが一般的であった。そのため、評価対象のSDメモリカード10が、通常の使用方法で問題なく測定システムで使用可能であることを確認することが出来ても、SDメモリカード10のそれぞれの個体がどのようなアクセス性能を持つかを高精度に把握することが出来なかった。 In general, in benchmark tests of storage devices using a PC or smartphone, a specific LBA of an SD memory card 10, which is one of the storage devices, is repeatedly accessed from the PC or smartphone through the OS of the PC or smartphone to measure the access time. Such benchmark tests are subject to restrictions such as non-standardized access patterns, different transfer frequencies for each hardware configuration, and the presence of OS overhead. Due to these restrictions, it has been common to plot command response times for each measurement system environment and perform relative evaluations. Therefore, even if it has been possible to confirm that the SD memory card 10 being evaluated can be used in the measurement system without problems under normal usage methods, it has not been possible to accurately grasp the access performance of each individual SD memory card 10.

これに対して本実施形態では、OSのオーバーヘッド等が介在しない専用のテスタ環境を構成し、直接、SDメモリカード10の全領域に対し、最大転送量・最大転送周波数で、特定のアクセスパターンのデータを書き込む。 In contrast, in this embodiment, a dedicated tester environment is configured that does not involve OS overhead, and data with a specific access pattern is directly written to the entire area of the SD memory card 10 at the maximum transfer volume and maximum transfer frequency.

コマンド実行部21は、ホストコントローラ22により発行された書き込みコマンド/読み出しコマンドを出力し、SDメモリカード10との間のデータ転送処理を実行する。書き込みコマンド/読み出しコマンドによるデータ転送処理はSDメモリカード10から出力される応答をもって完了する。 The command execution unit 21 outputs the write command/read command issued by the host controller 22 and executes data transfer processing between the SD memory card 10. The data transfer processing by the write command/read command is completed when a response is output from the SD memory card 10.

ホストコントローラ22は、書き込みコマンド/読み出しコマンドの応答をもって、コマンド応答時間と各成分の処理時間を決定する。ホストコントローラ22は、取得したコマンド応答時間と各成分の処理時間を性能評価データとして、データベース30に登録する。性能評価データはSDメモリカードの個体ごとに測定し識別可能に登録すると好適である。データベース30は例えば、図示しないPC、サーバ、タブレット等の情報機器で構成してもよい。性能評価装置20と当該情報機器との間は例えば、USBケーブルで接続され、性能評価装置20から性能評価データがデータベース30に出力される。 The host controller 22 determines the command response time and the processing time of each component based on the response to the write command/read command. The host controller 22 registers the acquired command response time and the processing time of each component as performance evaluation data in the database 30. It is preferable that the performance evaluation data is measured for each individual SD memory card and registered in an identifiable manner. The database 30 may be composed of, for example, an information device such as a PC, server, or tablet (not shown). The performance evaluation device 20 and the information device are connected, for example, by a USB cable, and the performance evaluation data is output from the performance evaluation device 20 to the database 30.

図4は、SDメモリカードにフォワードアクセスで連続的にデータを書き込む場合のアクセスパターンの一例を示す図である。縦軸は論理アドレスからなるLBA(Logical Block Address)を示し、横軸はコマンド発行番号(コマンドの発行順序を示す番号)を示している。コマンド発行番号が小さい順に、各書き込みコマンドが発行される。図4に示すフォワードアクセスでは、0LBAから最大LBAまで256ブロック単位でSDメモリカード10の全領域にデータの書き込みを行う。書き込むデータは任意のデータでよい。コマンド実行部21は、例えば、n番目の書き込みコマンドを発行した場合は、n番目の書き込みコマンドに対する応答をコントローラ12から受信したら直ぐに、n+1番目の書き込みコマンドを発行する。ここでn番目のコマンド発行から応答受信までの時間がn番目のコマンド応答時間となる。なお、256ブロック単位の書き込みは一例であり、512ブロック単位等、別のブロック単位で書き込んでもよい。 Figure 4 is a diagram showing an example of an access pattern when data is continuously written to an SD memory card by forward access. The vertical axis shows LBA (Logical Block Address) consisting of a logical address, and the horizontal axis shows command issue numbers (numbers indicating the command issue order). Write commands are issued in ascending order of command issue numbers. In the forward access shown in Figure 4, data is written to the entire area of the SD memory card 10 in 256 block units from 0 LBA to the maximum LBA. Any data may be written. For example, when the command execution unit 21 issues an n-th write command, it issues an n+1-th write command immediately after receiving a response to the n-th write command from the controller 12. Here, the time from issuing the n-th command to receiving the response is the n-th command response time. Note that writing in 256 block units is one example, and writing in other block units such as 512 block units may also be performed.

図5は、SDメモリカードにリバースアクセスで連続的にデータを書き込む場合のアクセスパターンの一例を示す図である。コマンド発行番号が小さい順に、各書き込みコマンドが発行される。図5に示すリバースアクセスでは、最大LBAから0LBAまで256ブロック単位でSDメモリカード11の全領域にデータの書き込みを行う。書き込むデータは任意のデータでよい。 Figure 5 shows an example of an access pattern when data is continuously written to an SD memory card using reverse access. Write commands are issued in ascending order of command issue number. In the reverse access shown in Figure 5, data is written to the entire area of the SD memory card 11 in units of 256 blocks from the maximum LBA to 0 LBA. Any data can be written.

図6は、コマンド応答時間をコマンド発行番号nごとにプロットしたテーブルの一例を示す図である。コマンド応答時間をプロットしたテーブルは、フォワードアクセスとリバースアクセスのそれぞれに生成される。 Figure 6 shows an example of a table that plots command response times for each command issue number n. A table that plots command response times is generated for both forward access and reverse access.

各アクセスによる書き込み処理時間について詳述する。フォワードアクセスの書き込み処理時間は、SDメモリカード10に、例えば図4のような決められたアクセスパターンで全領域に書き込んだ時に要した書き込み時間から容量あたりの処理時間として求められる。リバース方向の書き込み処理時間は、SDメモリカード10に、例えば図5のような決められたアクセスパターンで全領域に書き込んだ時に要した書き込み時間から容量あたりの処理時間として求められる。 The write processing time for each type of access is described in detail below. The write processing time for forward access is calculated as the processing time per capacity from the write time required when writing to the entire area of the SD memory card 10 with a fixed access pattern, for example, as shown in FIG. 4. The write processing time for the reverse access is calculated as the processing time per capacity from the write time required when writing to the entire area of the SD memory card 10 with a fixed access pattern, for example, as shown in FIG. 5.

SDメモリカード10のコントローラ12は、それぞれ単一方向のアクセスパターンで決められた容量単位で連続的に全領域に書き込むだけでは、内部的に同じ処理を繰り返すだけであるから、書き込みに要する時間はそれぞれ同じような時間となる。しかし、アクセス方向の切り替え処理を伴う書き込み時間は、通常のアクセス処理時間よりも書き込み時間が長くなるのが一般である。 When the controller 12 of the SD memory card 10 continuously writes to the entire area in capacity units determined by each unidirectional access pattern, the same process is repeated internally, so the time required for each write is similar. However, the write time that involves switching the access direction is generally longer than the normal access process time.

アクセス方向の切り替え処理時間は、SDメモリカード10に、例えばフォワードアクセスの書き込み処理で全領域に書き込んだ後、最初のリバースアクセスで全領域に書き込んだ時に要した書き込み時間に内包される。そのため、続けて2回目のリバースアクセスで全領域に書き込みを実施した時に要した書き込み時間と前回の書き込み時間との差分をとることでアクセス方向の切り替えの処理時間が求められる。 The processing time for switching the access direction is included in the write time required to write to the entire area of the SD memory card 10, for example, in a forward access write process, and then in the first reverse access. Therefore, the processing time for switching the access direction can be found by taking the difference between the write time required to write to the entire area in the second reverse access and the previous write time.

図7は、実施形態に係る、性能評価装置20を用いたSDメモリカード10の評価方法の流れを示すフローチャートである。図7に示す例は、フォワードアクセスを5回、リバースアクセスを5回、実施する例である。 Figure 7 is a flowchart showing the flow of a method for evaluating an SD memory card 10 using a performance evaluation device 20 according to an embodiment. The example shown in Figure 7 is an example in which forward access is performed five times and reverse access is performed five times.

ホストコントローラ22は、フォワードアクセスの評価回数パラメータnを1にリセットする(S10)。コマンド実行部21は、図4に示したようなアクセスパターンで、フォワード方向に連続的にデータをSDメモリカード10に書き込む。ホストコントローラ22は、コマンド応答時間とSDメモリカード10の全領域の書き込み時間を取得する(S11)。SDメモリカード10に書き込むデータはどのようなものでも良く、図6に示したような各アクセスパターンのコマンド応答時間を取得することを目的とする。 The host controller 22 resets the forward access evaluation count parameter n to 1 (S10). The command execution unit 21 writes data continuously in the forward direction to the SD memory card 10 in an access pattern such as that shown in FIG. 4. The host controller 22 acquires the command response time and the write time for the entire area of the SD memory card 10 (S11). Any type of data can be written to the SD memory card 10, and the objective is to acquire the command response time for each access pattern such as that shown in FIG. 6.

ホストコントローラ22は、各回のフォワードアクセスの評価において、最大となるコマンド応答時間mと全領域書き込み時間kを取得するためのデータ処理を実行する(S12)。 The host controller 22 performs data processing to obtain the maximum command response time m and full area write time k for each forward access evaluation (S12).

図8は、フォワードアクセスのデータ処理のサブルーチンを示す図である。評価回数パラメータnが1の場合(S120のYES)、コマンド応答時間の最大値パラメータmに何もデータが入っていないため、ホストコントローラ22は、最大値パラメータmに、コマンド応答時間[n]の値をそのまま格納する(S122)。 Figure 8 shows a subroutine for forward access data processing. If the evaluation count parameter n is 1 (YES in S120), no data is entered in the maximum command response time parameter m, so the host controller 22 stores the value of the command response time [n] as is in the maximum value parameter m (S122).

評価回数パラメータnが1以外の場合(S120のNO)、ホストコントローラ22は、最大値パラメータmの値とコマンド応答時間[n]の値を比較する(S121)。コマンド応答時間[n]の値の方が大きい場合(S121のYES)、ホストコントローラ22は、最大値パラメータmをコマンド応答時間[n]の値に更新する(S122)。コマンド応答時間[n]の値の方が大きくない場合(S121のNO)、ステップS122の処理がスキップされる。 If the evaluation count parameter n is other than 1 (NO in S120), the host controller 22 compares the value of the maximum value parameter m with the value of the command response time [n] (S121). If the value of the command response time [n] is greater (YES in S121), the host controller 22 updates the maximum value parameter m to the value of the command response time [n] (S122). If the value of the command response time [n] is not greater (NO in S121), the processing of step S122 is skipped.

評価回数パラメータnが1の場合(S123のYES)、全領域書き込み時間の最大値パラメータkに何もデータが入っていないため、ホストコントローラ22は、最大値パラメータkに、全領域書き込み時間[n]の値をそのまま格納する(S125)。 If the evaluation count parameter n is 1 (YES in S123), since no data is stored in the maximum all-area write time parameter k, the host controller 22 stores the value of the all-area write time [n] directly in the maximum value parameter k (S125).

評価回数パラメータnが1以外の場合(S123のNO)、ホストコントローラ22は、最大値パラメータkの値と全領域書き込み時間[n]の値を比較する(S124)。全領域書き込み時間[n]の値の方が大きい場合(S124のYES)、ホストコントローラ22は、最大値パラメータkを全領域書き込み時間[n]の値に更新する(S125)。全領域書き込み時間[n]の値の方が大きくない場合(S124のNO)、ステップS125の処理がスキップされる。図7に戻る。 If the evaluation count parameter n is other than 1 (NO in S123), the host controller 22 compares the value of the maximum value parameter k with the value of the all-area write time [n] (S124). If the value of the all-area write time [n] is greater (YES in S124), the host controller 22 updates the maximum value parameter k to the value of the all-area write time [n] (S125). If the value of the all-area write time [n] is not greater (NO in S124), the processing of step S125 is skipped. Return to FIG. 7.

評価回数パラメータnが5未満の場合(S13のYES)、ホストコントローラ22は、評価回数パラメータnを1カウントアップする(S14)。ステップS11に遷移する。 If the evaluation count parameter n is less than 5 (YES in S13), the host controller 22 counts up the evaluation count parameter n by 1 (S14). The process proceeds to step S11.

評価回数パラメータnが5に到達した場合(S13のNO)、ホストコントローラ22は、5回のフォワードアクセスの実施により得られた、フォワード方向のコマンド応答時間の最大値mと全領域書き込み時間の最大値kをデータベース30へ記録する(S15)。全領域書き込み時間の最大値kを、単位転送量あたりのアクセス時間に換算した値が、フォワードアクセスの書き込み処理時間となる。 When the evaluation count parameter n reaches 5 (NO in S13), the host controller 22 records the maximum forward command response time m and the maximum all-area write time k obtained by performing five forward accesses in the database 30 (S15). The maximum all-area write time k converted into the access time per unit transfer amount becomes the forward access write processing time.

5回のフォワードアクセスを実施するのは、内部キャッシュとして使用する余剰容量を一杯にするためである。従って、内部キャッシュとして使用する余剰容量が一杯になることを確保することが出来れば、5回に限定される必要はなく、他の設定回数としても良い。 The reason for performing five forward accesses is to fill up the surplus capacity used as the internal cache. Therefore, as long as it is possible to ensure that the surplus capacity used as the internal cache is filled up, it does not have to be limited to five times and another setting may be used.

ホストコントローラ22は、フォワードアクセスの評価回数パラメータnを1にリセットする(S16)。コマンド実行部21は、図5に示したようなアクセスパターンで、リバース方向に連続的にデータをSDメモリカード10に書き込む。ホストコントローラ22は、コマンド応答時間とSDメモリカード10の全領域の書き込み時間を取得する(S17)。SDメモリカード10に書き込むデータはどのようなものでも良く、図6に示したような各アクセスパターンのコマンド応答時間を取得することを目的とする。 The host controller 22 resets the forward access evaluation count parameter n to 1 (S16). The command execution unit 21 writes data continuously in the reverse direction to the SD memory card 10 in the access pattern shown in FIG. 5. The host controller 22 acquires the command response time and the write time for the entire area of the SD memory card 10 (S17). Any type of data can be written to the SD memory card 10, and the objective is to acquire the command response time for each access pattern as shown in FIG. 6.

ホストコントローラ22は、各回のリバースアクセスの評価において、最大となるコマンド応答時間pと全領域書き込み時間qと、アクセス方向切り替え処理時の書き込み時間tを取得するためのデータ処理を実行する(S18)。 The host controller 22 performs data processing to obtain the maximum command response time p, the maximum total area write time q, and the maximum write time t during the access direction switching process during each reverse access evaluation (S18).

図9は、リバースアクセスのデータ処理のサブルーチンを示す図である。評価回数パラメータnが1の場合(S180のYES)、コマンド応答時間の最大値パラメータpに何もデータが入っていないため、ホストコントローラ22は、最大値パラメータpに、コマンド応答時間[n]の値をそのまま格納する(S182)。 Figure 9 shows a subroutine for reverse access data processing. If the evaluation count parameter n is 1 (YES in S180), no data is entered in the maximum command response time parameter p, so the host controller 22 stores the value of the command response time [n] as is in the maximum value parameter p (S182).

評価回数パラメータnが1以外の場合(S180のNO)、ホストコントローラ22は、最大値パラメータpの値とコマンド応答時間[n]の値を比較する(S181)。コマンド応答時間[n]の値の方が大きい場合(S181のYES)、ホストコントローラ22は、最大値パラメータpをコマンド応答時間[n]の値に更新する(S182)。コマンド応答時間[n]の値の方が大きくない場合(S181のNO)、ステップS182の処理がスキップされる。 If the evaluation count parameter n is other than 1 (NO in S180), the host controller 22 compares the value of the maximum value parameter p with the value of the command response time [n] (S181). If the value of the command response time [n] is greater (YES in S181), the host controller 22 updates the maximum value parameter p to the value of the command response time [n] (S182). If the value of the command response time [n] is not greater (NO in S181), the processing of step S182 is skipped.

評価回数パラメータnが1の場合(S183のYES)、全領域書き込み時間の最大値パラメータqに何もデータが入っていないため、ホストコントローラ22は、最大値パラメータqに、全領域書き込み時間[n]の値をそのまま格納する(S187)。 If the evaluation count parameter n is 1 (YES in S183), since no data is stored in the maximum value parameter q of the total area write time, the host controller 22 stores the value of the total area write time [n] in the maximum value parameter q as is (S187).

評価回数パラメータnが2の場合(S183のNO、S184のYES)、ホストコントローラ22は、最大値パラメータq(全領域書き込み時間[1]の値)から全領域書き込み時間[2]の値を引いて、アクセス方向切り替え処理時の書き込み時間tを算出する(S185)。1回目の全領域書き込み時間にはアクセス方向切り替え処理時の書き込み時間が含まれているが、2回目の全領域書き込み時間には含まれていない。従って、両者の差分を算出することにより、アクセス方向切り替え処理時の書き込み時間を算出することが出来る。評価回数パラメータnが2以外の場合(S184のNO)、ステップS185の処理がスキップされる。 If the evaluation count parameter n is 2 (NO in S183, YES in S184), the host controller 22 subtracts the value of the all-area write time [2] from the maximum value parameter q (the value of the all-area write time [1]) to calculate the write time t during the access direction switching process (S185). The first all-area write time includes the write time during the access direction switching process, but the second all-area write time does not. Therefore, by calculating the difference between the two, the write time during the access direction switching process can be calculated. If the evaluation count parameter n is other than 2 (NO in S184), the process of step S185 is skipped.

ホストコントローラ22は、最大値パラメータqの値と全領域書き込み時間[n]の値を比較する(S186)。全領域書き込み時間[n]の値の方が大きい場合(S186のYES)、ホストコントローラ22は、最大値パラメータqを全領域書き込み時間[n]の値に更新する(S187)。全領域書き込み時間[n]の値の方が大きくない場合(S186のNO)、ステップS187の処理がスキップされる。図7に戻る。 The host controller 22 compares the value of the maximum value parameter q with the value of the all-area write time [n] (S186). If the value of the all-area write time [n] is greater (YES in S186), the host controller 22 updates the maximum value parameter q to the value of the all-area write time [n] (S187). If the value of the all-area write time [n] is not greater (NO in S186), the processing of step S187 is skipped. Return to FIG. 7.

評価回数パラメータnが5未満の場合(S19のYES)、ホストコントローラ22は、評価回数パラメータnを1カウントアップする(S20)。ステップS17に遷移する。リバースアクセスの実施時には、既に5回のフォワードアクセスが実施されているため、内部キャッシュとして使用する余剰容量は一杯になっている。従って、リバースアクセスの実施回数は5回未満としても良い。内部キャッシュとして使用する余剰容量は、不揮発性のNANDフラッシュメモリ11の一部を使用しているため、内部キャッシュとして使用する余剰容量には何らかのデータが消えずに残っている。 If the evaluation count parameter n is less than 5 (YES in S19), the host controller 22 increments the evaluation count parameter n by 1 (S20). The process proceeds to step S17. When reverse access is performed, five forward accesses have already been performed, so the surplus capacity used as the internal cache is full. Therefore, the number of reverse accesses performed may be less than five. The surplus capacity used as the internal cache uses part of the non-volatile NAND flash memory 11, so some data remains in the surplus capacity used as the internal cache.

評価回数パラメータnが5に到達した場合(S19のNO)、ホストコントローラ22は、5回のリバースアクセスの実施により得られた、リバース方向のコマンド応答時間の最大値pと全領域書き込み時間の最大値qをデータベース30へ記録する(S21)。全領域書き込み時間の最大値qを、単位転送量あたりのアクセス時間に換算した値が、リバースアクセスの書き込み処理時間となる。 When the evaluation count parameter n reaches 5 (NO in S19), the host controller 22 records the maximum value p of the command response time in the reverse direction and the maximum value q of the all-area write time obtained by performing five reverse accesses in the database 30 (S21). The maximum value q of the all-area write time is converted into the access time per unit transfer amount, which becomes the reverse access write processing time.

ホストコントローラ22は、アクセス方向切り替え処理時の書き込み時間tをデータベース30へ記録する(S22)。 The host controller 22 records the write time t during the access direction switching process in the database 30 (S22).

更に、ホストコントローラ22は、SDメモリカード10のランダムアクセス性能として、フォワードアクセスの書き込み処理時間に、リバースアクセスの書き込み処理時間のアクセス方向切り替え処理時の書き込み時間tを加えて、SDメモリカード10の単位転送量あたりの書き込み時間を算出してもよい。 Furthermore, the host controller 22 may calculate the write time per unit transfer amount of the SD memory card 10 as the random access performance of the SD memory card 10 by adding the write time t during the access direction switching process of the reverse access write process time to the forward access write process time.

更に、ホストコントローラ22は、SDメモリカード10のコマンド応答性能として、フォワード方向の書き込み時のコマンド応答時間の最大値mと、アクセス方向切り替え処理時間を含むリバース方向の書き込み時のコマンド応答時間の最大値pをもとに、SDメモリカード10の最大コマンド応答時間を決定しても良い。 Furthermore, the host controller 22 may determine the maximum command response time of the SD memory card 10 as the command response performance of the SD memory card 10 based on the maximum command response time m when writing in the forward direction and the maximum command response time p when writing in the reverse direction, including the access direction switching processing time.

SDメモリカード10を使用するシステムの設計者は、書き込み時のシステムのタイムアウトを決定するために、ランダムアクセス性能として、SDメモリカード10の単位転送量あたりの書き込み時間と最大コマンド応答時間を必要とする。最大コマンド応答時間は、全てのアクセスに対するコマンド応答時間の最大値とすれば良い。リバースアクセスの書き込み時のコマンド応答時間には、アクセス方向切り替え処理時間が含まれていても良い。ホストコントローラ22は、フォワード方向の書き込み時のコマンド応答時間の最大値mと、アクセス方向切り替え処理時間を含むリバース方向の書き込み時のコマンド応答時間の最大値pを比較し、大きい方をSDメモリカード10の最大コマンド応答時間として、データベース30へ登録する。 To determine the system timeout during writing, the designer of a system that uses the SD memory card 10 requires the write time per unit transfer amount of the SD memory card 10 and the maximum command response time as random access performance. The maximum command response time may be the maximum value of the command response time for all accesses. The command response time during writing in reverse access may include the access direction switching processing time. The host controller 22 compares the maximum command response time m during forward writing with the maximum command response time p during reverse writing including the access direction switching processing time, and registers the larger one in the database 30 as the maximum command response time of the SD memory card 10.

図10は、複数のSDメモリカード10の評価データをプロットしたテーブルの一例を示す図である。図10に示すテーブルにはSDメモリカード10の個体ごとに、最大コマンド応答時間、フォワードアクセスの書き込み時間、リバースアクセスの書き込み時間、アクセス方向切り替え処理時間が記録されている。 Figure 10 shows an example of a table that plots evaluation data for multiple SD memory cards 10. The table shown in Figure 10 records the maximum command response time, forward access write time, reverse access write time, and access direction switching processing time for each individual SD memory card 10.

こうした処理時間の評価データの記録によれば、ランダムアクセスする際のデータ転送量と、フォワードアクセス書き込み時間またはリバースアクセス書き込み時間をもとに、各アクセス方向に当該データを書き込むために必要な時間を求めることが出来る。この時間に、さらにアクセス方向を切り替える回数に応じたアクセス方向切り替え処理時間を加えることにより、SDメモリカード10を使用するシステムにおける実使用時のランダムアクセス性能を推測することが出来る。また、この時の最大コマンド応答時間も算出することが出来る。 By recording such evaluation data of processing time, it is possible to determine the time required to write the data in each access direction based on the amount of data transferred during random access and the forward access write time or reverse access write time. By adding to this time the access direction switching processing time according to the number of times the access direction is switched, it is possible to estimate the random access performance during actual use in a system that uses the SD memory card 10. It is also possible to calculate the maximum command response time at this time.

本実施形態によれば、内部キャッシュの余剰容量を一杯にした状態における各アクセス処理時間を取得する。コントローラ12及びNANDフラッシュメモリ11の構成が同じとなる同型のSDメモリカード10では、内部キャッシュの余剰容量を一杯にするとコントローラ12の内部処理は同様の動作となることから、最大コマンド応答時間、全領域の書き込みに要する時間の最大値は同様の結果を示し、これらから求められるランダムアクセス性能も同様となる。本実施形態では同型のSDメモリカード10の各種アクセス性能をより正確に推測することが出来る。 According to this embodiment, the access processing time is obtained when the excess capacity of the internal cache is full. In SD memory cards 10 of the same type, in which the controller 12 and NAND flash memory 11 are configured in the same way, when the excess capacity of the internal cache is full, the internal processing of the controller 12 operates in the same way, so the maximum command response time and the maximum value of the time required to write to the entire area show similar results, and the random access performance calculated from these is also similar. In this embodiment, it is possible to more accurately estimate various access performances of SD memory cards 10 of the same type.

従来、SDメモリカード10のランダムアクセス性能を評価する際には、疑似乱数などに基づく不特定のアドレスに不特定なデータ容量で書き込み処理を複数回行い、その処理時間の合計を評価結果に用いていた。本実施形態によれば、従来のような不特定な手法を用いず、さらに各アクセスパターンによる評価を指定回数続けて実施することでばらつきの少ない各アクセスにおける処理時間を取得でき、また処理時間を記録することにより、負荷がかかった状態でのSDメモリカード10に固有の性能を明確にできる。 Conventionally, when evaluating the random access performance of the SD memory card 10, a write process was performed multiple times with an unspecified data capacity to an unspecified address based on pseudo-random numbers, etc., and the total processing time was used as the evaluation result. According to this embodiment, the unspecified method used in the past is not used, and by continuously performing evaluations for each access pattern a specified number of times, processing times for each access with little variation can be obtained, and by recording the processing times, the performance specific to the SD memory card 10 under load can be clarified.

以上説明したように本実施形態によれば、SDメモリカード10のアクセス性能を高精度に評価することが出来る。SDメモリカード10を使用するシステムの設計者は、図10に示したような評価データに基づいて、システムの処理のタイムアウト時間の閾値設定を適切に決定することが出来る。また、タイムアウト時間の閾値が既に決定されているシステムにおいては、スペックに十分に余裕があるSDメモリカード10を選択することが出来る。 As described above, according to this embodiment, the access performance of the SD memory card 10 can be evaluated with high accuracy. A designer of a system that uses the SD memory card 10 can appropriately determine the threshold setting for the timeout time of the system's processing based on the evaluation data such as that shown in FIG. 10. Furthermore, in a system in which the timeout time threshold has already been determined, an SD memory card 10 with sufficient margin in the specifications can be selected.

本実施形態に係るSDメモリカード10の性能評価は、車載機器(例えば、ドライブレコーダ)等の信頼性が要求される用途での事前評価に有効である。要求される書き込み速度を満たしているSDメモリカード10を的確に抽出することが出来る。また、本実施形態に係るSDメモリカード10の性能評価は、中古流通している素性が明らかでないSDメモリカード10の性能評価にも利用可能である。 The performance evaluation of the SD memory card 10 according to this embodiment is effective for pre-evaluation in applications that require reliability, such as in-vehicle devices (e.g., drive recorders). It is possible to accurately extract SD memory cards 10 that meet the required writing speed. In addition, the performance evaluation of the SD memory card 10 according to this embodiment can also be used to evaluate the performance of second-hand SD memory cards 10 in circulation whose origins are unclear.

以上、本発明を実施形態をもとに説明した。この実施形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。また本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で置き換えたものもまた本発明の態様として有効である。 The present invention has been described above based on an embodiment. This embodiment is merely an example, and those skilled in the art will understand that various modifications are possible in the combination of each component and each processing process, and that such modifications are also within the scope of the present invention. Furthermore, substitutions of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also valid aspects of the present invention.

上記実施形態では、n回のフォワードアクセスを実施した後、n回のリバースアクセスを実施した。この点、先にn回のリバースアクセスを実施し、その後に、n回のフォワードアクセスを実施してもよい。その場合、フォワードアクセスの1回目の全領域書き込み時間に、アクセス方向切り替え処理時の書き込み時間が含まれることになる。フォワードアクセスの1回目の全領域書き込み時間と、2回目の全領域書き込み時間との差分から、アクセス方向切り替え処理時の書き込み時間を算出する。 In the above embodiment, n forward accesses were performed, and then n reverse accesses were performed. In this regard, n reverse accesses may be performed first, and then n forward accesses may be performed. In this case, the write time during the access direction switching process is included in the full area write time of the first forward access. The write time during the access direction switching process is calculated from the difference between the full area write time of the first forward access and the full area write time of the second forward access.

上記実施形態では、SDメモリカード10の性能評価を例に説明した。この点、SDメモリカード10は、内部に揮発性のキャッシュメモリを含まない不揮発性半導体メモリの一例である。内部に揮発性のキャッシュメモリを含まない、他の不揮発性半導体メモリの性能評価にも適用可能である。例えば、eMMC、USBメモリの性能評価にも適用可能である。 In the above embodiment, the performance evaluation of the SD memory card 10 has been described as an example. In this respect, the SD memory card 10 is an example of a non-volatile semiconductor memory that does not include a volatile cache memory inside. It is also applicable to the performance evaluation of other non-volatile semiconductor memories that do not include a volatile cache memory inside. For example, it is also applicable to the performance evaluation of eMMC and USB memory.

10 SDメモリカード、 11 NANDフラッシュメモリ、 12 コントローラ、 20 性能評価装置、 21 コマンド実行部、 22 ホストコントローラ、 30 データベース。 10 SD memory card, 11 NAND flash memory, 12 controller, 20 performance evaluation device, 21 command execution unit, 22 host controller, 30 database.

Claims (3)

NANDフラッシュメモリと、コントローラを含む不揮発性半導体メモリの性能評価装置であって、
前記不揮発性半導体メモリの全領域に、アドレス降順でアクセスするアクセスパターンでデータの書き込みを指示する降順の書き込みコマンドを発行し、その前または後に前記不揮発性半導体の全領域に、アドレス昇順でアクセスするアクセスパターンでデータの書き込みを指示する昇順の書き込みコマンドを発行するコマンド実行部と、
前記書き込みコマンドに対するコマンド応答時間を取得し、前記コマンド応答時間をもとに、前記不揮発性半導体メモリの性能評価データを生成するホストコントローラと、を備え、
前記コマンド実行部は、前記降順の書き込みコマンドを第1の設定回数以上発行し、前記昇順の書き込みコマンド第2の設定回数以上発行し、
前記ホストコントローラは、
前記昇順の書き込みコマンドから前記降順の書き込みコマンドに切り替えられた後の初回の前記降順の書き込みコマンドに対するコマンド応答時間と次の前記降順の書き込みコマンドに対するコマンド応答時間との差分をアクセス方向の切り替え処理時間として抽出し、
または、
前記降順の書き込みコマンドから前記昇順の書き込みコマンドに切り替えられた後の初回の前記昇順の書き込みコマンドに対するコマンド応答時間と次の前記昇順の書き込みコマンドに対するコマンド応答時間との差分をアクセス方向の切り替え処理時間として抽出し、
抽出したアクセス方向の切り替え処理時間にさらに基づく前記不揮発性半導体メモリの性能評価データを生成する、
不揮発性半導体メモリの性能評価装置。
A performance evaluation device for a non-volatile semiconductor memory including a NAND flash memory and a controller,
a command execution unit that issues a write command in descending order to instruct writing of data in an access pattern that accesses all areas of the nonvolatile semiconductor memory in descending address order, and issues an ascending order write command before or after that to instruct writing of data in an access pattern that accesses all areas of the nonvolatile semiconductor memory in ascending address order;
a host controller that acquires a command response time to the write command and generates performance evaluation data of the nonvolatile semiconductor memory based on the command response time ;
the command execution unit issues the write command in the descending order a first set number of times or more and issues the write command in the ascending order a second set number of times or more;
The host controller
extracting, as an access direction switching processing time, a difference between a command response time for a first write command in the descending order after switching from the ascending order write command to the descending order write command and a command response time for a next write command in the descending order;
or
extracting, as an access direction switching processing time, a difference between a command response time for a first ascending order write command after switching from the descending order write command to the ascending order write command and a command response time for a next ascending order write command;
generating performance evaluation data of the nonvolatile semiconductor memory further based on the extracted access direction switching processing time;
A performance evaluation device for non-volatile semiconductor memories.
前記ホストコントローラは、前記アクセス方向の切り替え処理時間を含む、前記昇順の書き込みコマンドに対するコマンド応答時間の最大値と前記降順の書き込みコマンドに対するコマンド応答時間の最大値を合算して、前記不揮発性半導体メモリの最大コマンド応答時間を推測する、
請求項に記載の不揮発性半導体メモリの性能評価装置。
the host controller estimates a maximum command response time of the non-volatile semiconductor memory by adding up a maximum command response time for the write commands in the ascending order and a maximum command response time for the write commands in the descending order, the maximum command response time including the access direction switching processing time;
2. The performance evaluation apparatus for a nonvolatile semiconductor memory according to claim 1 .
前記不揮発性半導体メモリは、SDメモリカードである、
請求項1または2に記載の不揮発性半導体メモリの性能評価装置。
The non-volatile semiconductor memory is an SD memory card.
3. A performance evaluation apparatus for a nonvolatile semiconductor memory according to claim 1 .
JP2021106405A 2021-06-28 2021-06-28 Non-volatile semiconductor memory performance evaluation device Active JP7687084B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021106405A JP7687084B2 (en) 2021-06-28 2021-06-28 Non-volatile semiconductor memory performance evaluation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021106405A JP7687084B2 (en) 2021-06-28 2021-06-28 Non-volatile semiconductor memory performance evaluation device

Publications (2)

Publication Number Publication Date
JP2023004595A JP2023004595A (en) 2023-01-17
JP7687084B2 true JP7687084B2 (en) 2025-06-03

Family

ID=85101096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021106405A Active JP7687084B2 (en) 2021-06-28 2021-06-28 Non-volatile semiconductor memory performance evaluation device

Country Status (1)

Country Link
JP (1) JP7687084B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250619A (en) 2004-03-02 2005-09-15 Matsushita Electric Ind Co Ltd Nonvolatile memory device and rewriting method thereof
JP2010147970A (en) 2008-12-22 2010-07-01 Hitachi Ltd Data recording apparatus, data recording method and recording medium
JP2013242716A (en) 2012-05-21 2013-12-05 Sharp Corp Access control device and access control method
JP2016157228A (en) 2015-02-24 2016-09-01 株式会社Jvcケンウッド Evaluation method, evaluation system, and evaluation program for nonvolatile semiconductor memory device
JP2017059110A (en) 2015-09-18 2017-03-23 キヤノン株式会社 Nonvolatile memory device control apparatus, image forming apparatus having the same, memory apparatus, control method, and program
JP2019159747A (en) 2018-03-13 2019-09-19 株式会社Jvcケンウッド Non-volatile semiconductor memory device life prediction device, life prediction method, and life prediction program
JP2020201546A (en) 2019-06-06 2020-12-17 株式会社Jvcケンウッド Performance evaluation device, performance evaluation method, and performance evaluation program for nonvolatile semiconductor storage device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250619A (en) 2004-03-02 2005-09-15 Matsushita Electric Ind Co Ltd Nonvolatile memory device and rewriting method thereof
JP2010147970A (en) 2008-12-22 2010-07-01 Hitachi Ltd Data recording apparatus, data recording method and recording medium
JP2013242716A (en) 2012-05-21 2013-12-05 Sharp Corp Access control device and access control method
JP2016157228A (en) 2015-02-24 2016-09-01 株式会社Jvcケンウッド Evaluation method, evaluation system, and evaluation program for nonvolatile semiconductor memory device
JP2017059110A (en) 2015-09-18 2017-03-23 キヤノン株式会社 Nonvolatile memory device control apparatus, image forming apparatus having the same, memory apparatus, control method, and program
JP2019159747A (en) 2018-03-13 2019-09-19 株式会社Jvcケンウッド Non-volatile semiconductor memory device life prediction device, life prediction method, and life prediction program
JP2020201546A (en) 2019-06-06 2020-12-17 株式会社Jvcケンウッド Performance evaluation device, performance evaluation method, and performance evaluation program for nonvolatile semiconductor storage device

Also Published As

Publication number Publication date
JP2023004595A (en) 2023-01-17

Similar Documents

Publication Publication Date Title
US10714186B2 (en) Method and apparatus for dynamically determining start program voltages for a memory device
US10628257B2 (en) Memory management method and storage controller
US10268407B1 (en) Method and apparatus for specifying read voltage offsets for a read command
US9298534B2 (en) Memory system and constructing method of logical block
CN109815160B (en) Last written page search
US20110225346A1 (en) Garbage collection in a storage device
US20190258729A1 (en) Key-value storage device and operating method thereof
US9881682B1 (en) Fine grained data retention monitoring in solid state drives
US20100023677A1 (en) Solid state storage system that evenly allocates data writing/erasing operations among blocks and method of controlling the same
KR20210147696A (en) Data storage device and operating method thereof
US11036411B2 (en) Yield improvement through block budget optimization by using a transient pool of multi-level blocks
JP2023033158A (en) Data storage device for refreshing data and operating method thereof
KR20190061942A (en) Data storage device and operating method thereof
US12222800B2 (en) Write and retire pages in QLC NAND blocks
US10997068B1 (en) Rapid SSD preconditioning
US12164777B2 (en) Controlling memory storage based on pattern data
JP7687084B2 (en) Non-volatile semiconductor memory performance evaluation device
CN118550759B (en) Flash memory reliability optimization method and related device based on data internal migration
WO2025119061A1 (en) Data writing method and apparatus for resource blocks, device and storage medium
KR20230023477A (en) Memory system and operating method thereof
US10921988B2 (en) System and method for discovering parallelism of memory devices
US20230147773A1 (en) Storage device and operating method
CN120266092A (en) Memory controller, memory system, method and storage medium for performing garbage collection
US12346588B2 (en) Apparatus with memory cell calibration mechanism and methods for operating the same
US20250348423A1 (en) Memory devices, operation methods thereof, and memory systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250408

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: 20250422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250505

R150 Certificate of patent or registration of utility model

Ref document number: 7687084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150