本記事をご覧の皆様、ハートランド・データ社長の落合です。

DXが叫ばれるこの時代、ITエンジニアリングの現場における喫緊の大きな課題の一つは「製品テストの効率化と品質向上を、いかにリモート環境で実現していくか」であると認識しております。そんななか、テスト効率化と品質向上の両方を強力に支援するDT+シリーズのひとつ、DT+Analogが大幅にパワーアップいたしました。

新しいDT+Analogには、長年ソフトウェアエンジニアとして開発に従事してきた私自身の経験をもとに、DX時代のテスト効率改善と品質向上に大きな威力を発揮する新機能を詰め込んでおります。
今回はそんなDT+ Analogの機能について、SDカード制御を行うシステムにおける品質テスト事例を交えつつご紹介させていただきます。

例題:SDカードのGarbage Collectionがシステムに及ぼす影響をテストする

さて、SDカードの読み書き制御を要するシステムにおいて、NANDメモリの読み書きの応答速度は、不具合要因の一つとして挙げられます。例えばGarbage Collection。SDカードが読み書き命令を一時待ち状態にしてしまうため、この処理が行われるタイミングでSDカードへの読み書き命令が発行されるとデータ転送の大きな中断が起こり、システムに致命的な影響を与える可能性があります。この読み書き中断による影響を漏れなくテストすることは品質保証においてとても重要です。

※Garbage Collection(ガベージコレクション)とは
SDカードに使用されているNANDメモリの各ブロックはデータの「上書き」ができません。データの書き換えには必ず「消去」と「書き込み」の2段階の手順が必要です。しかし、データ書き換えするたびに毎回この2段階の処理をするのは、書き込み処理として非常に効率が悪いです。そこで、データ書き換えの際に古いデータブロックの消去をせず、上書きデータを未使用のブロックに書き込むという方法をとります。このとき、古いデータが書かれたブロックはGarbage(ゴミ)として扱われます。データ書き換えを繰り返すと当然Garbageは増えていきます。このGarbageを、あるタイミングでまとめて消去して再度使用できるようにする処理をGarbage Collectionと言います。

Garbage Collectionの発生を検出するには

ではどのようにすれば、Garbage Collectionによるデータ転送の中断を検出できるでしょうか。

Garbage Collectionは、SDカード自身がシステム制御の外側で行っている処理です。よって、SDカードの通信ラインをモニターする必要があります。SDカードの信号ラインは、次の3つに大別されます。
・データライン
・コマンド/レスポンスライン
・転送クロックライン
このうち、信号ラインはさらにDAT0~DAT3の4本に分かれます。

SDカードがGarbage Collectionを開始すると、DAT0ラインがLow出力(ビジー状態を表す)に固定されます。つまり、デジタルオシロなどの信号ラインモニタをDAT0に接続すればGarbage Collectionの実行をLow出力のパルスという形で非常に簡単に検出することができます。

デジタルオシロではできないこと

ではデジタルオシロを使えばよいのでしょうか?
答えはNO、オシロ単体での確認には大きな難点があります。
それは、Garbage CollectionがSDカード側で制御されている以上、Garbage Collectionの発生タイミングをあらかじめ正確に知り得ることはできない、ということです。

上記の通り、Garbage Collectionの発生自体はデジタルオシロ等でも簡単に検出できます。「検出だけ」なら。しかしテストの目的はGarbage Collectionの発生による「システムへの影響」の確認です。つまりGarbage Collectionが発生したら、システム側におけるSDカード読み書き処理の挙動を追いかけ、仕様設計通りの挙動であるかどうか、処理が破綻していないかどうかを確認することが目的です。

実機を使用するテストフェーズにおいて、Garbage Collection発生には、テスト開始から数時間~数十時間かかるかもしれません。その間休みなくオシロの波形を確認し続けることは現実的ではありませんし、唐突なGarbage Collectionの発生にともなってシステム側のSDカード読み書き処理の挙動を正確かつ詳細に追うことはほとんど不可能です。

では、どうするか。
DT+ Analogを使えば、こんなシビアなケースでも楽々確認できます。

DT+ Analogでしかできないこと

DT+ Analogは、さまざまなアナログ信号を、長時間(最大30日間)連続でデータ収集できる計測器です。コンパクト設計で常時接続&常時計測が必要なシーンに最適。リモートワークで自宅に持ち帰ってデータ収集、といったDX時代のユースケースもお手軽に実現。収集した測定データはcsv形式などにエクスポート可能で、品質テストのエビデンス作成でもお役に立ちます。
※DT+Analogの詳細スペックはコチラ

一番のポイントは、DT+Analogはオシロスコープのようにリアルタイムで波形を表示しつつ、波形データを長時間収集・保存できること。つまり、いつでも何回でも怪しい波形の発生個所へとさかのぼり、ズームしてピンポイントで確認できます。オシロスコープでは、数時間分の波形データをすべて記録し、さかのぼって細かく確認、というわけにはいきません。

しかも、DT+Analogは動的テストツールであるDT+Traceと組み合わせての使用が可能です。この連携により、発生した波形と照らし合わせるようにコードベースでのソフトウェア実行箇所の確認ができます。例えば、もし収集データの確認で気になる波形が発見された場合、波形データをクリックすると、その波形が出力された瞬間のソースコードの実行位置が表示されます。
さらに、DT+ Analogは強力なトリガー設定機能を搭載しており、見たい波形の発生を検出して自動でリスト化します。適切に設定されたトリガー機能は、特定の波形が発生したタイミングでのソフトウェア処理を漏れなく確認したいような場面で非常に役立ちます。

これら、DT+シリーズの強力なデータ収集能力により、複雑な処理において問題が発生した場合でも、ソフト要因/ハード要因の素早い切り分けや、ソフト側問題箇所のすばやい特定が可能です。

波形データの収集と解析

今回のテストにおいては、ターゲット機器として弊社のDBOX+Camera(常時録画が可能なDT+シリーズのリモートテスト用機器で、数秒に1度の割合でSDカードへの映像データ書き込み制御を行う)を使用します。まずは、SDカードの信号がどのようなものであるかを確認するため、DT+ Analogをターゲットへ接続します。
※電圧レンジは5V、サンプリング周波数は100kHzとしています。


DT+Analogとターゲット機器
テスト環境。DBOX+Analogをターゲット機器(DBOX+Camera)に接続している。

ターゲット機器から収集した波形
ターゲットの波形が取れていることを確認する。

DT+ AnalogでSDカードの信号ラインの波形が取れることを確認できました。このデータを基に、DAT0ラインのLowパルスを検出すべく、DT+ Analogのトリガー機能設定を行います。
今回のトリガー設定は、以下のように設定しました。
・Repeatモード
・トリガーレベル:2V
・トリガーポジション:50%
・トリガー感度:1
・Lowパルスのパルス幅:1msec

トリガー設定が完了したらデータ収集を開始してターゲットをしばらく動作させます。DT+ Analogは取得中の波形をリアルタイムで表示しながらひたすらデータ収集を行います。データは1億件まで収集可能です。表示トリガーリストには設定条件と合致する結果がリストアップされていきます。


DT+Analogのデータ収集画面
データ収集中はリアルタイムの波形データが表示される。トリガに合致したデータはトリガーリストにリストアップされていく。

ある程度時間が経過した頃合でデータ収集を停止します。トリガーリスト上のデータをクリックすると、該当する波形を確認することができます。オシロスコープとは違い、収集された波形はあとから何度でも確認することができます。


データ収集を停止で表示されるデータリストとトリガーリスト
データ収集を停止するとトリガーリストに加えて収集されたデータのリストも表示される。データリストをクリックすると計測した波形を表示できる。

表示トリガーのパルス幅設定を10msecや100msecに変更することもできます。これによりGarbage Collectionに伴う長いBUSY状態の発生時の状態をリストアップでき、かつ、それぞれの波形をピンポイントで確認することができます。


20msecのLowパルスが観測された箇所が表示されたトリガーリスト
パルス幅を20msecに設定した際の数分間のデータ収集結果。トリガーリストに表示されているのは20msec以上の書き込み中断が確認された箇所。

上記のようにDT+Analogを使うことにより、データ収集期間に発生したすべてのGarbage Collection発生をピンポイントで追うことができます。あとはシステムの設計にのっとり、SDカードへの読み書き処理に影響が出ていないことを確認するのみです。DT+Traceと連携させれば、すべての確認ポイントにおいてシステム側で実行された処理の流れも簡単かつ詳細に追うことが可能です。

まとめ

DT+ Analogを使うと、組込み機器のテストで発生しがちな「タイミングがシビアでやっかいなテスト」でも、簡単に実行でき、リモート環境でもテスト可能で、エビデンスとなるデータも残すことが出来ます。
DT+シリーズをさらに強力な動的テストツールへと押し上げるこのデータ収集装置を使えば、様々な難しいテストをイージーに実施できるようになります。

DT+ Analogを使ったエンジニアが、クリエイティブな発想によってアナログデータをデジタル処理することで、今まで見えなかったものが見えてきます。可能性は無限大です。

このDT+ Analogが、エンジニアの皆様が難局を乗り越える切り札となることを確信しつつ、皆様のご健闘をお祈り申し上げます。

オシロとデータロガーのいいとこ取り「DT+Analog」

さまざまなアナログ信号を、長時間連続データ収集できる計測器です。
サイズもコンパクトで、1人1台、常時接続&常時計測を目的としたパーソナルな使用シーンに最適。