いろいろ試す43

10万円来た!これで勝つる!!
住民税と自動車税払った!おしまいっ!


●ラズパイ4でもS.M.A.R.T.をゲッツする
すみません坪井さんの記事のぱくりです…
つぼいさんはOSイメージを書き込みmmc-utilsを改造して/dev/mmcblkから
ダイレクトにCMD56を送り込みS.M.A.R.T.(以下SMART)をゲッツされております。

ねむいさんは前回のノウハウを使ってUSBマスストレージ経由でゲッツします。
TranscendさんよりLinuxのコマンドライン版ソフトのソースコードも提供して
いただいておりましたので。


ラズパイOS「Raspbian」は標準でGCCコンパイラが収録されており、ねむいさんの
大好きなmake一発でsdsmarttoolをビルドできました。
ちなみにこのツールはUSBマスストレージ経由でscsiコマンドを流し込むので
OSイメージがある/dev/mmcblkは指定してもコマンドが通らずエラーになります
scsiコマンドに組み込まれたCMD56が通るRDF-5が必須となります。


というわけでラズパイからでもTranscendのSMARTを無事取得完了しました。
パース結果がめちゃくちゃですがこれは最新のUSD230Iは過去の産業用SDの物とは
SMARTのデータ構造が違うためです。ひとまずDeviceHealthだけ合わせました。
ここに至るまでwindowsのコマンドラインとの違いやpermissionに引っかかりまくり、
ガチドザのねむいさんにはそっちの方がちょっと辛い作業でした。


前回紹介した通りRDF-5は特殊なscsiコマンドを通じCMD56を特別に通すように
出来ているのでTranscend製品だけじゃなく、その他のSMART搭載の製品でも
余裕で使えます!ここもパースは放棄したやっけつです

ぇ…ところでもったいぶらないで肝心の引数教えてほしいですって…!?
ぇーっと確かちょうどSTM32H7のいつものを更新したのですがねむいさん謹製の
SDMMCドライバのヘッダファイルとか見たらイカス16進数に巡り合えるかも…
ここから先は君の眼で確かみてくれ!

●ラズパイ4のSDカード別起動時間比較
ラズパイのコマンドラインから起動時間を測定できるのでTranscendとMicronで
比較してみました。

↑Transcend

↑Micron
確かにTranscendのほうがちょっと早いですが…MicronもA1クラスでチマチマ読み
書きは十分すぎるくらい早いので劇的な差は無いみたいですね。
ていうかhciuart_serviceとかいうのがめっちゃ時間喰ってます…こいつ削ったら
もうちょっと起動早くなりそう…


●ARMマイコンビルド環境構築手順をようやくWin10に対応
読んで字の通りです…長年放置しておりましたがようやく完全対応いたしました。
ビルド編
デバッグ編
デバッグ編のwin10でInsightがまともに動かない問題は直接引数渡して解決です。
過去にWin7で同様の事象に出くわした方がいてねむいさんのWin7環境では発生して
無かったので正直スルーしておりましたがもうちょっと早く気づいていれば…
すみませんでした。


●京都のマルツ閉店
うあああああああああああああああああああああああああ!111!111!
副業(本業は虹裏メイド)の帰りに大阪日本橋に寄る以外ないのか

Transcendの産業用microSDカードUSD230Iシリーズを試す

20200617追:最後のほうにSMARTツールの追記あります



だいぶ前のコメントでTranscendの産業用SDとかどう?とネタをいただいたのですが
なかなか手が伸びず放置状態となっていたのが超進展しましたのでお知らせします。



2020年現在、Transcendの産業用SD/microSDカードはamazonで一般でも購入可能
です。ねむいさんも入山料を払い、登頂を開始しました!決して企業案件ではない!!!!


今回購入したTS32GUSD230IはSLCモードを搭載した高耐久性を誇る230Iシリーズ
今春新たに8~64GBの容量が追加された最新のモデルです!

さて、工業用/産業用では高い書き込み耐久性を求められますが本製品は3D-TLC
NANDのビットセルを疑似的にSLCみたいにして使う疑似SLC方式を取っております。
なんとTBWは32GB品で1400、64GB製品では5800に及び過去に紹介したマイクロンの
microSD
では容量最大の256GB品でも180TBWだったので破格の耐久性ですね。
この耐久性を実現しているSLCモードはTranscendさんの公式ヒで解説がありますので
皆さんもよく目を通しておいてください。

んでもって230Iシリーズで使用している3D-TLCNANDも最新の製造プロセスのBiCS4が
使用されているとのことで(今春追加された8GB以上のモデルで適用されていると
思われます)、容量速度耐久性がここまで大幅に上がったと思われます。



というわけでとにもかくにもPCからベンチマークを取ってみました。

はい、御覧の通りとんでもなく早いです。特に4kの読み書き!
マイクロン産業用
サンディスク産業用
キオクシア高耐久
サンディスク超高耐久
↑と比較してもチマチマ4k読み書きがスバ抜けて早いのがわかりますね〜
シーケンシャル書き込みもピカ一です用途としてはドラレコや監視カメラにすら
もったいないくらい、まさに組み込み用PCの起動イメージにするべき逸品です!

お次はいつものでSDカード内のハードウエア情報を読み出します。

●TRANSCEND Industrial Class10 UHS-I V30 U3 A1 TS32GUSD230I
FatFs module test terminal for STM32H747XIH6
LFN Enabled, Code page: 932
AppVersion : W.I.P
Build Date : May 22 2020
>fg piano
rc=0 FR_OK
>fo 1 ftbt.mp3
rc=0 FR_OK
>fr 132949600
132949600 bytes read at 21046 kB/sec.
>fs
FAT type = FAT32
Bytes/Cluster = 32768
Number of FATs = 2
Root DIR entries = 0
Sectors/FAT = 7534
Number of clusters = 964256
Volume start (lba) = 8192
FAT start (lba) = 9508
DIR start (lba,clustor) = 2
Data start (lba) = 24576

Volume name is USD230I_32G
Volume S/N is BDB6-0F99
...
1 files, 132949600 bytes.
30856192 folders.
30726080 KiB total disk space.
964256 KiB available.
>ds 0
rc=0
Drive size: 61736960 sectors
Erase block size: 8192 sectors
Default r/w block size: 512 bytes
Card type: SDv2(Block)
CSD:
00000000 40 0E 00 32 5B 59 00 00 EB 81 7F 80 0A 40 00 C1 @..2[Y.......@..
CID:
00000000 74 4A 60 55 53 44 55 31 20 19 00 57 30 01 44 23 tJ`USDU1 ..W0.D#

Parsing SD CID Register
Manufacturer ID :0x74
OEM/Application ID :J`
Product Name :USDU1
Product HwRev :2
Product SwRev :0
Serial Number :0x19005730
DateCode.Month :4
DateCode.Year :2020

OCR:
00000000 C1 FF 80 00 ....
SD Status:
00000000 80 00 00 00 05 00 00 00 04 00 90 00 08 11 39 1E ..............9.
00000010 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
SCR:
00000000 02 35 84 43 00 00 00 00 .5.C....

Parsing SCR
SD Spec Version :2
SD Spec Version 3 :1
SD Spec Version 4 :1
SD Spec Version X :1
SD Security :3
SD Bus Width :5

SD_Spec V5.xx!
Detected as SDHC Card!
Available UHS-I Mode.
Available UHS Speed Class U3.
Available SD Speed Class 10.
Available Video Speed Class 30.
Available Application Performance Class1, A1 Card.
SDSpecは5.xxでA1クラスで各スピードクラスもそろっていますね。
しかも2020年4月の出来立てほやほやの奴です☆
Manufacturer IDの0x74はJiaElec(Transcendの製造協力会社)を示しています。
TranscendはシリアルナンバでRMAの管理をしていますがカードから読み出す上記の
シリアルナンバはそれとは別物であくまでカード表面に記載された番号でなければ
なりません。ご注意ください。


さて、こっから本番ですが230Iシリーズは当然のごとくS.M.A.R.T.(以下SMART)
が搭載されております。搭載されているから買いました!!!
そして肝心のSMART値を得るためのCMD56のアレですがなななななんと!!!!
Transcend embedded様の特別のご厚意により特別に教えていただけることに
なりました!!!!ありがとうございます!!!!


STM32H7のいつものを使ってCMD56でSMARTを読み出してみました。
肝心のCMD56の引数ですがmicronの奴に酷似しているとだけ言っておきます。
多分7月更新のいつものには反映してると思いますのでお待ちください。

何はともあれ"Transcend"のプロダクトマーカーの存在が確認され、SMARTの読み
出しが成功しているとわかります。

SMARTの目玉、カードの寿命ですがTranscendでは70バイト目に存在しています。
まだ使い始めなので100(%)ですね。
読み出したデータはこちらに。4GB以下のモデルと8GB以上のモデルでは同じ230I
シリーズでも細かいスペックやSMARTの構造体が全く違うのでご注意ください。
これからは8GB以上の奴使っていけば間違いはないでしょう。


というわけで払った対価の以上のスペックを持つこのUSD230I、大事なことなので
二回言いますがラズパイとか産業用PCなどのタフな環境で動くOSの起動イメージに
大活躍できそうですね☆














・おまけ(内容だいぶ改訂)

なんとWindowsからSMART読み出せるツールまで提供していただきました…!!
DELKINの奴みたいに特定のセクタアドレス読み出すことでSMART取得できるのか!?
と期待したのですが…


残念ながらそううまくはいかなかったorz
使用しているカードリーダーがサンワサプライの汎用のカードなのでダメなのかなと
思ってTranscendさんに聞いてみるとツールが発行するCMD56を解釈できるRDF5なら
できるとのこと。さっそく購入して試してみました。


購入費用888円が無様に爆散したorz(昔買ったRDF8でもダメだった)
TS-RDF5のファームウエアバージョンは"TS3A"ですが多分特定顧客向けの特殊ファーム
じゃないとダメっぽいですねorz
もしくはCMD56通ってたけどねむいさんが購入したTS32GUSD230Iが新しすぎてSMART
読み出せるツールで対応してなくて撥ねられちゃったか。
エラーログには"Write IO Control Fail, Error Message is:6"って記録されていました。

やはりSD SMART TOOLのバージョンが低いとのことで差し替えたら
ちゃんと動作しました。一番下参照。



当然この程度で諦めるねむいさんではない。
STM32F7DiscoveryのUSB-MSC使ってSMART読み出せるツールが投げるSCSI
コマンドを捕まえてみました。するとUSB-MSCではまず使用しない0xD1なる
コマンドが…このコマンドの構造体を掘るとCMD56で投げるべき引数が
ずらずら出てきました…
なるほどそういうことか…!やっぱカードリーダ側でこれが解釈できる
奴じゃないと🙅なんだ。

これってUSBカードリーダーじゃなくてバス直結のSDA標準準拠SDカード
ホストコントローラードライバ使うようなタイプのカードリーダーなら直に
scsiコマンド送れるからうまくいくのかしらと思ったり逆にCMD56こういう
方法でUSBマスストレージ経由で送れるなら専用のファームとソフトを
こしらえるだけでTranscendだろうがsandiskだろうがmicronだろうがWindows
からいけるやんけと思いましたがそんな手間かけるなら素直に
マイコンで読み出せば簡単やんと安きに流れるねむいさんの情けない性格を
露呈させたところで本日の記事を〆させていただきます。
かしこ。


20200616追:
Transcend Embedded様から最新ソフトもらったので試合続行11!!!!!111


キタ━━━(゚∀゚)━━━!!(※管理者権限で実行してください)
か…勝った…!
いくつかカードリーダー試しましたがTranscend製のTS-RDF5TS-RDF8だけが
正しくCMD56を解釈できるのがわかりました。性能はそこそこですが価格も安く
入手もしやすくTranscend製産業用SDのSMARTも読めるのでこちらもおすすめです!

Go to top of page