フラッシュメモリーの書き換え

最終更新日 2023年09月11日

フラッシュメモリーの書き換えとは

基礎

フラッシュメモリーの書き換えとは、フラッシュメモリーのデータを書き直すことです。カキカエと読みます。

書き換え前と書き換え後でデータ存在場所が異なる

フラッシュメモリーにデータが存在する場所を物理的な場所とします。フラッシュメモリーの制御チップではデータが存在する場所を管理します。制御チップ管理上の場所を論理的な場所とします。

データを書き換えると、書き換え前のデータと書き換え後のデータ、それぞれの論理的な場所は同じです。物理的な場所は異なる場合があります。この理由は、フラッシュメモリーの劣化を抑えるためです。

フラッシュメモリーではデータを書き換えると劣化し、データが記憶できなくなるほど劣化すると寿命です。フラッシュメモリーの一部の物理的な場所にデータ書き換えが集中すると、その場所の劣化が早まり寿命も早まります。これを防ぐために、書き換え前のデータとは異なる物理的な場所に書き換え後のデータを記憶する場合があります。

物理的な場所と論理的な場所の関係も管理する必要がありますが、これも制御チップが行います。

出典
気になる「自然蒸発」と「セル寿命」(4ページ目) | 日経クロステック(xTECH)(2009/11/18公開記事)

フラッシュメモリーではデータ書き換え処理が複雑

ハードディスクではデータの直接上書きができますが、フラッシュメモリーではできません。そのため、データを書き換える場合、データを消去する必要があります。ページ単位ではデータ消去できずブロック単位ではデータ消去できるので、データ書き換え処理が複雑になります。

ブロック1   ブロック2   作業用メモリー
データA 未使用ページ データA
データB 未使用ページ データB
データC 未使用ページ データC

3ページで構成されたブロック1、ブロック2があるとします。ブロック1の各ページにデータA、データB、データCが書き込まれています。データBをデータDに書き換えるとします。ブロック2の全ページは未使用ページ、すなわちデータが書き込まれていません。

データ書き換えの処理を始めるとします。ブロック1の全データを、制御チップの作業用メモリーにコピーします。

ブロック1   ブロック2   作業用メモリー
データA 未使用ページ データA
データB 未使用ページ データD
データC 未使用ページ データC

作業用メモリーにおいてデータBをデータDに書き換えます。作業用メモリーは、データの直接上書きができるメモリーです。

ブロック1   ブロック2   作業用メモリー
未使用ページ データA -
未使用ページ データD -
未使用ページ データC -

作業用メモリーの全データを、ブロック2にコピーします。作業用メモリーの全データを消去します。ブロック1の全データを消去します。上記の通りフラッシュメモリーではデータ書き換えの処理が複雑になります。

出典
なぜ消えるのか、劣化するのか(5ページ目) | 日経クロステック(xTECH)(2009/11/19公開記事)


キャンペーン情報(PR)
マウスコンピューター
・ゴールデンウィークセール
最大30,000円OFF!!
(5月8日迄)
DELL
・ゴールデンウイーク
GWはお得がいっぱい
(キャンペーン実施中)
パソコン工房
・ゴールデンウィークセール
ゲーミングPCやクリエイター向けパソコンをラインナップ
(5月7日迄)