JP6107802B2 - 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム - Google Patents
不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム Download PDFInfo
- Publication number
- JP6107802B2 JP6107802B2 JP2014252667A JP2014252667A JP6107802B2 JP 6107802 B2 JP6107802 B2 JP 6107802B2 JP 2014252667 A JP2014252667 A JP 2014252667A JP 2014252667 A JP2014252667 A JP 2014252667A JP 6107802 B2 JP6107802 B2 JP 6107802B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- data
- erases
- nonvolatile memory
- reads
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Description
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御装置において、
前記パーティション毎の通算の消去回数を計数する消去回数計数部と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数部と、
前記書き換え可能な半導体不揮発性メモリに対してデータの読み書きを行うデータ読出書込部と、
一のパーティションの消去回数が所定の回数以上になり、当該一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記一のパーティションのデータとを入れ替えるように前記データ読出書込部を制御する制御部と、
を備えることを特徴としている。
前記制御部は、前記一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが複数存在する場合、最も読出回数が多いパーティションのデータと入れ替えることを特徴としている。
前記制御部は、前記一のパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を当該パーティションの消去回数よりも大きな値に変更することを特徴としている。
前記制御部は、全てのパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を全てのパーティションの消去回数よりも大きな値に変更することを特徴としている。
前記制御部は、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になり、前記消去回数が最大のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記消去回数が最大のパーティションのデータとを入れ替えることを特徴としている。
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御方法であって、
前記パーティション毎の通算の消去回数を計数する消去回数計数ステップと、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数ステップと、
一のパーティションの消去回数が所定の回数以上になり、当該一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記一のパーティションのデータとを入れ替えるように制御する入替ステップと、
を含むことを特徴としている。
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行うプログラムであって、
コンピュータを、
前記パーティション毎の通算の消去回数を計数する消去回数計数手段と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数手段と、
一のパーティションの消去回数が所定の回数以上になり、当該一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記一のパーティションのデータとを入れ替えるように制御する入替手段と、
して機能させる。
[1.構成の説明]
以下に、本発明について、図面を用いて具体的な態様を説明する。但し、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した実施形態の不揮発性メモリ制御装置100の機能構成を示すブロック図である。
CPU41は、ROM42から処理内容に応じたプログラムを読み出してRAM43に展開し、展開されたプログラムと協働して不揮発性メモリ制御装置100の各ブロック(消去回数計数部1、読出回数計数部2、データ読出書込部3等)の動作を集中制御する。このとき、例えば、フラッシュメモリやハードディスクドライブで構成された記憶部(不図示)に格納されている各種データが参照される。
ここで、不揮発性メモリ制御装置100の計数動作を図3に示すフローチャートを用いて説明する。
ここで、不揮発性メモリ制御装置100の消去回数の平準化動作を図5に示すフローチャートを用いて説明する。
[4.条件を満足するパーティションが複数]
実施形態の説明に際して不揮発性メモリ制御装置100の制御部4は、特定のパーティションの消去回数が所定の回数以上になり、特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと特定のパーティションのデータとを入れ替えていたが、このような条件を満足するパーティションが複数存在する場合は、最も読出回数が多いパーティションのデータと入れ替えるようにしてもよい。
[5−1.所定の回数の値の変更]
実施形態の説明に際して不揮発性メモリ制御装置100の制御部4は、消去回数と比較する所定の回数に関しては1種類の所定値として取り扱っているが、予め複数の値の所定の回数を設定しておき、条件に応じて所定の回数の値を変更してもよい。
[5−2.所定の回数の値の変更]
実施形態の説明に際して不揮発性メモリ制御装置100の制御部4は、消去回数と比較する所定の回数に関しては1種類の所定値として取り扱っているが、予め複数の値の所定の回数を設定しておき、条件に応じて所定の回数の値を変更してもよい。
[6.消去回数の最多と最小の差]
実施形態の説明に際して不揮発性メモリ制御装置100の制御部4は、特定のパーティションの消去回数が所定の回数以上になった場合、データの入れ替えを行っているが、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になった場合に、データの入れ替えを行ってもよい。
この場合、より寿命の限界となる消去回数まで消去回数を近づけることができ、不揮発性メモリを長寿命にすることができる。
1 消去回数計数部
2 読出回数計数部
3 データ読出書込部
4 制御部(消去回数計数手段、読出回数計数手段、入替手段)
FM11 不揮発性メモリ
TM21 揮発性一時保存メモリ
Claims (7)
- 書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御装置において、
前記パーティション毎の通算の消去回数を計数する消去回数計数部と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数部と、
前記書き換え可能な半導体不揮発性メモリに対してデータの読み書きを行うデータ読出書込部と、
特定のパーティションの消去回数が所定の回数以上になり、前記特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記特定のパーティションのデータとを入れ替えるように前記データ読出書込部を制御する制御部と、
を備えることを特徴とする不揮発性メモリ制御装置。 - 前記制御部は、消去回数が所定の回数以上になったパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが複数存在する場合、最も読出回数が多いパーティションのデータと入れ替えることを特徴とする請求項1に記載の不揮発性メモリ制御装置。
- 前記制御部は、予め設定された前記所定の回数の値を複数有し、あるパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を当該パーティションの消去回数よりも大きな値に変更することを特徴とする請求項1又は2に記載の不揮発性メモリ制御装置。
- 前記制御部は、予め設定された前記所定の回数の値を複数有し、全てのパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を全てのパーティションの消去回数よりも大きな値に変更することを特徴とする請求項1又は2に記載の不揮発性メモリ制御装置。
- 前記制御部は、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になり、前記消去回数が最大のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記消去回数が最大のパーティションのデータとを入れ替えることを特徴とする請求項1から4のいずれか一項に記載の不揮発性メモリ制御装置。
- 書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御方法であって、
前記パーティション毎の通算の消去回数を計数する消去回数計数ステップと、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数ステップと、
特定のパーティションの消去回数が所定の回数以上になり、前記特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記特定のパーティションのデータとを入れ替えるように制御する入替ステップと、
を含むことを特徴とする不揮発性メモリ制御方法。 - 書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行うプログラムであって、
コンピュータを、
前記パーティション毎の通算の消去回数を計数する消去回数計数手段と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数手段と、
特定のパーティションの消去回数が所定の回数以上になり、前記特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記特定のパーティションのデータとを入れ替えるように制御する入替手段と、
して機能させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014252667A JP6107802B2 (ja) | 2014-12-15 | 2014-12-15 | 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム |
CN201510917163.0A CN105700822B (zh) | 2014-12-15 | 2015-12-10 | 非易失性存储器控制装置以及非易失性存储器控制方法 |
US14/966,209 US9898211B2 (en) | 2014-12-15 | 2015-12-11 | Nonvolatile memory control device, nonvolatile memory control method and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014252667A JP6107802B2 (ja) | 2014-12-15 | 2014-12-15 | 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016115105A JP2016115105A (ja) | 2016-06-23 |
JP6107802B2 true JP6107802B2 (ja) | 2017-04-05 |
Family
ID=56111191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014252667A Active JP6107802B2 (ja) | 2014-12-15 | 2014-12-15 | 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9898211B2 (ja) |
JP (1) | JP6107802B2 (ja) |
CN (1) | CN105700822B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6448571B2 (ja) | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
KR20180014975A (ko) * | 2016-08-02 | 2018-02-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN107025066A (zh) | 2016-09-14 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 在基于闪存的存储介质中写入存储数据的方法和装置 |
US10489064B2 (en) * | 2016-10-03 | 2019-11-26 | Cypress Semiconductor Corporation | Systems, methods, and devices for user configurable wear leveling of non-volatile memory |
US11256436B2 (en) * | 2019-02-15 | 2022-02-22 | Apple Inc. | Systems and methods for balancing multiple partitions of non-volatile memory |
CN113220240A (zh) * | 2021-05-26 | 2021-08-06 | 普冉半导体(上海)股份有限公司 | 非易失性存储器芯片 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JPH10320984A (ja) * | 1997-05-15 | 1998-12-04 | Sharp Corp | 記憶装置 |
JP2008097132A (ja) * | 2006-10-06 | 2008-04-24 | Matsushita Electric Ind Co Ltd | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
WO2008077284A1 (en) * | 2006-12-27 | 2008-07-03 | Intel Corporation | Initiative wear leveling for non-volatile memory |
JP2008176727A (ja) * | 2007-01-22 | 2008-07-31 | Denso Corp | 情報処理装置、ナビゲーション装置及びプログラム |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件***中静态数据损耗均衡的方法 |
EP2455865B1 (en) * | 2009-07-17 | 2020-03-04 | Toshiba Memory Corporation | Memory management device |
US9405670B2 (en) * | 2011-06-09 | 2016-08-02 | Tsinghua University | Wear leveling method and apparatus |
CN102508785B (zh) * | 2011-11-02 | 2015-08-19 | 清华大学 | 一种磨损均衡方法及装置 |
CN102955743A (zh) * | 2011-08-25 | 2013-03-06 | 建兴电子科技股份有限公司 | 固态储存装置及其损耗平均控制方法 |
CN102880556B (zh) * | 2012-09-12 | 2015-05-20 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其*** |
-
2014
- 2014-12-15 JP JP2014252667A patent/JP6107802B2/ja active Active
-
2015
- 2015-12-10 CN CN201510917163.0A patent/CN105700822B/zh active Active
- 2015-12-11 US US14/966,209 patent/US9898211B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN105700822B (zh) | 2019-01-04 |
CN105700822A (zh) | 2016-06-22 |
JP2016115105A (ja) | 2016-06-23 |
US9898211B2 (en) | 2018-02-20 |
US20160170663A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6107802B2 (ja) | 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム | |
US8078923B2 (en) | Semiconductor memory device with error correction | |
TWI474335B (zh) | 增加記憶體的複數區塊的生命週期的系統、方法及電腦程式產品 | |
TWI505088B (zh) | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 | |
TWI489373B (zh) | 資料儲存裝置和快閃記憶體之區塊管理方法 | |
KR100974954B1 (ko) | 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법 | |
KR101454817B1 (ko) | 반도체 메모리 장치 및 그것의 마모도 관리 방법 | |
JP2006286118A (ja) | 閾値電圧制御機能を有する不揮発性記憶装置 | |
US10241678B2 (en) | Data storage device and data writing method capable of avoiding repeated write operation of a TLC block when interrupted | |
JP2011203916A (ja) | メモリコントローラ、および半導体記憶装置 | |
US20140281769A1 (en) | Memory system and memory controller | |
JP2008139927A (ja) | メモリシステム | |
KR20110068762A (ko) | 반도체 메모리 장치 및 그것의 데이터 소거 처리 방법 | |
JP2020086739A (ja) | メモリコントローラ及びこれを備えるフラッシュメモリシステム | |
KR20110065759A (ko) | 불휘발성 메모리 소자의 동작 방법 | |
JP2008276832A (ja) | 半導体記憶装置およびその駆動方法 | |
KR20120068192A (ko) | 플래시 메모리 장치 및 그 동작 방법 | |
KR20180042699A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
WO2015155860A1 (ja) | 情報記憶装置及び情報記憶装置の制御方法 | |
KR20180039802A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JP2006164354A (ja) | カウンタ装置およびカウント方法 | |
JP6329185B2 (ja) | メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム | |
JP5787095B2 (ja) | 不揮発性メモリへのデータ記憶方法 | |
CN109949849B (zh) | 非易失性存储器及其抹除控制方法 | |
JP2011203927A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170130 |
|
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: 20170207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6107802 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |