JP6852207B2 - ストレージ制御装置、情報処理方法及びプログラム - Google Patents
ストレージ制御装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP6852207B2 JP6852207B2 JP2020047673A JP2020047673A JP6852207B2 JP 6852207 B2 JP6852207 B2 JP 6852207B2 JP 2020047673 A JP2020047673 A JP 2020047673A JP 2020047673 A JP2020047673 A JP 2020047673A JP 6852207 B2 JP6852207 B2 JP 6852207B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- storage area
- data
- stored
- information
- 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.)
- Active
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
Description
ところで、NAND型フラッシュメモリに記憶されているデータが正しいかを検知し、補正(リフレッシュ)する方法として、データとは別に設けられた冗長領域の誤り訂正コード(ECC)により補正する方法が知られている。例えば、数ヶ月に1回、eMMCの全領域をリフレッシュすることで、データの信頼性を保つことができる。
この方法は、データが記憶されているパーティションがMLC(モード)かSLC(モード)かに関わらず、一律に同じ方法でデータリフレッシュを行っていた(特許文献1参照)。
しかしながら、データ保持能力の異なるSLCモードとMLCモードとのパーティションに対して、前述のように一律に同じ方法でデータリフレッシュを行なうと、それぞれのパーティションに対して適切な頻度で実施できないという問題が生じる。即ち、データリフレッシュをデータ保持能力の低いMLCモードに適した頻度で実施した場合、SLCパーティションに過度にデータリフレッシュを行うことになる。そのため、ユーザのジョブ実行時のデータアクセスと衝突したときにジョブのパフォーマンスが低下する可能性が高まってしまう。また、データリフレッシュをデータ保持能力の高いSLCモードに適した頻度で実施した場合、MLCパーティションに対するデータリフレッシュが不足し、データが消失する可能性が高まってしまう。
本発明は、第1記憶領域と第2記憶領域とを有する不揮発性の半導体記憶装置において適切な頻度でデータリフレッシュを行うことを目的とする。
画像形成装置1は、以下から構成される。画像形成装置1は、ストレージ制御装置の一例である。
プリンタ装置4は、デジタル画像を紙デバイスに出力するエンジンである。操作部8は、本装置の操作や表示を行うための操作部である。eMMC160は、デジタル画像の他に、ユーザ設定値やデバイス設定値を記憶する。コントローラ3は、これらと接続され、各モジュールに指示を出すことにより画像形成装置上でジョブを実行することが可能なコントローラである。画像形成装置1は、LAN9経由でコンピュータ10からデジタル画像の入出力、ジョブの発行や機器の指示等を行なうことが可能である。プリンタ装置4は、給紙ユニット18、マーキングユニット16、排紙ユニット17、フィニッシャユニット50を含む。給紙ユニット18は、紙束から一枚ずつ逐次給紙可能な給紙ユニットである。マーキングユニット16は、給紙した紙に画像データを印刷するためのマーキングユニットである。排紙ユニット17は、印刷後の紙を排紙するための排紙ユニットである。フィニッシャユニット50は、排紙した用紙に後処理を施すためのフィニッシャユニットである。コントローラ3は、CPU13を有し、プリンタ装置4と画像データの送受信及び保存を行う。即ち、コントローラ3ではLAN9から受信した画像データを、メモリ15に一時保存し、その後、eMMC160へと画像データを格納することで保存が完了する。コントローラ3は、eMMC160から画像データをメモリ15に一時保存し、メモリ15からプリンタ装置4に画像データを送信することによりプリント出力を行うことができる。また、画像処理ユニット5は、汎用画像処理部19を有する。汎用画像処理部19は、メモリ15に保存された画像データに対して、例えば縮小等の処理を行ったものを再度、メモリ15に保存することが可能である。画像形成装置1は、コントローラ3が制御する操作部8を有し、オペレータ操作、又はLAN9からの指示をCPU13が解釈し、多彩なジョブを実行可能である。また操作部8ではジョブの状態を表示したり、プリンタ装置4のエンジンの状態を表示したりすることもできる。eMMC160にはプログラムや各種データが格納される。SRAM40は、画像形成装置1を動作させるために必要な設定情報等を保持するための不揮発メモリであり、電源をOFFしても継続して保持する。例えば、eMMC160に作成するデータ領域、ファームウェア領域、言語データ領域等の領域に対してSLC、MLCの何れのモードで用いるかを決定するテーブルもSRAM40に保持される。これらの情報はeMMC160のある特定の領域に保持することも可能である。SLCは、Single Level Cellの略である。MLCは、Multi Level Cellの略である。eMMCは、embedded Multi Media Cardの略である。eMMCは、不揮発性のストレージの一例である。
CPU13が、eMMC160等に記憶されているプログラムに基づき処理を実行することにより画像形成装置1の機能及び後述する図4、6、7のフローチャートの処理が実現される。
図3は、eMMC160のデータ構成の一例を示す図である。ファームウェア領域301は、コントローラ3のCPU13によって実行されるプログラムの格納領域である。言語データ領域302は、操作部8に表示するための言語データを保持する領域である。日常的に使用される言語以外は、使用頻度が低下するものの、表示言語切り替えをサポートするためには保持し続ける必要がある。ジョブデータ領域303は、ユーザのジョブデータや画像データを一時的に保持するための領域である。
S101において、CPU13は、eMMC160に保持しているデータを読み出す。CPU13が読み出すデータはデータ領域と冗長領域とで構成され、冗長領域には誤り検出・補正用のECCや、異常領域であるか否かのフラグが保持されている。
S102において、CPU13は、S101で読み出したデータ領域のデータと、冗長領域のECCとに基づいて誤り検出を行う。この場合のNAND型フラッシュメモリからの読み出し時のECCデータを用いた誤り訂正はハミング符号やパリティ符号を用いた誤り訂正である。
S103において、CPU13は、S102の結果、読み出しデータに誤りがあるか否かを判定する。CPU13は、読み出しデータに誤りがあると判定した場合(S103においてYES)、S104に進む。一方、CPU13は、読み出しデータに誤りがないと判定した場合(S103においてNO)、S106に進む。S106において、CPU13は、データ読み出し成功として図4に示すフローチャートの処理を終了する。
S104において、CPU13は、S102の結果に基づき、読み出しデータの補正が可能か否かを判定する。CPU13は、読み出しデータの補正が可能であると判定した場合(S104においてYES)、S105に進む。一方、CPU13は、読み出しデータの補正が不可能であると判定した場合(S104においてNO)、S107に進む。S107において、CPU13は、データ読み出し失敗として図4に示すフローチャートの処理を終了する。
S105において、CPU13は、S101で読み出したデータ領域のデータと、冗長領域のECCとに基づいて読み出しデータを補正し、S106に進む。S106において、CPU13は、データ読み出し成功として図4に示すフローチャートの処理を終了する。
図5は、SRAM40に記録する領域設定テーブルの一例を示す図である。
領域設定テーブル500は、画像形成装置1が有する各領域を予めMLCモードとSLCモードとのどちらのパーティションに配置するかを決定するための要素の集合である。図5の例では、要素501は、ファームウェア領域301(領域ID=0)をMLCパーティションに配置することを示す。要素502は、言語データ領域302(領域ID=1)をMLCパーティションに配置することを示す。更に、要素503は、ジョブデータ領域303(領域ID=2)をSLCパーティションに配置することを示す。
本実施形態の処理の流れを、図6、及び図7のフローチャートを用いて説明する。
ここで、eMMC160におけるMLCモードとSLCモードとのパーティションは予め分割して用意されているものとする。
S201において、CPU13は、SRAM40に保持している領域設定テーブル500を取得し、先頭(領域ID=0)の要素を参照し、S202に進む。
S202において、CPU13は、参照しているIDの設置パーティションを確認し、MLCモードの設置パーティションか否かを判定する。CPU13は、設置パーティションがMLCパーティションであると判定した場合(S202においてYES)、S203に進む。一方、CPU13は、設置パーティションがSLCパーティションであると判定した場合(S202においてNO)、S204に進む。
S203において、CPU13は、参照している領域IDの領域名の領域を予め決められたMLCパーティション201に作成し、S205に進む。
S204において、CPU13は、参照している領域IDの領域名の領域を予め決められたSLCパーティション202に作成し、S205に進む。
S205において、CPU13は、領域設定テーブル500の参照する領域IDをインクリメントし、S206に進む。
S206において、CPU13は、領域設定テーブル500で定義されたすべての領域を作成したか否かを判定する。CPU13は、S205で参照した次の要素が存在せず、すべての領域を作成したと判定した場合(S206においてYES)、図6に示すフローチャートの処理を終了する。すべての領域を作成していないと判定した場合(S206においてNO)、CPU13は、S202に戻る。
S301において、CPU13は、SRAM40に保持しているデータリフレッシュ実施回数をインクリメントし、S302に進む。
S302において、CPU13は、データリフレッシュ実施回数が規定回数に到達したか否かを判定する。CPU13は、規定回数に到達したと判定した場合(S302においてYES)、S303に進む。一方、CPU13は、規定回数に到達していないと判定した場合(S302においてNO)、S305に進む。
S303において、CPU13は、メモリ15に保持する規定回数到達フラグをONに設定し、S304に進む。
S304において、CPU13は、データリフレッシュ実施回数を0に初期化し、S305に進む。
S305において、CPU13は、SRAM40に保持している領域設定テーブル500を取得し、先頭(領域ID=0)の要素を参照し、S306に進む。
S306において、CPU13は、参照しているIDの設置パーティションを確認し、設置パーティションがMLCパーティションであるか否かを判定する。CPU13は、設置パーティションがMLCパーティションであると判定した場合(S306においてYES)、S307に進む。一方、CPU13は、設置パーティションがSLCパーティションであると判定した場合(S306においてNO)、S308に進む。
S307において、CPU13は、参照している領域IDの領域のデータをリフレッシュする。このときのデータリフレッシュは図3で説明した一般的な処理である。
S308において、CPU13は、規定回数到達フラグがONであるか否かを確認し、判定する。CPU13は、規定回数到達フラグがONであると判定した場合(S308においてYES)、S307に進む。一方、規定回数到達フラグがOFFであると判定した場合(S308においてNO)、S309に進む。規定回数はSLC、MLCの特性から、例えば10回程度であることが望ましい。
S309において、CPU13は、領域設定テーブル500の参照する領域IDをインクリメントし、S310に進む。
S310において、CPU13は、領域設定テーブル500で定義されたすべての領域を作成したか否かを判定する。CPU13は、S309で参照した次の要素が存在せず、すべての領域を作成したと判定した場合(S310においてYES)、S311に進む。一方、CPU13は、すべての領域を作成していないと判定した場合(S310においてNO)、S305に戻る。
S311において、CPU13は、規定回数到達フラグがOFFに設定し、図7に示すフローチャートの処理を終了する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
13 CPU
160 eMMC
Claims (15)
- 最小記憶単位である1つのセルに対して1bitの情報を記憶可能である第1記憶モードに設定された第1記憶領域と、前記1つのセルに対して複数bitの情報を記憶可能な第2記憶モードに設定された第2記憶領域とを有する不揮発性の半導体記憶装置と、
記憶領域に記憶されたデータをリフレッシュする制御手段と、を有し、
前記制御手段は、第1期間が経過することによって前記第2記憶領域に記憶されたデータをリフレッシュし、前記第1期間よりも長い第2期間を経過することによって前記第1記憶領域に記憶されたデータをリフレッシュすることを特徴とするストレージ制御装置。 - 前記第2期間は、前記第1期間を複数回繰り返した期間であることを特徴とする請求項1に記載のストレージ制御装置。
- 前記不揮発性の半導体記憶装置は、eMMC(embedded Multi Media Card)であることを特徴とする請求項1または2に記載のストレージ制御装置。
- 前記ストレージ制御装置は、画像形成装置であることを特徴とする請求項1乃至3何れか1項に記載のストレージ制御装置。
- 前記第2記憶モードに設定された前記第2記憶領域にはファームウェアプログラムを記憶し、前記第1記憶モードに設定された前記第1記憶領域にはジョブデータを記憶することを特徴とする請求項1乃至4何れか1項に記載のストレージ制御装置。
- 前記ジョブデータを記憶させる記憶領域を指定する第1情報と、前記ファームウェアプログラムを記憶させる記憶領域を指定する第2情報と、を記憶するメモリーを有し、
前記制御手段は、前記メモリーに記憶された前記第1情報に基づいて前記ジョブデータを前記第1記憶領域に記憶させ、前記メモリーに記憶された前記第2情報に基づいて、前記ファームウェアプログラムを前記第2記憶領域に記憶させることを特徴とする請求項5に記載のストレージ制御装置。 - 前記リフレッシュは、前記制御手段が前記第1記憶領域または前記第2記憶領域に記憶されたデータを読み出し、前記読み出したデータに誤りがあるか否かを確認し、誤りがあった場合に補正可能であれば補正を行うことを特徴とする請求項1乃至6何れか1項に記載のストレージ制御装置。
- 最小記憶単位である1つのセルに対して1bitの情報を記憶可能である第1記憶モードに設定された第1記憶領域と、前記1つのセルに対して複数bitの情報を記憶可能な第2記憶モードに設定された第2記憶領域とを有する不揮発性の半導体記憶装置を有するストレージ制御装置が実行する情報処理方法であって、
第1期間が経過することによって前記第2記憶領域に記憶されたデータをリフレッシュし、前記第1期間よりも長い第2期間を経過することによって前記第1記憶領域に記憶されたデータをリフレッシュする制御工程
を含むことを特徴とする情報処理方法。 - 前記第2期間は、前記第1期間を複数回繰り返した期間であることを特徴とする請求項8に記載の情報処理方法。
- 前記不揮発性の半導体記憶装置は、eMMC(embedded Multi Media Card)であることを特徴とする請求項8または9に記載の情報処理方法。
- 前記ストレージ制御装置は、画像形成装置であることを特徴とする請求項8乃至10何れか1項に記載の情報処理方法。
- 前記第2記憶モードに設定された前記第2記憶領域にはファームウェアプログラムを記憶し、前記第1記憶モードに設定された前記第1記憶領域にはジョブデータを記憶することを特徴とする請求項8乃至11何れか1項に記載の情報処理方法。
- 前記ストレージ制御装置は、前記ジョブデータを記憶させる記憶領域を指定する第1情報と、前記ファームウェアプログラムを記憶させる記憶領域を指定する第2情報と、を記憶するメモリーを有し、
前記制御工程では、前記メモリーに記憶された前記第1情報に基づいて前記ジョブデータを前記第1記憶領域に記憶させ、前記メモリーに記憶された前記第2情報に基づいて、前記ファームウェアプログラムを前記第2記憶領域に記憶させることを特徴とする請求項12に記載の情報処理方法。 - 前記リフレッシュは、前記第1記憶領域または前記第2記憶領域に記憶されたデータを読み出し、前記読み出したデータに誤りがあるか否かを確認し、誤りがあった場合に補正可能であれば補正を行うことを特徴とする請求項8乃至13何れか1項に記載の情報処理方法。
- コンピュータを、請求項1乃至7何れか1項に記載のストレージ制御装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020047673A JP6852207B2 (ja) | 2020-03-18 | 2020-03-18 | ストレージ制御装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020047673A JP6852207B2 (ja) | 2020-03-18 | 2020-03-18 | ストレージ制御装置、情報処理方法及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016100796A Division JP6679412B2 (ja) | 2016-05-19 | 2016-05-19 | ストレージ制御装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020113307A JP2020113307A (ja) | 2020-07-27 |
JP6852207B2 true JP6852207B2 (ja) | 2021-03-31 |
Family
ID=71667168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020047673A Active JP6852207B2 (ja) | 2020-03-18 | 2020-03-18 | ストレージ制御装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6852207B2 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2077559B1 (en) * | 2007-12-27 | 2012-11-07 | Hagiwara Solutions Co., Ltd. | Refresh method of a flash memory |
JP2010198407A (ja) * | 2009-02-26 | 2010-09-09 | Sony Corp | 情報処理装置、およびデータ記録制御方法、並びにプログラム |
JP2012240397A (ja) * | 2011-05-24 | 2012-12-10 | Canon Inc | 印刷装置及びその制御方法 |
US8645773B2 (en) * | 2011-06-30 | 2014-02-04 | Seagate Technology Llc | Estimating temporal degradation of non-volatile solid-state memory |
US20140108705A1 (en) * | 2012-10-12 | 2014-04-17 | Sandisk Technologies Inc. | Use of High Endurance Non-Volatile Memory for Read Acceleration |
US8954655B2 (en) * | 2013-01-14 | 2015-02-10 | Western Digital Technologies, Inc. | Systems and methods of configuring a mode of operation in a solid-state memory |
JP2015148859A (ja) * | 2014-02-05 | 2015-08-20 | コニカミノルタ株式会社 | 情報処理装置及び起動制御プログラム並びに起動制御方法 |
-
2020
- 2020-03-18 JP JP2020047673A patent/JP6852207B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020113307A (ja) | 2020-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011093170A1 (ja) | メモリ管理装置及びメモリ管理方法 | |
JP5641900B2 (ja) | 管理装置及びその制御方法、並びにプログラム | |
JP5126595B2 (ja) | 画像処理装置及び画像処理システム | |
JP6679412B2 (ja) | ストレージ制御装置、情報処理方法及びプログラム | |
JP2011095916A (ja) | 電子機器 | |
JP2009055457A (ja) | 画像形成装置、画像形成方法、およびプログラム | |
JP6852207B2 (ja) | ストレージ制御装置、情報処理方法及びプログラム | |
JP2014124925A (ja) | 画像処理装置 | |
US10949139B2 (en) | Printing apparatus having a predetermined memory used as spool buffer for print jobs | |
CN114420183A (zh) | 数据存储控制方法、电子设备及存储介质 | |
JP7039361B2 (ja) | 記録装置 | |
JP7263067B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
JP5854983B2 (ja) | 画像処理装置 | |
US10409533B2 (en) | Image forming apparatus with an improved memory management system | |
US10387232B2 (en) | Image forming apparatus, and recording medium therefor that ensure apparatus operation without separation of HDD when partially inoperable | |
JP2014138265A (ja) | 画像形成装置 | |
JP2018063499A (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
JP4499491B2 (ja) | 画像形成装置および印刷枚数計数方法 | |
JP5490029B2 (ja) | 画像形成装置 | |
JP6938418B2 (ja) | 記録装置、記録方法、およびプログラム | |
JP2015170017A (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
JP2012123733A (ja) | 情報処理装置及び情報処理装置におけるデータ管理方法 | |
JP2015211256A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2023103765A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2021053932A (ja) | 印刷装置、その制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200327 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200327 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210128 |
|
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: 20210209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210310 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6852207 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |