サポートシェアリングソリューション
OKWAVE Plus
「OKWAVE Plus の利用」に関するアンケートご協力のお願い
アンケートに答えると抽選で500名様にAmazonギフト券100円分をプレゼント!
回答締切:2022年12月7日(水)18:00まで
アンケートはこちら

このQ&Aは役に立ちましたか?

ベストアンサー
困ってます

SSDのレベルウェアリングは誰が行っていますか?

2021/12/29 15:03

キャンペーン用質問で申し訳ない。知らなくても特段困らないけれど分かれば安心、という程度の質問です。不適切な質問なら通報して消して下さい。

SSDとHDDは記録媒体の性質上、信頼性に違いがあることは理解しています(例:Seagate製HDD ST500LM030等は55TB/年のデータ転送速度で数年間の利用を想定,同社SSDは明確な耐久性表示無しで1年保証の別売。数Gbitのmulti-level NAND flash LSIは1年で数ビット化ける為FEC無しでは使い物にならない等)

このため、大容量SSストレージ(8GBのSDカード等)が出現してしばらくした後、レベルウェアリングを始めたと思いますが、これはOSのドライバの役目で、記憶装置では普通にATAプロトコルを処理していた覚えがあります。
今のOS(Windows10等)でもドライバがレベルウェアリングを担当しているのでしょうか?あるいはHDDの代替セクタの自動割り当てのように、ドライブが内部で負荷分散しているのでしょうか?
もし後者ならどんな古い機械でもOSでも気にせずHDDをSSDに安心して交換できて有難いのですが(バックアップは別の話として)

SSDとHDDでドライバファイルは同じなのは確認しました(Windows10の場合)が、処理は違うかもしれないので質問してみました。

宜しくお願いします

※OKWAVEより補足:「Lenovo:Windows関連」についての質問です。

質問者が選んだベストアンサー

ベストアンサー
2021/12/31 00:06
回答No.4

10年は前だったと思いましたが、SSDの1セクタを狙って書き込みを連続で行い、(レベルウエアリングが効いてても効いて無くても)SSDをだめにする実験という記事を読んだ記憶があります。

それをgoogle検索で探していたら、
> SSDにデータを書込みまくり再起不能に追い込む耐久試験
https://gigazine.net/news/20150316-ssd-endurance-experiment-4th/

> SSDの耐久実験で書き込み150万GBの壁
https://gigazine.net/news/20140926-ssd-endurance-experiment-2nd/
というのを発見しました。

そこに、いろいろ書いてありますね。

お礼

追加の補足を書き込む手段がないので、ここに書くのですが
もし500GB(0.5TB)のNANDデバイスが10万回書き込み可能なら、のべ50Peta Byte (0.05Exa Byte)書き込み可能。紹介記事の2Peta byteとは相当開きがあります。
まだSSDの負荷均等化は発展途上なのでしょうね。
お付き合いありがとうございました。

2021/12/31 01:12

補足

こういう記事を見つけました。
https://superuser.com/questions/1267470/is-there-any-value-in-running-a-surface-test-on-an-ssd

予想通りですが、ブロックイレースのせいで、1ページのライトバック分散のために、他の10近い同ブロック内のページも同時に分散させることになるだろう、と。とあります。従って、たった一ページの負荷分散のために10倍ちかいページ、場合によってはブロックとマッピングテーブルが巻き添えを食う(劣化が10倍速い)可能性が高い。
これを避けようとすると巨大なNOR Flasベースの書き換えテーブルが必要(NOR Flashはワード単位更新・・・1->0変化はいったんイレースしたらワード単位で可能なので)をマッピングテーブルに使うことになるんでしょうけど、SLCのNORは高価なので0.1%のオーバヘッドでも無視できないコストかもしれません。追記データ回数も膨大でしょうし。

なんにせよ、個人的な結論としては
・レベルウェアリング(劣化の度合い制御。ウェアレベリングとも書くようですが)は名前と裏腹に現時点では副作用も大きく、実用上効果が大きいとは断言できない。端的に書けば未完成(Seagateがreliablityをデータシートに明記していないのも納得できます)。
個人的には、まだまだOSやドライバレベルでSSDに特化して最適化したほうがいいんじゃないかと思います。スラブを使うなどすれば実際にライトバックする必要も激減しますし、デフラグもSSDなら禁止してしまえば確実。現状ではWindowsよりLinux系列のほうが安全かな?
個人的には、SSDは何かしているけれど、シーケンシャルライト(セクタナンバー順アクセス)ならともかく通常のinode操作やdentry操作には不向きなのかなあ、という印象です

重なる資料紹介、ありがとうございました。

2021/12/31 00:59

このQ&Aは役に立ちましたか?

その他の回答 (4件中 1~4件目)

2021/12/29 16:31
回答No.3

デフラグメンテーションの書き込み量は多いので、単純に、デフラグはSSDの書き込み可能量を大きく減らすからデフラグはSSDによくないのでしょうね。

SSD専用のドライバー又は分散書き込みシステムをOS側に新しく用意するより、SSDを、シークが高速なHDDだと見せかける方が、互換や安全性の面でよかったのではないかとも私は思います。

余談ですがマイクロデータの空飛ぶ絨毯だったかなあ。あれはHDDのセクタを3次元空間的に分析して、ヘッドの移動量を最小にしていたという話しだった。

補足

お付き合い有難うございます。

デフラグの話もそうなんですが、私が最初に疑問を持ったのは hibernate を使っているとSSDはすぐ劣化するという意味の指摘をインターネットで散見したことなんです。

仮にメインメモリ32GBのPCを使っていて日に3回ぐらいhibernateする。1年で32TB程度の書き込みですよね。NANDデバイス自体は数十万回ぐらいの繰り返し消去・書き込みを保証している。500GBのSSDで完全な劣化均等化をしている場合、10万回書き込み可能として0.5*1e5/32=1562.5年は持つ計算です。そうそう劣化するような話にはならない。なぜhibernateがいけないんだろう?

ご指摘があったデフラグが次のきっかけでした。NANDの場合ブロック消去+ページ書き込みなので、何が真っ先に酷使されるかわかりにくいのですが。やっぱり不思議です。

少なくともSSD自身が中で色々やっていることはWindowsのchkdskでもわかります。未使用セクタの正常性チェックがSeagate製品の場合、恐ろしく速い。使用済みセクタと比べて少なくとも5倍、体感10倍以上違う。おそらく実際にはSSD内部では何もせず単に正常終了のコードをホストに返しているのだと思います(1分程度で300GBの未使用領域のチェックが完了する)。読み出しも少しはデバイスに負荷を与えるので避けているのかなあという気がします。想像ですが。

SSDを長持ちさせたいので、どこが最初に劣化するのか知りたい所ではありますが、具体的な話はあまり目にしません。発売済みだから特許申請済みなのは確かなので教えてくれてもいいのに!(笑)

>余談ですがマイクロデータの空飛ぶ絨毯だったかなあ。あれはHDDのセクタを3次元空間的に分析して、ヘッドの移動量を最小にしていたという話しだった。

そうなんですね。これを聞いて、floppy discがFATをディスク中央のシリンダに配置していたことを思い出しました。メモリにアロケーションテーブルをキャッシュしている状態でこれに意味があったのか今となっては謎ではあります。

2021/12/30 19:49

2021/12/29 15:22
回答No.2

SSDのウェアレベリングは当初からSSD自身で行ってますよ。

お礼

m5048172715氏から助言を頂いています
SSDは何かはしているが、その程度はNAND Flashデバイスの実力を十分発揮できるところまでは到達していないようです。
書き込みありがとうございました。

2021/12/31 01:05

補足

回答ありがとうございます。

SSD自身がやっているのですね。ある程度はやっていると思うのですが、どこまでなのかな、という気もします。先に回答を頂いた方に指摘して頂いたように、デフラグは良くないという販売元の解説が未だに残っているので少々不思議な気がするのです。
(デフラグについては、HDDでもサーボ駆動がデフラグで大量発生するのでヘッドの固着やらサーボ劣化やらよろしくないけれど、なぜか余り言われなくなってしまいました。なぜだろう?)

重ねて回答ありがとうございました。

2021/12/29 15:58

2021/12/29 15:13
回答No.1

SSDがこっそりやっているみたいだ。参考のURLでは文が受け身で主語が不明だった。

このアドレス変換テーブルや消去回数のカウンタなども、ユーザーがアクセスできないフラッシュメモリ内の(データ領域以外の)場所に何かが保管している。
https://www.logitec.co.jp/data_recovery/column/vol_003/
主語はSSDかな?

補足

回答ありがとうございます。

謎に感じるのは、ディレクトリエントリなどの書き換えの場合、ライトバック時に別の物理セクタに書き込まれるのか、です。一対一の論理・物理マッピングを動的に変更するテーブルが必要になりますよね。でも、このテーブルだけは物理的な位置を変更できないし、そこだけ劣化したらお終いですよね。
512バイトセクタと仮定するとセクタアドレスが6バイト程度として全容量に対して2%程度のメモリが別途必要になる(2TBなら16GBのSLTなど用意するのかな)。

SSDが自力で劣化均等化をしているとして、それならばデフラグがなぜ良くないのかという疑問も出てくる(同一セクタ数十万回~数百万回は書き換え可能なはずなので、本当に均等化できるならそこまで気にしなくともという気がするのです)

最近の風潮は壊れたら買い替える流れなので、質問に書かせていただいた通り、そんなに気にしなくてもいいのではありますが。

だって、普通のRAMも読み書き上限回数ありますからね!気にし始めたら多分眠れません(笑)

2021/12/29 15:54

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。