*S.M.A.R.T.やATA規格等 [#a8c76dad]
Self-Monitoring, Analysis and Reporting Technology - Wikipedia
[[https://ja.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology]]
S.M.A.R.T. - Wikipedia, the free encyclopedia
[[https://en.wikipedia.org/wiki/S.M.A.R.T.]]
The SMART Command Feature Set for the P400e SSD Firmware 0142
[[https://www.micron.com/~/media/documents/products/technical-note/solid-state-storage/tnfd10_p400e_smart_firmware_0142.pdf]]
Information technology - AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS)
[[http://www.t13.org/documents/uploadeddocuments/docs2006/d1699r3f-ata8-acs.pdf]]
#br
*書き込み耐久テスト等 [#c57b9587]
BotchyWorld
[[http://bto-pc.jp/botchyworld/]]
SSD比較専門サイト | SSD比較レビューサイト
[[http://ssd比較.com/]]
SSDにデータを書込みまくり再起不能に追い込む耐久試験で分かった信頼性に関する真実とは?
[[http://gigazine.net/news/20150316-ssd-endurance-experiment-4th/]]
「高温環境下でSSDのデータが数日で消える」という騒動は正しいのか?
[[http://gigazine.net/news/20150514-ssd-temp-endurance/]]
#br
*SSD関連 [#u2958a60]
福田昭のストレージ通信 - EE Times Japan
http://eetimes.jp/ee/series/746/
#br
*SMART温度を60秒間隔で90分記録.bat [#k7332b69]
@echo off
rem 動作環境: CrystalDiskInfo Ver5.6.0 以降と Windows Vista 以降
rem 使用方法: CrystalDiskInfo のディレクトリにこの bat ファイルを置き管理者権限で実行
rem 結果は TemperatureLog.csv に出力
rem 注意: CrystalDiskInfo が起動していると値が更新されない
setlocal EnableDelayedExpansion
set interval=60
set count=90
set cdi_dir=%~dp0
set cdi_dir=%cdi_dir:~0,-1%
set output_file=%cdi_dir%\TemperatureLog.csv
echo 時間,カウント,温度>"%output_file%"
for /L %%I in (0, 1, %count%) do (
start "" /MIN "%cdi_dir%\DiskInfo.exe" /copyexit
set line=!DATE! !TIME!, %%I
timeout /T %interval%
for /F "tokens=1,2,3" %%J in ('find /I "Temperature" "%cdi_dir%\DiskInfo.txt"') do (
if %%J==Temperature set line=!line!,%%L
)
echo !line!
echo !line!>>"%output_file%"
)
echo ...
echo "%output_file%"
type "%output_file%"
echo 終了...
pause
#br
*任意ファイルの断片化数を調べる方法 [#b0daef9a]
[[Sysinternals Contig>https://technet.microsoft.com/ja-jp/sysinternals/contig.aspx]] の /A オプションで断片化数を表示できる。
断片化数は多くの場合 fsutil file queryextents 又は fsutil volume filelayout で得られるエクステント数と同じなので、簡易的にそちらを使う事もできる(Windows 8 以降?)。
C:\>"C:\Program Files\Sysinternals\Contig.exe" /A "C:\Windows\SoftwareDistribution\DataStore\DataStore.edb"
...
C:\Windows\SoftwareDistribution\DataStore\DataStore.edb is in 2 fragments
Summary:
Number of files processed : 1
Average fragmentation : 2 frags/file
C:\>fsutil file queryextents "C:\Windows\SoftwareDistribution\DataStore\DataStore.edb"
VCN: 0x0 クラスター: 0x5100 LCN: 0x8a4cdd
VCN: 0x5100 クラスター: 0x2080 LCN: 0x3f5fd1
C:\>fsutil volume filelayout "C:\Windows\SoftwareDistribution\DataStore\DataStore.edb"
...
ストリーム : ::$DATA
属性 : 0x00000000: *なし*
フラグ : 0x00000000: *なし*
サイズ : 119,013,376
割り当てられたサイズ : 119,013,376
エクステント : 2 個のエクステント
: 1: VCN: 0 クラスター: 20,736 LCN: 9,063,645
: 2: VCN: 20,736 クラスター: 8,320 LCN: 4,153,297
#br
*_ [#d9da99aa]
#br
//*SSDのページサイズはI/Oサイズとアライメント設定で特定できる?
//*読み込み量
//[[FastHash>http://www.vector.co.jp/soft/win95/util/se263655.html]]
//メニュー -> オプション(O) -> ディスクに直接アクセスする(N)
//#br
//*指定サイズのデータを書き込んで SMART 書き込み量を増やす方法
//SMART の読み書き量単位と SSD BlockSize の特定に。
//E:\diskspd -c400M -b123 -d1 -W0 -o1 -t1 -S R:\test.bin
//標準ユーザー権限で実行しないと書き込みが発生しない
//FILE_FLAG_NO_BUFFERING を有効にしてファイルキャッシュを経由せずにデータを書き込める
//ファイルキャッシュに乗らないから空きメモリが減らない
//-b123 でセクターサイズと合わない値をしていしてベンチマークにはしっぱいさせてファイル作成だけで終わらせる
//書き込み内容は 0x00-0xFF の単純な繰り返し
//SMART に合計消去回数があれば、ファイル削除の前後で値を観察。
//すぐに Trim が通知されるとも、通知されればすぐにブロック消去が実行されるとも限らない。
//#br
//*とりあえず指定ファイル全域を読んで SMART 読み込み量を増やす方法
//certutil -hashfile コマンドでファイルのハッシュを計算する事でファイル全域を読み込む。
//certutil -hashfile ファイル名 MD4
//FILE_FLAG_NO_BUFFERING 無しで読み込む為、一旦読むとファイルキャッシュに乗り、何回繰り返しても SMART 読み込み量が増えない。ファイルキャッシュで空きメモリも減少。
//ハッシュアルゴリズムは MD4 が比較的速い
//vista 以降
//#br
//*SMARTの読み書き量の単位を計算
//#br
//*ベンチマーク用ファイルの採取方法
//fsutil hardlink create でファイルの実態への参照数を増やす。
//ベンチマーク実行中にタスクマネージャーから強制終了する方法では FILE_FLAG_DELETE_ON_CLOSE が指定されていたケースに対応できない。
//ベンチマーク用ファイルがどの論理アドレスに割り当てられるかを指定できない。
//特にHDDではプラッター外周と内周で速度に差が出る。
//#br
//for /D %I IN ("R:\Crystal*") DO for %J IN ("%~I\Crystal*.tmp") DO fsutil hardlink create "%~J.hardlink" "%~J"