JP5720210B2 - アクセス制御装置、誤り訂正制御方法およびストレージ装置 - Google Patents
アクセス制御装置、誤り訂正制御方法およびストレージ装置 Download PDFInfo
- Publication number
- JP5720210B2 JP5720210B2 JP2010269042A JP2010269042A JP5720210B2 JP 5720210 B2 JP5720210 B2 JP 5720210B2 JP 2010269042 A JP2010269042 A JP 2010269042A JP 2010269042 A JP2010269042 A JP 2010269042A JP 5720210 B2 JP5720210 B2 JP 5720210B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error correction
- correction code
- ecc
- size
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
最初に、図1を用いて、実施例1に係るNAND−Flashメモリコントローラを含むRAID(Redundant Arrays of Independent(Inexpensive)Disks)装置の構成例を説明する。図1は、実施例1に係るNAND−Flashメモリコントローラを含むRAID装置の構成を示すブロック図である。図1に示すように、RAID装置1は、CM(Controller Module)100と、PSU(Power Supply Unit)101と、HDD(Hard Disk Drive)102a〜102zとを有する。
ここで、Erase時間の標準値は、例えば、初回Erase時の値を用いてもよいし、NAND−flashメモリ20に標準値が格納されていてもよい。なお、フラッシュの交換等で標準値が変更になる。
次に、図16〜図18を用いて、実施例1に係るNAND−Flashメモリコントローラ10による処理を説明する。図16は、実施例1に係るNAND−FlashメモリコントローラのErase処理の動作を示すフローチャートである。図17は、実施例1に係るNAND−Flashメモリコントローラの書き込み処理の動作を示すフローチャートである。図18は、実施例1に係るNAND−Flashメモリコントローラの読出し処理の動作を示すフローチャートである。
上述してきたように、NAND−Flashメモリコントローラ10は、NAND−Flashメモリ20に記憶されたデータの消去に要した時間を計測し、計測された時間に応じて、誤り訂正符号のデータサイズを決定する。そして、NAND−Flashメモリコントローラ10は、決定されたデータサイズの誤り訂正符号を生成し、生成された誤り訂正符号をNAND−Flashメモリ20に書き込むように制御する。このため、データの信頼性を向上させることが可能である。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、DMA書込み制御部14bとECC生成部14cを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、本実施例で説明した誤り訂正制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
11 I/F制御部
12 NAND制御部
13 不良BLK管理テーブル記憶部
14 DMAエンジン
14a ERS制御部
14b DMA書込み制御部
14c ECC生成部
14d ECCバッファ
14e DMA読出し制御部
14f エラー訂正制御部
20 NAND−Flashメモリ
30 RoC
40 SCU
50 Exp
60 キャッシュメモリ
101 PSU
102a〜102z HDD
Claims (6)
- 記憶装置のデータ記憶領域に記憶されたデータの消去に要した時間をデータの消去の要求のたびに計測する計測部と、
前記計測部によって計測された時間が標準値より短い場合に予め設定された所定サイズを、前記計測された時間が前記標準値よりも長く所定値より短い場合に前記計測された時間と前記所定サイズに基づいて算出した値を、消去の対象のデータ記憶領域における誤り訂正符号のデータサイズに決定する決定部と、
前記決定部によって決定されたデータサイズの誤り訂正符号を生成する生成部と、
前記生成部によって生成された誤り訂正符号を前記記憶装置に書き込むように制御する書込み制御部と
を有することを特徴とするアクセス制御装置。 - 前記計測部により計測された時間が前記標準値の2倍である前記所定値以上である場合に、前記消去の対象のデータ記憶領域を不良領域とする管理情報を記憶する第1記憶部をさらに有する
ことを特徴とする請求項1に記載のアクセス制御装置。 - 読出し制御部と、前記決定部によって決定された誤り訂正符号のデータサイズを記憶する第2記憶部とをさらに有し、
前記書込み制御部は、前記記憶装置にデータを書き込む際に、前記第2記憶部から前記誤り訂正符号のデータサイズを読出し、該誤り訂正符号のデータサイズに応じて、前記生成部によって生成された誤り訂正符号の書込み位置を決定し、該書込み位置に前記誤り訂正符号を書き込むように制御し、
前記読出し制御部は、前記記憶装置に記憶されたデータを読出す際に、前記記憶部から前記誤り訂正符号のデータサイズを読出し、該誤り訂正符号のデータサイズに応じて、前記記憶装置に記憶された誤り訂正符号の読出し位置を決定し、該読出し位置から前記誤り訂正符号を読出すように制御する
ことを特徴とする請求項1または2に記載のアクセス制御装置。 - 前記書込み制御部は、前記記憶装置におけるデータを記憶している記憶領域と異なる記憶領域に誤り訂正符号を書き込むように制御し、
前記異なる記憶領域は、前記所定サイズの誤り訂正符号を書き込む領域と拡張された分を書き込む領域を有する
ことを特徴とする請求項1乃至3のいずれか一つに記載のアクセス制御装置。 - 記憶装置へのアクセスを制御するアクセス制御装置が誤り訂正符号を生成する誤り訂正制御方法であって、
記憶装置のデータ記憶領域に記憶されたデータの消去に要した時間をデータの消去の要求のたびに計測し、
計測した時間が標準値より短い場合に予め設定された所定サイズを、前記計測した時間が前記標準値よりも長く所定値より短い場合に前記計測した時間と前記所定サイズに基づいて算出した値を、消去の対象のデータ記憶領域における誤り訂正符号のデータサイズに決定し、
決定したデータサイズの誤り訂正符号を生成し、
生成した誤り訂正符号を前記記憶装置に書き込むように制御する
ことを特徴とする誤り訂正制御方法。 - 記憶装置のデータ記憶領域に記憶されたデータの消去に要した時間をデータの消去の要求のたびに計測する計測部と、
前記計測部によって計測された時間が標準値より短い場合に予め設定された所定サイズを、前記計測された時間が前記標準値よりも長く所定値より短い場合に前記計測された時間と前記所定サイズに基づいて算出した値を、消去の対象のデータ記憶領域における誤り訂正符号のデータサイズに決定する決定部と、
前記決定部によって決定されたデータサイズの誤り訂正符号を生成する生成部と、
前記生成部によって生成された誤り訂正符号を前記記憶装置に書き込むように制御する書込み制御部と
を有することを特徴とするストレージ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010269042A JP5720210B2 (ja) | 2010-12-02 | 2010-12-02 | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
US13/297,972 US8839072B2 (en) | 2010-12-02 | 2011-11-16 | Access control apparatus, storage apparatus, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010269042A JP5720210B2 (ja) | 2010-12-02 | 2010-12-02 | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012118839A JP2012118839A (ja) | 2012-06-21 |
JP5720210B2 true JP5720210B2 (ja) | 2015-05-20 |
Family
ID=46163423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010269042A Expired - Fee Related JP5720210B2 (ja) | 2010-12-02 | 2010-12-02 | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8839072B2 (ja) |
JP (1) | JP5720210B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924630B2 (en) * | 2011-06-21 | 2014-12-30 | Taejin Info Tech Co., Ltd. | Semiconductor storage device-based high-speed cache storage system |
US8914706B2 (en) | 2011-12-30 | 2014-12-16 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
US8683296B2 (en) | 2011-12-30 | 2014-03-25 | Streamscale, Inc. | Accelerated erasure coding system and method |
US10346095B2 (en) * | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
JP6033183B2 (ja) * | 2013-07-31 | 2016-11-30 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、及び画像形成装置の起動方法 |
KR20150062646A (ko) * | 2013-11-29 | 2015-06-08 | 삼성전자주식회사 | 전자 시스템 및 이의 동작 방법 |
JP6102800B2 (ja) * | 2014-03-04 | 2017-03-29 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。 |
US9798622B2 (en) * | 2014-12-01 | 2017-10-24 | Intel Corporation | Apparatus and method for increasing resilience to raw bit error rate |
JP6814020B2 (ja) * | 2016-10-26 | 2021-01-13 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
JP6847635B2 (ja) * | 2016-11-14 | 2021-03-24 | 株式会社東芝 | メモリ管理装置、映像収録再生装置、メモリ管理方法、映像収録再生方法及びコンピュータプログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
JP4236485B2 (ja) | 2003-03-06 | 2009-03-11 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
JP4357305B2 (ja) | 2004-01-09 | 2009-11-04 | 株式会社バッファロー | 外部記憶装置 |
US7739577B2 (en) * | 2004-06-03 | 2010-06-15 | Inphase Technologies | Data protection system |
EP1776699A1 (en) * | 2004-08-02 | 2007-04-25 | Koninklijke Philips Electronics N.V. | Data storage and replay apparatus |
US8200887B2 (en) * | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US7451264B2 (en) * | 2006-04-13 | 2008-11-11 | Sandisk Corporation | Cycle count storage methods |
JP2007316779A (ja) * | 2006-05-23 | 2007-12-06 | Sharp Corp | 不揮発性メモリシステム |
US8122323B2 (en) * | 2007-03-08 | 2012-02-21 | Intel Corporation | Method, apparatus, and system for dynamic ECC code rate adjustment |
KR100909902B1 (ko) * | 2007-04-27 | 2009-07-30 | 삼성전자주식회사 | 플래쉬 메모리 장치 및 플래쉬 메모리 시스템 |
KR101431760B1 (ko) * | 2008-06-25 | 2014-08-20 | 삼성전자주식회사 | Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법 |
JP4439578B1 (ja) | 2008-12-24 | 2010-03-24 | 株式会社東芝 | 不揮発性半導体メモリドライブ装置および不揮発性半導体メモリドライブ装置のデータ管理方法 |
KR101653568B1 (ko) * | 2009-07-03 | 2016-09-02 | 삼성전자주식회사 | 부분 셀프 리플레시 모드에서 전류 소모를 줄일 수 있는 반도체 메모리 장치 |
US20110252289A1 (en) * | 2010-04-08 | 2011-10-13 | Seagate Technology Llc | Adjusting storage device parameters based on reliability sensing |
JP5569936B2 (ja) * | 2010-08-11 | 2014-08-13 | 国立大学法人 東京大学 | 制御装置およびデータ記憶装置 |
WO2012058328A1 (en) * | 2010-10-27 | 2012-05-03 | Sandforce, Inc. | Adaptive ecc techniques for flash memory based data storage |
-
2010
- 2010-12-02 JP JP2010269042A patent/JP5720210B2/ja not_active Expired - Fee Related
-
2011
- 2011-11-16 US US13/297,972 patent/US8839072B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8839072B2 (en) | 2014-09-16 |
JP2012118839A (ja) | 2012-06-21 |
US20120144268A1 (en) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5720210B2 (ja) | アクセス制御装置、誤り訂正制御方法およびストレージ装置 | |
JP4901968B2 (ja) | 半導体記憶装置 | |
US9684468B2 (en) | Recording dwell time in a non-volatile memory system | |
US9952795B2 (en) | Page retirement in a NAND flash memory system | |
US8972776B2 (en) | Partial R-block recycling | |
US7941696B2 (en) | Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes | |
US8392797B2 (en) | Error correcting controller, flash memory chip system, and error correcting method thereof | |
KR101343262B1 (ko) | 동시 판독 및 기록 메모리 동작을 수행하는 방법 및 장치 | |
JP2009129070A (ja) | フラッシュメモリ記憶装置の制御方法、その方法を用いたフラッシュメモリ記憶装置及びストレージシステム | |
MX2012010944A (es) | Detección de distribución de paridad no regulada vía etiqueta de metadatos. | |
JP2011165063A (ja) | 半導体記憶装置 | |
US20140108855A1 (en) | Heuristic Approach for Faster Consistency Check in a Redundant Storage System | |
JP6515752B2 (ja) | ストレージ制御装置、制御方法、および制御プログラム | |
CN103218271B (zh) | 一种数据纠错方法及装置 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
US11467758B2 (en) | Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device | |
JP2010079856A (ja) | 記憶装置およびメモリ制御方法 | |
US10733069B2 (en) | Page retirement in a NAND flash memory system | |
JP2019128948A (ja) | 集積回路装置及びストレージ装置 | |
TWI467364B (zh) | 記憶體儲存裝置、記憶體控制器與資料寫入方法 | |
JP2018067072A (ja) | 半導体記憶装置及びその制御方法 | |
TW201438019A (zh) | 具有使用歷程記錄的主記憶體模組以及此主記憶體模組於電腦系統之應用 | |
WO2021082011A1 (zh) | 应用于磁盘阵列系统的数据重构方法、装置及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140609 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141021 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150120 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150128 |
|
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: 20150224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5720210 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |