JP2017134440A - メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム - Google Patents

メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム Download PDF

Info

Publication number
JP2017134440A
JP2017134440A JP2016011203A JP2016011203A JP2017134440A JP 2017134440 A JP2017134440 A JP 2017134440A JP 2016011203 A JP2016011203 A JP 2016011203A JP 2016011203 A JP2016011203 A JP 2016011203A JP 2017134440 A JP2017134440 A JP 2017134440A
Authority
JP
Japan
Prior art keywords
writing
data
memory control
storage block
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016011203A
Other languages
English (en)
Other versions
JP6329185B2 (ja
Inventor
元俊 咸
Hirosugu Kan
元俊 咸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2016011203A priority Critical patent/JP6329185B2/ja
Publication of JP2017134440A publication Critical patent/JP2017134440A/ja
Application granted granted Critical
Publication of JP6329185B2 publication Critical patent/JP6329185B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】書き換え可能な不揮発性メモリに記憶されたデータの最新性が低下することを回避しつつ、当該データが消失することを回避する。【解決手段】メモリ制御回路30は、現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第1及び第2の記憶ブロック41及び42を有する、書き換え可能な不揮発性メモリ40における第1の記憶ブロック41に対してデータが書き込まれたときに、第1の記憶ブロック41に対する、それまでの書き込み回数を測定する回数測定部31と、回数測定部31により測定された書き込み回数が、所定の回数条件を満たすか否かを判定する判定部34と、判定部34により、書き込み回数が回数条件を満たすと判定されたときに、第1の記憶ブロック41に書き込まれた当該データを、第2の記憶ブロック42に対して書き込む書き込み部35と、を備える。【選択図】 図4

Description

本願発明は、書き換え可能な不揮発性メモリに対するデータの書き込みを制御する技術に関する。
組み込みシステムなどでは、NOR(否定論理和)型フラッシュメモリ、あるいは、NAND(否定論理積)型フラッシュメモリのような、書き換え可能な不揮発性メモリが広く使用されている。組み込みシステムは、このようなフラッシュメモリ(書き換え可能な不揮発性メモリ)に格納された制御用プログラム及び設定情報等に基づいて動作する。以降、本願では、このようなフラッシュメモリを、FROM(Flash Read Only Memory)と称する。
FROMが備える不揮発性能は、データの書き込みや消去を何度も行うことによって次第に劣化することが知られている。図6は、FROMに対する書き換え回数と、FROMによるデータ保持の保障時間と、FROMの温度との関係を概念的に説明する図である。データ保持の保障時間(以降、保障時間と称する)は、データがFROMに格納されたのち、当該データが揮発により失われないことを保障可能な経過時間である。
図6に示す通り、FROMの温度が例えば55℃(℃は摂氏温度を表す記号)の場合において、保障時間は、FROMに対する書き換え回数によって異なる。すなわち、データの書き換えがN回(NはFROMの特性により定まるいずれかの自然数)行われたFROMの保障時間が10T時間(TはFROMの特性により定まるいずれかの数)であるのに対し、データの書き換えが10N回行われたFROMの保障時間は、1T時間に低下する。また、図6に示す通り、保障時間は、FROMの温度が高いほど低下する。したがって、FROMを使用するシステムでは、重要なデータが失われることが無いように、FROMが備える不揮発性能が次第に劣化することを考慮したデータの書き込み制御を行う技術が必要となる。
このような技術の一例として、特許文献1には、バックアップ対象とされる第1の論理記憶領域に対して更新データの書き込み要求を受信した場合、更新前のデータを維持した状態で、第1の物理記憶領域をバックアップ用記憶領域として管理するストレージシステムが開示されている。このストレージシステムは、その際、第1の論理記憶領域に新たに第2の物理記憶領域を割り当てて更新データを書き込む。このストレージシステムは、バックアップ非対象とされる第2の論理記憶領域に対して更新データの書き込み要求を受信した場合、第2の論理記憶領域に割り当てられていた第3の物理記憶領域を無効記憶領域として管理する。このストレージシステムは、その際、第2の論理記憶領域に新たに割り当てられた第4の物理記憶領域に更新データを書き込む。
また、特許文献2には、データ記録領域を、独立に書き換え可能な複数の記憶ブロックに分け、通常運用時にデータ記録に使用するアクティブブロックと、通常運用時には使用しない予備ブロックとに割り当てた半導体記憶装置が開示されている。この半導体記憶装置は、ブロック毎の、または全ブロックでの書き換え回数を計数し、予め設定された回数毎にアクティブブロックの1つを予備ブロックと交替することで書き換え頻度を平均化する。交替する予備ブロックは、最も過去に予備となった、または、最も書き換え回数の少ないブロックを選定する。
特表2013-541743号公報 特開平08-096589号公報
例えば、FROMに制御用プログラムを格納した組み込みシステムなどでは、FROMが備える不揮発性が劣化することによって、当該制御用プログラムが消失した場合、システムを動作させることができなくなる。したがってこのような問題を回避できるように、FROMにデータを格納することが必要となる。
図7は、FROMに格納されたデータが消失する場合を考慮して、格納されたデータを更新する一般的な第1の方法例を示す図である。図7に例示するFROM50は、512個の記憶部ブロック50−1乃至50−512を含んでいる。記憶部ブロック50−1乃至50−512は、個々に独立して書き換え可能である。
図7(a)に示すとおり、当初、記憶ブロック50−1及び50−512は出荷時プログラムを格納し、記憶ブロック50−2は当該出荷時プログラムに関する設定データを格納している。記憶ブロック50−3乃至50−511は、空の状態にあることとする。この状態において当該出荷時プログラムが更新された場合、図7(b)に示す通り、更新後プログラムは、空の状態にある記憶ブロック50−3に格納され、記憶ブロック50−1に格納されている出荷時プログラムは削除される。記憶ブロック50−512は、プログラムの更新にかかわらず、出荷時プログラムを継続して格納する。図7(b)に示す状態において、プログラムがさらに更新された場合、その更新後プログラムは、空の状態にある記憶ブロック50−4(不図示)に格納され、記憶ブロック50−3に格納されているプログラムは削除される。
図7に例示する方法では、プログラムが更新されるごとに、その格納先が、ラウンドロビン方式によって、空の状態にある記憶ブロック50−1乃至50−511のいずれかに移動する。記憶ブロック50−512は、プログラムの更新にかかわらず、出荷時プログラムを継続して格納するので、記憶ブロック50−512に対するデータの書き換えは発生しない。この場合、記憶ブロック50−512の不揮発性能はほとんど劣化しないので、記憶ブロック50−512に格納されている出荷時プログラムが消失する可能性は極めて小さい。したがって、プログラムが更新されるたびに不揮発性能が次第に劣化する記憶ブロック50−1乃至50−511のいずれかに格納されている最新のプログラムが消失した場合であっても、記憶ブロック50−512に格納されている出荷時プログラムを使用して、システムを動作させることができる。しかしながら、出荷時プログラムからの更新量が多い場合は、出荷時プログラムではシステムが正常に機能しない可能性があるという問題がある。
図8は、FROMに格納されたデータが消失する場合を考慮して、格納されたデータを更新する一般的な第2の方法例を示す図である。図8に示す第2の方法例も、図7に示すFROM50を使用することとする。
図8(a)に示すとおり、当初、記憶ブロック50−1及び50−2は出荷時プログラムを格納し、記憶ブロック50−3は当該出荷時プログラムに関する設定データを格納している。記憶ブロック50−4乃至50−512は、空の状態にあることとする。この状態において当該出荷時プログラムが更新された場合、図8(b)に示す通り、更新後プログラムは、空の状態にある記憶ブロック50−4に格納され、記憶ブロック50−1に格納されている出荷時プログラムは削除される。この際、記憶ブロック50−2は、出荷時プログラムを継続して格納する。図8(b)に示す状態において、プログラムがさらに更新された場合、その更新後プログラムは、空の状態にある記憶ブロック50−5(不図示)に格納され、記憶ブロック50−2に格納されている出荷時プログラムは削除される。
図8に示す第2の方法例でも、プログラムが更新されるごとに、その格納先が、ラウンドロビン方式によって、空の状態にある記憶ブロック50−1乃至50−512のいずれかに移動する。この際、FROM50は、記憶ブロック50−1乃至50−512のいずれかに2つに、最新のプログラムと、その1つ前の版のプログラムとを格納している。図8に示す第2の方法例では、図7に示す第1の方法例が有する、出荷時プログラムではシステムが正常に機能しない可能性があるという問題を回避できる。しかしながら、この第2の方法例では、プログラムが更新されるたびに、記憶ブロック50−1乃至50−512の不揮発性能が次第に劣化するので、格納されている最新のプログラムと、その1つ前の版のプログラムとが、両方とも消失する可能性があるという問題がある。
このように、不揮発性能が劣化しないように、出荷後に更新を行わない記憶ブロックを設けた場合は、当該記憶ブロックに格納されたデータの最新性が低下する。本願において、最新性とは、データについて、最新の状態を基準とする新しさの度合いを表す。そして、データの最新性が低下しないようにデータを更新する場合は、記憶ブロックの不揮発性能が低下するという問題がある。実際のシステムでは、データが消失することと、データの最新性が低下することと、を両方とも回避することが求められるので、これを実現することが課題である。特許文献1及び2は、この課題について言及していない。本願発明の主たる目的は、この課題を解決したメモリ制御回路等を提供することである。
本願発明の一態様に係るメモリ制御回路は、現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第一及び第二の記憶ブロックを有する、書き換え可能な不揮発性メモリにおける前記第一の記憶ブロックに対してデータが書き込まれたときに、前記第一の記憶ブロックに対する、それまでの前記書き込み回数を測定する回数測定手段と、前記回数測定手段により測定された前記書き込み回数が、所定の回数条件を満たすか否かを判定する判定手段と、前記判定手段により、前記書き込み回数が前記回数条件を満たすと判定されたときに、前記第一の記憶ブロックに書き込まれた前記データを、前記第二の記憶ブロックに対して書き込む書き込み手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係るメモリ制御方法は、情報処理装置によって、現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第一及び第二の記憶ブロックを有する、書き換え可能な不揮発性メモリにおける前記第一の記憶ブロックに対してデータが書き込まれたときに、前記第一の記憶ブロックに対する、それまでの前記書き込み回数を測定し、測定された前記書き込み回数が、所定の回数条件を満たすか否かを判定し、前記書き込み回数が前記回数条件を満たすと判定されたときに、前記第一の記憶ブロックに書き込まれた前記データを、前記第二の記憶ブロックに対して書き込む。
また、上記目的を達成する更なる見地において、本願発明の一態様に係るメモリ制御プログラムは、現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第一及び第二の記憶ブロックを有する、書き換え可能な不揮発性メモリにおける前記第一の記憶ブロックに対してデータが書き込まれたときに、前記第一の記憶ブロックに対する、それまでの前記書き込み回数を測定する回数測定処理と、前記回数測定処理により測定された前記書き込み回数が、所定の回数条件を満たすか否かを判定する判定処理と、前記判定処理により、前記書き込み回数が前記回数条件を満たすと判定されたときに、前記第一の記憶ブロックに書き込まれた前記データを、前記第二の記憶ブロックに対して書き込む書き込み処理と、をコンピュータに実行させるためのプログラムである。
更に、本願発明は、係るメモリ制御プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、書き換え可能な不揮発性メモリに記憶されたデータの最新性が低下することを回避しつつ、当該データが消失することを回避することを可能とする。
本願発明の第1の実施形態に係るメモリ制御システム1の構成を示すブロック図である。 本願発明の第1の実施形態に係るメモリ制御回路10が、CPU2から受信したデータをFROM20に書き込む動作を示すフローチャートである。 本願発明の第1の実施形態に係るメモリ制御回路10が、通常時アクセス用ブロックに格納されているデータを、非常時アクセス用ブロック22に書き込む動作を示すフローチャートである。 本願発明の第2の実施形態に係るメモリ制御回路30の構成を示すブロック図である。 本願発明の各実施形態に係るメモリ制御回路を実行可能な情報処理回路の構成を示すブロック図である。 フラッシュメモリの書き換え回数と、データ保持保障時間と、フラッシュメモリの温度との関係を概念的に説明する図である。 フラッシュメモリに格納されたデータが消失する場合を考慮して、格納されたデータを更新する一般的な第1の方法例を示す図である。 フラッシュメモリに格納されたデータが消失する場合を考慮して、格納されたデータを更新する一般的な第2の方法例を示す図である。 第1の実施形態に係るFROM20について、使用を開始してからの時間とデータ保持保障時間との関係を概念的に説明する図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るメモリ制御システム1を概念的に示すブロック図である。メモリ制御システム1は、大別して、メモリ制御回路10、及び、FROM20を備える。メモリ制御システム1は、CPU(Central Processing Unit)2と通信可能に接続されている。メモリ制御システム1と通信可能に接続されるCPU2は、複数であってもよい。メモリ制御回路10は、CPU2からFROM20に対する、データの読み出し要求及びデータの書き込み要求について処理する回路である。メモリ制御システム1は、例えば1つの半導体チップの中に構築されてもよい。
FROM20は、CPU2が使用するデータを記憶するフラッシュメモリである。FROM20は、通常時アクセス用ブロック(第1の記憶ブロック)21、及び、非常時アクセス用ブロック(第2の記憶ブロック)22を備えている。通常時アクセス用ブロック21、及び、非常時アクセス用ブロック22は、互いに独立して、記憶するデータを書き換え可能である。通常時アクセス用ブロック21は、CPU2からの要求に応じて更新されるデータを記憶する記憶ブロックである。非常時アクセス用ブロック22は、通常時アクセス用ブロック21に記憶されたデータが消失した場合に備えて、当該データのバックアップを記憶する記憶ブロックである。
通常時アクセス用ブロック21は、511個のサブブロック21−1乃至21−511を備えている。サブブロック21−1乃至21−511は、互いに独立して、記憶するデータを書き換え可能である。通常時アクセス用ブロック21が備えるサブブロックの数は511個に限定されず、FROM20の記憶容量等に応じて、異なる値を取り得る。サブブロックの数は1個でもよい。
このように、サブブロック21−1乃至21−511、及び、非常時アクセス用ブロック22は、互いに独立して、記憶するデータを書き換え可能である。したがって、これらの記憶ブロックは、個々に、現在までの自記憶ブロックに対するデータの書き込み回数に依存した不揮発性能を有する。
本実施形態に係るメモリ制御回路10は、CPU2からの要求に従い、サブブロック21−i(iは1乃至511のいずれかの整数)に格納されているデータを更新する場合、未使用のサブブロック21−j(jはiとは異なる1乃至511のいずれかの整数)に更新後のデータを格納する。メモリ制御回路10は、この際、サブブロック21−iに格納されていた更新前のデータを削除する。メモリ制御回路10は、例えば、データを更新するたびに、当該データの格納先が、ラウンドロビン方式によって、空の状態にあるサブブロック21−1乃至21−511のいずれかに移動するように、格納先であるサブブロックを選択する。尚、メモリ制御回路10は、これとは異なる方法によって、格納先であるサブブロックを選択してもよい。
本実施形態に係るメモリ制御回路10は、回数測定部11、時間測定部12、温度測定部13、判定部14、及び、書き込み部15を備えている。回数測定部11、判定部14、及び、書き込み部15は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。時間測定部12は、時計(計時手段)を内包するデバイスである。温度測定部13は、温度センサーを内包するデバイスである。
回数測定部11は、現在までに、通常時アクセス用ブロック21に対してデータが書き込まれた回数(書き込み回数)、すなわち、サブブロック21−1乃至21−511に対しる書き込み回数の合計値を測定する。回数測定部11は、その書き込み回数が、システム管理者等によって定められた所定の回数閾値に達するたびに、測定結果であるカウント値を初期値(例えば0)にリセットする。この回数閾値を、例えば、サブブロック21−1乃至21−511に対して10回ずつ書き込みが行われたときの回数とする場合、その値は5110回となる。回数測定部11は、測定したカウント値を、判定部14へ通知する。
時間測定部12は、所定のタイミング(例えば定期的)に、通常時アクセス用ブロク21に対する書き込みが最後に行われてからの経過時間を測定する。時間測定部12は、測定した経過時間を、判定部14へ通知する。時間測定部12は、その経過時間が、システム管理者等によって定められた所定の時間閾値に達するたびに、測定結果である経過時間を初期値(例えば0)にリセットする。尚、この時間閾値としては、例えば、FROM20の不揮発性能に依存するデータ保持保障時間であることが望ましいい。
温度測定部13は、FROM20の表面等に設置された温度センサーを介して、FROM20の温度を測定する。温度測定部13は、測定したFROM20の温度を、判定部14へ通知する。
判定部14は、回数測定部11から通知されたカウント値(書き込み回数)が、所定の回数条件を満たすか否かを判定する。この回数条件は、例えば、カウント値が回数閾値に達したか否か等である。判定部14は、時間計測部12から通知された経過時間が、時間閾値に達したか否かを判定する。判定部14は、これらの判定結果を、書き込み部15へ通知する。
判定部14は、カウント値が回数閾値に達するごとに、回数閾値を徐々に小さくしてもよい。例えば、回数閾値が、当初、サブブロック21−1乃至21−511に対して10回ずつ書き込みが行われたときの回数(即ち5110回)に設定されていることとする。この場合、判定部14は、カウント値が5110回に達したのち、回数閾値を、例えばサブブロック21−1乃至21−511に対して9回ずつ書き込みが行われたときの回数(即ち4599回)に小さくする。判定部14は、その後、カウント値が4599回に達したのち、回数閾値を、例えばサブブロック21−1乃至21−511に対して8回ずつ書き込みが行われたときの回数(即ち4088回)に小さくする。判定部14は、同様の処理を繰り返すことによって、回数閾値を徐々に小さくする。判定部14は、同様に、カウント値が回数閾値に達するごとに、時間閾値を徐々に小さくしてもよい。
判定部14は、温度測定部13から通知されたFROM20の温度に応じて、回数条件の内容を変更してもよい。判定部14は、例えば、FROM20の温度が高いほど、回数閾値を小さくする。判定部14は、また、温度測定部13から通知されたFROM20の温度に応じて、時間閾値を変更してもよい。判定部14は、例えば、FROM20の温度が高いほど、時間閾値を小さくする。
書き込み部15は、判定部14により、書き込み回数が回数条件を満たすと判定されたときに、通常時アクセス用ブロック21におけるサブブロック21−jに書き込まれた、CPU2から受信したデータを、非常時アクセス用ブロック22に書き込む。書き込み部15は、また、判定部14により、時間測定部12により測定された経過時間が時間閾値に達したと判定されたときに、サブブロック21−jに書き込まれているデータを、非常時アクセス用ブロック22に書き込む。
次に図2及び図3のフローチャートを参照して、本実施形態に係るメモリ制御回路10の動作(処理)について詳細に説明する。
図2は、実施形態に係るメモリ制御回路10が、CPU2から受信したデータをFROM20に書き込む動作を示すフローチャートである。
書き込み部15は、CPU2から受信した更新後データをサブブロック21−jに書き込む(ステップS101)。書き込み部15は、サブブロック21−iに記憶されている更新前データを消去する(ステップS102)。回数測定部11は、カウント値を1加算する(ステップS103)。判定部14は、カウント値を回数閾値と比較する(ステップS104)。
カウント値が回数閾値でない場合(ステップS105でNo)、全体の処理は終了する。カウント値が回数閾値である場合(ステップS105でYes)、回数測定部は、カウント値を0にリセットする(ステップS106)。書き込み部15は、CPU2から受信した更新後データを非常時アクセス用ブロック22に書き込み(ステップS107)、全体の処理は終了する。
図3は、実施形態に係るメモリ制御回路10が、通常時アクセス用ブロック21に格納されているデータを、非常時アクセス用ブロック22に書き込む動作を示すフローチャートである。
時間測定部12は、所定のタイミングに、非常時アクセス用ブロック22に対する書き込みが最後に行われてからの経過時間を測定する(ステップS201)。判定部14は、経過時間を時間閾値と比較する(ステップS202)。
経過時間が時間閾値以上でない場合(ステップS203でNo)、全体の処理は、ステップS201へ戻る。経過時間が時間閾値以上である場合(ステップS203でYes)、時間測定部12は、経過時間の測定値を0にリセットする。書き込み部15は、通常時アクセス用ブロック21に格納されているデータを、非常時アクセス用ブロック22に書き込み(ステップS205)、全体の処理は、ステップS201へ戻る。
本実施形態に係るメモリ制御回路10は、書き換え可能な不揮発性メモリに記憶されたデータの最新性が低下することを回避しつつ、当該データが消失することを回避することができる。その理由は、回数測定部11は、FROM20における通常時アクセス用ブロック21に対してデータが書き込まれる際に、これまでの書き込み回数を測定し、書き込み部15は、その書き込み回数が回数閾値に達した場合に、当該データを、FROM20における非常時アクセス用ブロック22に書き込むからである。
以下に、本実施形態に係るメモリ制御回路10によって実現される効果について、詳細に説明する。
フラッシュメモリにデータを格納するシステムにおいて、データが消失しないようにするために、出荷後にデータの更新を行わない記憶ブロックを設けることによって、当該記憶ブロックの不揮発性能が劣化することを回避する場合は、当該記憶ブロックに格納されたデータの最新性が低下するという問題がある。一方、係るシステムにおいて、データの最新性が低下しないようにデータを更新する場合は、記憶ブロックの不揮発性能が低下するという問題がある。実際のシステムでは、データが消失することと、データの最新性が低下することと、を両方とも回避することが求められるので、これを実現することが課題である。
これに対して、本実施形態に係るメモリ制御回路10では、回数測定部11は、通常時アクセス用ブロック21に対してデータが書き込まれたときに、通常時アクセス用ブロック21に対する、それまでの前記書き込み回数を測定する。判定部14は、回数測定部11により測定された書き込み回数が、所定の回数条件を満たす(回数閾値に達した)か否かを判定する。書き込み部15は、判定部14により、書き込み回数が回数条件を満たすと判定されたときに、通常時アクセス用ブロック21に書き込まれたデータを、非常時アクセス用ブロック22に対して書き込む。これにより、本実施形態に係るメモリ制御回路30は、フラッシュメモリに記憶されたデータの最新性が低下することを回避しつつ、当該データが消失することを回避することができる。
図9は、本実施形態に係るFROM20について、使用を開始してからの時間とデータ保持保障時間との関係を概念的に説明する図である。図9は、FROM20における通常時アクセス用ブロック21の各サブブロックに対して、T時間の周期でまとめて10N回のデータの書き換えが行われた場合における、通常時アクセス用ブロック21の各サブブロック、及び、非常時アクセス用ブロック22について、データ保持保障時間の推移を示している。尚、実際のシステムでは、通常時アクセス用ブロック21の各サブブロックに対して、まとめて10N回のデータの書き換えが行われることはないが、説明を簡略化するために、このような動作が行われることとする。また、FROM20は、図6に示す特性を有し、FROM20の温度は55℃であることとする。
図9に示す太線は、FROM20の使用を開始してからの時間における、通常時アクセス用ブロック21及び非常時アクセス用ブロック22のデータ保持保障時間の長さを表す。図9に示す通り、FROM20の使用を開始してから1T時間後に通常時アクセス用ブロック21の各サブブロックに対して10N回の書き換えが行われる。このときの通常時アクセス用ブロック21のデータ保持保障時間は、図6に示す通り1T時間である。本実施形態では、上述の通り、通常時アクセス用ブロック21の各サブブロックに対して、10回書き換えが行われるたびに、非常時アクセス用ブロック22に対して、1回書き換えが行われる。したがって、FROM20の使用を開始してから1T時間後に、非常時アクセス用ブロック22に対して、1N回の書き換えが行われる。このときの非常時アクセス用ブロック22のデータ保持保障時間は、図6に示す通り10T時間である。
図9に示す通り、FROM20の使用を開始してから2T時間後に、通常時アクセス用ブロック21の各サブブロックに対して、20N回の書き換えが行われる。このときの通常時アクセス用ブロック21のデータ保持保障時間は、0.9T時間に低下する。そして、FROM20の使用を開始してから2T時間後に、非常時アクセス用ブロック22に対して2N回の書き換えが行われる。このときの非常時アクセス用ブロック22のデータ保持保障時間は、9T時間に低下する。
このように、通常時アクセス用ブロック21及び非常時アクセス用ブロック22のデータ保持保障時間は、FROM20の使用を開始してから1T時間経過するたびに10%ずつ減少する。そして、非常時アクセス用ブロック22に対するデータの書き換え回数は、通常時アクセス用ブロック21の各サブブロックに対するデータの書き換え回数の10分の1である。したがって、同じ時間における、非常時アクセス用ブロック22のデータ保持保障時間は、通常時アクセス用ブロック21のデータ保持保障時間の10倍を維持することができる。そして、非常時アクセス用ブロック22に記憶されているデータは、適宜更新される。したがって、本実施形態に係るメモリ制御回路10によれば、通常時アクセス用ブロック21に記憶されたデータが消失した場合であっても、当該データに関する最新性をある程度維持した状態で、当該データを復旧することができる。
また、本実施形態に係るメモリ制御回路10では、時間測定部12は、所定のタイミングに、非常時アクセス用ブロック22に対する書き込みが最後に行われてからの経過時間を測定する。書き込み部15は、判定部14が、当該経過時間が時間閾値に達したと判定した場合に、通常時アクセス用ブロック21に記憶されているデータを、非常時アクセス用ブロック22に対して書き込む。これにより、本実施形態に係るメモリ制御回路10は、通常時アクセス用ブロック21に記憶されているデータが消失する可能性がある時間が経過したときに、当該データのバックアップとして、当該データを非常時アクセス用ブロック22に書き込むので、データが消失することを、より確実に回避することができる。
また、図6及び図9に示す通り、FROM20のデータ保持保障時間は、FROM20に対する書き換え回数が増えるとともに減少する。そして、本実施形態に係るメモリ制御回路10では、判定部14は、回数測定部11により測定された書き込み回数が回数閾値に達するごとに、回数閾値、あるいは、時間閾値を小さくすることができる。したがって、本実施形態に係るメモリ制御回路10は、FROM20の不揮発性能が低下するにしたがい、より頻繁に、データのバックアップを非常時アクセス用ブロック22に書き込むようにするので、データが消失することを、より確実に回避することができる。
さらに、本実施形態に係るメモリ制御回路10では、温度測定部13は、FROM20の温度を測定する。そして、判定部14は、温度測定部13により測定された温度に応じて、回数閾値及び時間閾値の少なくとも何れかを変更することができる。図6に示す通り、FROM20の不揮発性能は、その温度が高くなるにしたがって低下する。判定部14は、FROM20の温度が高くなるにしたがって、回数閾値及び時間閾値の少なくとも何れかを小さくする。これにより、本実施形態に係るメモリ制御回路10は、FROM20の温度が高くなるにしたがい、より頻繁に、データのバックアップを非常時アクセス用ブロック22に書き込むようにするので、データが消失することを、より確実に回避することができる。
<第2の実施形態>
図4は、第2の実施形態に係るメモリ制御回路30の構成を概念的に示すブロック図である。
本実施形態に係るメモリ制御回路30は、回数測定部31、判定部34、及び、書き込み部35を備えている。
メモリ制御回路30が制御の対象とする書き換え可能な不揮発性メモリ40は、現在までのデータの書き込み回数に依存した不揮発性能を個々に有する、第1の記憶ブロック41及び第2の記憶ブロック42を有している。
回数測定部31は、第1の記憶ブロック41に対してデータが書き込まれたときに、第1の記憶ブロック41に対する、それまでの書き込み回数を測定する。
判定部34は、回数測定部31により測定された書き込み回数が、所定の回数条件を満たすか否かを判定する。
書き込み部35は、判定部34により、当該書き込み回数が当該回数条件を満たすと判定されたときに、第1の記憶ブロック41に書き込まれた当該データを、第2の記憶ブロック42に対して書き込む。
本実施形態に係るメモリ制御回路30は、書き換え可能な不揮発性メモリに記憶されたデータの最新性が低下することを回避しつつ、当該データが消失することを回避することができる。その理由は、回数測定部31は、第1の記憶ブロック41に対してデータが書き込まれる際に、これまでの書き込み回数を測定し、書き込み部35は、その書き込み回数が回数閾値に達した場合に、当該データを、第2の記憶ブロック42に書き込むからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図4に示した各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1及び図4において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・回数測定部11及び31、
・判定部14及び34、
・書き込み部15及び35。
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図5を参照して説明する。
図5は、本願発明の各実施形態に係るメモリ制御回路を実行可能な情報処理回路900(コンピュータ)の構成を例示的に説明する図である。即ち、図5は、図1及び図4に示したメモリ制御回路を実現可能なコンピュータ(情報処理回路)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図5に示した情報処理回路900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・バス904(通信線)。
即ち、上記構成要素を備える情報処理回路900は、これらの構成がバス904を介して接続された一般的なコンピュータである。
そして、上述した実施形態を例に説明した本願発明は、図5に示した情報処理回路900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1及び図4)における上述した構成、或いはフローチャート(図2及び図3)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)等の不揮発性の記憶デバイスに格納すれば良い。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 メモリ制御システム
10 メモリ制御回路
11 回数測定部
12 時間測定部
13 温度測定部
14 判定部
15 書き込み部
20 FROM
21 通常時アクセス用ブロック
21−1乃至21−511 サブブロック
22 非常時アクセス用ブロック
2 CPU
30 メモリ制御回路
31 回数測定部
34 判定部
35 書き込み部
40 不揮発性メモリ
41 第1の記憶ブロック
42 第2の記憶ブロック
50 FROM
50−1乃至50−512 記憶ブロック
900 情報処理回路
901 CPU
902 ROM
903 RAM
904 バス

Claims (10)

  1. 現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第一及び第二の記憶ブロックを有する、書き換え可能な不揮発性メモリにおける前記第一の記憶ブロックに対してデータが書き込まれたときに、前記第一の記憶ブロックに対する、それまでの前記書き込み回数を測定する回数測定手段と、
    前記回数測定手段により測定された前記書き込み回数が、所定の回数条件を満たすか否かを判定する判定手段と、
    前記判定手段により、前記書き込み回数が前記回数条件を満たすと判定されたときに、前記第一の記憶ブロックに書き込まれた前記データを、前記第二の記憶ブロックに対して書き込む書き込み手段と、
    を備えるメモリ制御回路。
  2. 前記第二の記憶ブロックに対する書き込みが最後に行われてからの経過時間を測定する時間測定手段をさらに備え、
    前記判定手段は、前記経過時間が所定の時間閾値に達したか否かを判定し、
    前記書き込み手段は、前記判定手段により、前記経過時間が前記時間閾値に達したと判定されたときに、前記第一のブロックに書き込まれている前記データを、前記第二の記憶ブロックに対して書き込む、
    請求項1に記載のメモリ制御回路。
  3. 前記回数測定手段は、前記書き込み回数が所定の回数閾値に達するのに応じて、前記書き込み回数を初期値にリセットし、
    前記判定手段は、前記回数条件として、前記書き込み回数が前記回数閾値に達したか否かを判定する、
    請求項2に記載のメモリ制御回路。
  4. 前記判定手段は、前記書き込み回数が前記回数閾値に達するのに応じて、前記回数閾値を小さくする、
    請求項3に記載のメモリ制御回路。
  5. 前記判定手段は、前記書き込み回数が前記回数閾値に達するのに応じて、前記時間閾値を小さくする、
    請求項3または4に記載のメモリ制御回路。
  6. 前記不揮発性メモリの温度を測定する温度測定手段をさらに備え、
    前記判定手段は、前記温度測定手段により測定された前記不揮発性メモリの温度に応じて、前記回数条件の内容、及び、前記時間閾値の少なくとも何れかを変更する、
    請求項2乃至5のいずれか一項に記載のメモリ制御回路。
  7. 前記回数測定手段は、複数のサブブロックを含む前記第一の記憶ブロックに対して前記データが書き込まれるのに応じて、前記データの書き込み先である前記サブブロックがラウンドロビン方式によって移動する場合に、前記複数のサブブロックへの書き込み回数の合計値を測定する、
    請求項1乃至6のいずれか一項に記載のメモリ制御回路。
  8. 請求項1乃至7のいずれか一項に記載のメモリ制御回路と、
    前記不揮発性メモリと、
    を有するメモリ制御システム。
  9. 情報処理装置によって、
    現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第一及び第二の記憶ブロックを有する、書き換え可能な不揮発性メモリにおける前記第一の記憶ブロックに対してデータが書き込まれたときに、前記第一の記憶ブロックに対する、それまでの前記書き込み回数を測定し、
    測定された前記書き込み回数が、所定の回数条件を満たすか否かを判定し、
    前記書き込み回数が前記回数条件を満たすと判定されたときに、前記第一の記憶ブロックに書き込まれた前記データを、前記第二の記憶ブロックに対して書き込む、
    メモリ制御方法。
  10. 現在までのデータの書き込み回数に依存した不揮発性能を個々に有する第一及び第二の記憶ブロックを有する、書き換え可能な不揮発性メモリにおける前記第一の記憶ブロックに対してデータが書き込まれたときに、前記第一の記憶ブロックに対する、それまでの前記書き込み回数を測定する回数測定処理と、
    前記回数測定処理により測定された前記書き込み回数が、所定の回数条件を満たすか否かを判定する判定処理と、
    前記判定処理により、前記書き込み回数が前記回数条件を満たすと判定されたときに、前記第一の記憶ブロックに書き込まれた前記データを、前記第二の記憶ブロックに対して書き込む書き込み処理と、
    をコンピュータに実行させるためのメモリ制御プログラム。
JP2016011203A 2016-01-25 2016-01-25 メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム Active JP6329185B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016011203A JP6329185B2 (ja) 2016-01-25 2016-01-25 メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016011203A JP6329185B2 (ja) 2016-01-25 2016-01-25 メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム

Publications (2)

Publication Number Publication Date
JP2017134440A true JP2017134440A (ja) 2017-08-03
JP6329185B2 JP6329185B2 (ja) 2018-05-23

Family

ID=59504460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016011203A Active JP6329185B2 (ja) 2016-01-25 2016-01-25 メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム

Country Status (1)

Country Link
JP (1) JP6329185B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138206A (zh) * 2021-12-09 2022-03-04 北京紫光芯能科技有限公司 一种数据处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09120376A (ja) * 1995-10-25 1997-05-06 Fujitsu Ten Ltd データ処理装置
JPH1011344A (ja) * 1996-06-24 1998-01-16 Mitsubishi Electric Corp データ・バックアップ方法
JP2000020252A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd 不揮発性半導体メモリを用いた記憶装置
JP2001229069A (ja) * 2000-02-17 2001-08-24 Dainippon Printing Co Ltd Icモジュール
JP2010079659A (ja) * 2008-09-26 2010-04-08 Nec Personal Products Co Ltd フラッシュメモリの延命装置、その方法及びそのプログラム
JP2012238259A (ja) * 2011-05-13 2012-12-06 Sony Corp 制御装置、記憶装置、制御方法
JP2013171600A (ja) * 2012-02-20 2013-09-02 Denso Corp 不揮発性メモリ装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09120376A (ja) * 1995-10-25 1997-05-06 Fujitsu Ten Ltd データ処理装置
JPH1011344A (ja) * 1996-06-24 1998-01-16 Mitsubishi Electric Corp データ・バックアップ方法
JP2000020252A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd 不揮発性半導体メモリを用いた記憶装置
JP2001229069A (ja) * 2000-02-17 2001-08-24 Dainippon Printing Co Ltd Icモジュール
JP2010079659A (ja) * 2008-09-26 2010-04-08 Nec Personal Products Co Ltd フラッシュメモリの延命装置、その方法及びそのプログラム
JP2012238259A (ja) * 2011-05-13 2012-12-06 Sony Corp 制御装置、記憶装置、制御方法
JP2013171600A (ja) * 2012-02-20 2013-09-02 Denso Corp 不揮発性メモリ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138206A (zh) * 2021-12-09 2022-03-04 北京紫光芯能科技有限公司 一种数据处理方法、装置、设备及存储介质
CN114138206B (zh) * 2021-12-09 2024-03-19 北京紫光芯能科技有限公司 一种数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP6329185B2 (ja) 2018-05-23

Similar Documents

Publication Publication Date Title
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
TWI420303B (zh) 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8015371B2 (en) Storage apparatus and method of managing data storage area
JP4472010B2 (ja) 記憶装置
JP5448013B2 (ja) メモリの寿命を縮める動作を遅延させるシステム、方法、及びコンピュータプログラム製品
JP2014241158A (ja) メモリの複数のブロックの寿命の向上
BR112017027915B1 (pt) Método e aparelho de processamento de dados e dispositivo flash
JP2012203443A (ja) メモリシステムおよびメモリシステムの制御方法
US20150103593A1 (en) Method of Writing Data in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
JP5570406B2 (ja) メモリコントローラ、及びデータ記録装置
JP2013222435A (ja) 半導体記憶装置及びその制御方法
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
US9984731B2 (en) Storage device and storage method
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
JP6329185B2 (ja) メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム
JP6306548B2 (ja) メモリー管理回路、記憶装置、メモリー管理方法、及びメモリー管理プログラム
US10915441B2 (en) Storage system having non-volatile memory device
US20210365368A1 (en) Flush Method for Mapping Table of SSD
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP5520880B2 (ja) フラッシュメモリ装置
WO2018051387A1 (ja) 情報処理システムおよびデータ格納方法
JP2009211202A (ja) メモリシステム
JP2021140464A (ja) ストレージ装置、ストレージシステム及び方法
JP5255389B2 (ja) 記憶装置およびメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180419

R150 Certificate of patent or registration of utility model

Ref document number: 6329185

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150