2009-07-31 9 views
2

到着するリアルタイムデータを格納するディスクベースのデータ構造を思いつきましたが、配列がいっぱいになり、jvmがクラッシュする可能性があります。データ構造とアルゴリズムは優れています。私の唯一の疑問は、これがSDカードの寿命に大きな影響を与えるかどうかです。データ構造を格納するためにSD-Cardを使用している間に生きている

私はsdcardsが制限された読み書きしかしていないことを知っていますが、どれだけ「制限されていますか」。セッションごとに平均20分でsdカードに書き込むと、SDカードに大きな影響を与え、ユーザーがそれを殺したのはこのアプリだと分かりますか?

+2

20分間に書き込まれるデータの量によって異なります。 –

+1

SDメディアではなく小売りのUSB「pendrive」をテストしていますが、次の記事では面白いかもしれない情報があります(テスト方法であっても)。http://www.bress.net/blog/index .php?url =アーカイブ/ 114-How-Long-Does-a-Flash-Drive-Last。html –

+1

@ Rob、Michael、Spencer and Cruachan "ベストアンサー"がないことがわかっていても、あなたの答えはおそらくこの質問に対する最良の答えでしょう。 私は複数の回答をサポートしたいと思っています。データ構造を使って複数のカードをテストするアイディアを提案してCruachanに話しかけます。 –

答えて

2

カードの書き込み回数は100,000回です。これは、フラッシュセクタの消去回数であり、ディスクセクタよりもはるかに大きい可能性があります。

私が見つけた計算では、次の文書:STEC SMALL CARDS WEAR LEVELING AND LIFETIME CALCULATOR

例の一つ: 生涯= 2,000,000 X(512メガバイト - 100メガバイト - 128キロバイト)/(50メガバイト×10 /日)= 4513年

あなたが設計の合理的な仕事をしているなら(つまり、あなたが書いたバイトごとにファイルを開いたり閉じたりしないでください)、非常に広範なテストを設定することさえ気にしません。

+0

すごく感謝しています。私にいくつかのお金を貯めて:)。本当にありがとう ! –

2

私は最近のフラッシュメモリが何十万もの書き換えに適していると思いました。私が知る限り、読み取りの数は制限されていません。

気分が良くなると、Windows VistaはReadyBoostと呼ばれる機能をサポートしています。これにより、USBフラッシュドライブにキャッシュスペースを割り当ててパフォーマンスを向上させることができます。あなたが何とか書いていても管理している限り、あなたは大丈夫でしょう。

さらに、一部のフラッシュメモリモジュールには、書き込みの最適化が組み込まれたコントローラが組み込まれているため、後続の書き込み操作でメモリの異なる領域に書き込もうとします。しかし、特定のメモリカードが内蔵コントローラを持っているかどうかを確かめない限り(おそらくSDは内蔵コントローラを持っていませんが、それは書き込みを払拭します)。

編集:ここではメモリの摩耗を説明し、より詳細に、「ウェアレベリング」のリンクです: http://en.wikipedia.org/wiki/Flash_memory#Memory_wear

1

私は「ハードドライブ」としてSDカードを使用し、私はきた初期のeeePCというので購入これについての議論に興味がありました。特に、2Gbモデルを使用していたため、内部RAMを4GBのSDカードに広げるように設定しました。実際のハードなデータでは難しいですが、情報が豊富なオプションはすべて、マシンの合理的な寿命内で問題になるべきではないことを示唆しています(もちろん、私のeeepcはext3ファイルシステム上でSDカード - つまり、私はそれをハックしたので、何の問題もありません。

現代のSDカードはあなたに少なくとも100,000サイクルを与えるはずなので、デバイスの寿命がちょうど数年であれば合理的に期待できると思います。しかし、唯一の確実な方法は、サンプルカードのバッチに連続してプログラムを書いて、3か月程度の時間内に失敗するかどうかを確認することで、いくつかのテストを設定することです。また、メーカーに直接お尋ねします。

+0

良いアイデア。ありがとう! –

+0

統計学者に確認する必要がありますが、非常に少ないカード数からかなりの数を得ることができると思います。例えば、10枚のカードがテストされ、3ヶ月間連続して読み書きが失敗しない場合は、確かな信頼度で失敗率の上限を導き出すことができます。私はまたあなたがUSB/SDカードリーダーのバッチを自分で買った場合、あなたはPC上でかなりの数を設定することができないし、あなたのデータ構造を絶え間なく書いている別注プログラムの複数のコピーを走らせることもできません。引用符で囲まれた値は大丈夫ですが、自分でテストすることは何も勝ちません。 – Cruachan

関連する問題