JP7400514B2 - メモリコントローラ及びフラッシュメモリシステム - Google Patents
メモリコントローラ及びフラッシュメモリシステム Download PDFInfo
- Publication number
- JP7400514B2 JP7400514B2 JP2020019673A JP2020019673A JP7400514B2 JP 7400514 B2 JP7400514 B2 JP 7400514B2 JP 2020019673 A JP2020019673 A JP 2020019673A JP 2020019673 A JP2020019673 A JP 2020019673A JP 7400514 B2 JP7400514 B2 JP 7400514B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- redundant
- written
- group
- 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
- 238000011084 recovery Methods 0.000 claims description 26
- 238000007726 management method Methods 0.000 description 55
- 238000010586 diagram Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant cells
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
フラッシュメモリ内の複数の物理ブロックでグループを構成し、前記グループを構成する前記複数の物理ブロックをデータブロックと冗長ブロックとに割り当てるグループ管理手段と、
保存すべきデータを前記データブロックに書き込み、前記保存すべきデータに基づく冗長データを前記データブロックと同一のグループに属する前記冗長ブロックに書き込む書き込み手段と、
を備え、
前記グループ管理手段はさらに、前記データブロックに前記保存すべきデータが全て正常に書き込まれたとき、前記データブロックと同一のグループに属する少なくとも1つの、前記冗長データが書き込まれた前記冗長ブロックを該グループから離脱させて空きブロックとする。
前記保存すべきデータが正常に書き込まれていない前記データブロックであるエラーブロックがあるとき、前記エラーブロックが属するグループを構成し少なくとも1の前記冗長ブロックを含む前記複数の物理ブロックに正常に書き込まれたデータに基づいて前記エラーブロックに正常に書き込まれるべきデータを復旧する復旧手段をさらに備え、
前記グループ管理手段はさらに、前記エラーブロックを前記エラーブロックが属するグループから離脱させ、新たな物理ブロックを該グループに追加し、前記新たな物理ブロックを前記データブロックに割り当て、
前記書き込み手段はさらに、前記復旧手段が復旧したデータを前記新たな物理ブロックに書き込む、
ものであってもよい。
前記グループ管理手段は、2以上の物理ブロックを前記データブロックに割り当て、
前記冗長データは、前記データブロックに割り当てられた前記2以上の物理ブロックのそれぞれに書き込まれるデータをまたいでパリティを求めることにより作成されるパリティデータであり、
前記復旧手段は、前記データブロックに正常に書き込まれたデータと前記冗長ブロックに正常に書き込まれたパリティデータとに基づいて、前記エラーブロックに正常に書き込まれるべきデータを復旧する、
ものであってもよい。
前記冗長データは、前記データブロックに書き込まれるデータと同一のデータであり、
前記グループ管理手段はさらに、前記保存すべきデータが正常に書き込まれていない前記データブロックであるエラーブロックがあるとき、前記エラーブロックを前記データブロックが属するグループから離脱させ、前記エラーブロックに正常に書き込まれるべきデータと同一の前記冗長データが書き込まれた前記冗長ブロックを前記データブロックに割り当てる、
ものであってもよい。
前記グループを管理するグループ管理テーブルを格納する記憶手段をさらに備え、
前記グループ管理手段はさらに、前記グループと前記複数の物理ブロックとの対応関係を示す情報と、前記データブロックの割り当てと前記冗長ブロックの割り当てとを示す情報とを前記グループ管理テーブルに書き込み、
前記書き込み手段は、前記グループ管理テーブルを参照して、書き込み対象となる前記データブロックと前記冗長ブロックとを特定する、
ものであってもよい。
図1を参照しながら、実施の形態1に係るフラッシュメモリシステム1を説明する。
実施の形態1では、1つのグループにつきデータブロックを3つ割り当てるものとしたが、割り当てるデータブロックの数は2以上であればいずれでもよい。グループに割り当てるデータブロックの数によらず、パリティデータは、各データブロックに書き込むべきデータをまたいでパリティを求めることにより作成される。
実施の形態1に係るフラッシュメモリシステム1では、1つのグループにつき冗長ブロックを1つ割り当てるものとした。一方、以下に説明する実施の形態2に係るフラッシュメモリシステム1は、1つのグループにつき冗長ブロックを2つ割り当てる点が実施の形態1と異なる。実施の形態2に係るフラッシュメモリシステム1は、例えば、冗長ブロックが1つのみでは書き込み時に生じる誤りについての誤り訂正能力が不足するほどに誤りが発生しやすい特性を有するフラッシュメモリ2を制御する場合に好適である。
実施の形態2では、書き込み後に冗長ブロックを1つグループに残すものとしたが、全ての冗長ブロックをグループから離脱させてもよい。この変形例は、例えば、フラッシュメモリ2の特性が、書き込み時に生じる誤りについては冗長ブロック1つでは誤り訂正能力が不足するものの、書き込みののちに生じる誤りについては冗長ブロックがなくとも誤り訂正符号のみで誤り訂正能力が足りるような特性である場合に好適である。
実施の形態1及び2においては、冗長データは、データブロックに書き込まれる各データをまたいでパリティを算出することにより作成されるパリティデータであった。一方、以下に説明する実施の形態3においては、冗長データはパリティデータではなく、データブロックに書き込まれるデータと同一のデータである。
実施の形態3では、データが正常に書き込まれた後、冗長ブロックを1つ離脱させるものとしたが、2以上の冗長ブロックを離脱させてもよい。例えば、実施の形態3と同様に1つのグループに1つのデータブロックと2つの冗長ブロックとが割り当てられる場合に、全ての冗長ブロックを離脱させてもよい。この変形例は、例えば、フラッシュメモリ2の特性が、書き込み時に生じる誤りについては冗長ブロック1つでは誤り訂正能力が不足するものの、書き込みののちに生じる誤りについては冗長ブロックがなくとも誤り訂正符号のみで誤り訂正能力が足りるような特性である場合に好適である。
実施の形態1及び2では、パリティデータを冗長データとしたが、実施の形態3のように、データブロックに書き込まれるデータと同一のデータを冗長データとしてもよい。このとき、1のグループには1のデータブロックと1以上の冗長ブロックとを割り当てるようにする。この場合、実施の形態3と異なり、冗長ブロックをデータブロックに再割り当てしないので、データ復旧の際に再度のデータ書き込みが必要となるが、パリティを算出する必要がないので、実施の形態1及び2よりも演算負荷が少ない。
10 メモリコントローラ
11 メモリインタフェース
12 制御回路
121 データ準備部
122,122A グループ管理部
123 冗長データ作成部
124,124A 書き込み部
125 リードチェック部
126 復旧部
13 RAM
14 ROM
15 ホストインタフェース
2 フラッシュメモリ
3 ホストシステム
AD データ領域
AR 冗長領域
BD1,BD2,BD3,BD4 データブロック
BR1,BR2 冗長ブロック
D1,D2,D3 データ
G1 グループ
P1,P2 パリティデータ
Claims (6)
- フラッシュメモリ内の複数の物理ブロックでグループを構成し、前記グループを構成する前記複数の物理ブロックをデータブロックと冗長ブロックとに割り当てるグループ管理手段と、
保存すべきデータを前記データブロックに書き込み、前記保存すべきデータに基づく冗長データを前記データブロックと同一のグループに属する前記冗長ブロックに書き込む書き込み手段と、
を備え、
前記グループ管理手段はさらに、前記データブロックに前記保存すべきデータが全て正常に書き込まれたとき、前記データブロックと同一のグループに属する少なくとも1つの、前記冗長データが書き込まれた前記冗長ブロックを該グループから離脱させて空きブロックとする、
メモリコントローラ。 - 前記保存すべきデータが正常に書き込まれていない前記データブロックであるエラーブロックがあるとき、前記エラーブロックが属するグループを構成し少なくとも1の前記冗長ブロックを含む前記複数の物理ブロックに正常に書き込まれたデータに基づいて前記エラーブロックに正常に書き込まれるべきデータを復旧する復旧手段をさらに備え、
前記グループ管理手段はさらに、前記エラーブロックを前記エラーブロックが属するグループから離脱させ、新たな物理ブロックを該グループに追加し、前記新たな物理ブロックを前記データブロックに割り当て、
前記書き込み手段はさらに、前記復旧手段が復旧したデータを前記新たな物理ブロックに書き込む、
請求項1に記載のメモリコントローラ。 - 前記グループ管理手段は、2以上の物理ブロックを前記データブロックに割り当て、
前記冗長データは、前記データブロックに割り当てられた前記2以上の物理ブロックのそれぞれに書き込まれるデータをまたいでパリティを求めることにより作成されるパリティデータであり、
前記復旧手段は、前記データブロックに正常に書き込まれたデータと前記冗長ブロックに正常に書き込まれたパリティデータとに基づいて、前記エラーブロックに正常に書き込まれるべきデータを復旧する、
請求項2に記載のメモリコントローラ。 - 前記冗長データは、前記データブロックに書き込まれるデータと同一のデータであり、
前記グループ管理手段はさらに、前記保存すべきデータが正常に書き込まれていない前記データブロックであるエラーブロックがあるとき、前記エラーブロックを前記データブロックが属するグループから離脱させ、前記エラーブロックに正常に書き込まれるべきデータと同一の前記冗長データが書き込まれた前記冗長ブロックを前記データブロックに割り当てる、
請求項1に記載のメモリコントローラ。 - 前記グループを管理するグループ管理テーブルを格納する記憶手段をさらに備え、
前記グループ管理手段はさらに、前記グループと前記複数の物理ブロックとの対応関係を示す情報と、前記データブロックの割り当てと前記冗長ブロックの割り当てとを示す情報とを前記グループ管理テーブルに書き込み、
前記書き込み手段は、前記グループ管理テーブルを参照して、書き込み対象となる前記データブロックと前記冗長ブロックとを特定する、
請求項1から4のいずれか1項に記載のメモリコントローラ。 - 請求項1から5のいずれか1項に記載のメモリコントローラと前記フラッシュメモリとを備えるフラッシュメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020019673A JP7400514B2 (ja) | 2020-02-07 | 2020-02-07 | メモリコントローラ及びフラッシュメモリシステム |
US17/161,878 US11410741B2 (en) | 2020-02-07 | 2021-01-29 | Memory controller and flash memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020019673A JP7400514B2 (ja) | 2020-02-07 | 2020-02-07 | メモリコントローラ及びフラッシュメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021125089A JP2021125089A (ja) | 2021-08-30 |
JP7400514B2 true JP7400514B2 (ja) | 2023-12-19 |
Family
ID=77177655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020019673A Active JP7400514B2 (ja) | 2020-02-07 | 2020-02-07 | メモリコントローラ及びフラッシュメモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11410741B2 (ja) |
JP (1) | JP7400514B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230112694A1 (en) * | 2021-10-07 | 2023-04-13 | Samsung Electronics Co., Ltd. | Storage devices and methods of operating storage devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135572A (ja) | 2003-10-10 | 2005-05-26 | Quantum Corp | 記憶媒体から検索されたデータにおけるエラーを訂正する方法およびシステムならびにコンピュータ実行可能な命令を含むコンピュータ読取り可能な記憶媒体 |
JP2005293557A (ja) | 2004-02-19 | 2005-10-20 | Quantum Corp | 復号器、データ記憶装置およびデータの誤り訂正の方法 |
JP2010182087A (ja) | 2009-02-05 | 2010-08-19 | Fujitsu Ltd | ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4165990B2 (ja) * | 1999-12-20 | 2008-10-15 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法 |
JP2006018373A (ja) | 2004-06-30 | 2006-01-19 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
US8190835B1 (en) * | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
WO2012147123A1 (en) * | 2011-04-26 | 2012-11-01 | Hitachi, Ltd. | Storage apparatus and control method therefor |
JP6206161B2 (ja) * | 2013-12-18 | 2017-10-04 | 富士通株式会社 | ストレージ制御装置、制御方法、および制御プログラム |
US11204869B2 (en) * | 2019-12-05 | 2021-12-21 | Alibaba Group Holding Limited | System and method for facilitating data storage with low-latency input/output and persistent data |
JP7302497B2 (ja) * | 2020-02-07 | 2023-07-04 | Tdk株式会社 | メモリコントローラ及びフラッシュメモリシステム |
-
2020
- 2020-02-07 JP JP2020019673A patent/JP7400514B2/ja active Active
-
2021
- 2021-01-29 US US17/161,878 patent/US11410741B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135572A (ja) | 2003-10-10 | 2005-05-26 | Quantum Corp | 記憶媒体から検索されたデータにおけるエラーを訂正する方法およびシステムならびにコンピュータ実行可能な命令を含むコンピュータ読取り可能な記憶媒体 |
JP2005293557A (ja) | 2004-02-19 | 2005-10-20 | Quantum Corp | 復号器、データ記憶装置およびデータの誤り訂正の方法 |
JP2010182087A (ja) | 2009-02-05 | 2010-08-19 | Fujitsu Ltd | ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210249098A1 (en) | 2021-08-12 |
JP2021125089A (ja) | 2021-08-30 |
US11410741B2 (en) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713178B2 (en) | Mapping table updating method, memory controlling circuit unit and memory storage device | |
JP5342014B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
JP5525605B2 (ja) | フラッシュメモリモジュール | |
US8108595B2 (en) | Storage apparatus and method of managing data storage area | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US7984325B2 (en) | Storage control device, data recovery device, and storage system | |
US9811413B2 (en) | Orphan block management in non-volatile memory devices | |
US10191840B2 (en) | Mapping table updating method, memory control circuit unit and memory storage device | |
TWI501252B (zh) | 用於控制保留區的固態儲存系統及其控制方法 | |
US20140026013A1 (en) | Storage control apparatus and error correction method | |
WO2016181528A1 (ja) | ストレージ装置 | |
US20140075099A1 (en) | Control method and memory system of non-volatile semiconductor memory | |
CN101889267A (zh) | 存储器阵列中的差错校正 | |
JP2023044518A (ja) | メモリシステムおよび方法 | |
JP5331018B2 (ja) | ソリッド・ステート・ドライブ装置およびミラー構成再構成方法 | |
US9983963B2 (en) | System and method for exploiting hard disk drive capacity reserve and extending operating life thereof | |
JP7400514B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
US20150277787A1 (en) | Memory controller, memory system, and memory control method | |
US11275651B2 (en) | Memory controller and flash memory system | |
US9547554B2 (en) | Mass storage device and method of operating the same to store parity data | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller | |
JP6707939B2 (ja) | 制御装置、ストレージ装置、制御方法及びプログラム | |
WO2018002999A1 (ja) | 記憶デバイス及びストレージ装置 | |
TW202409820A (zh) | 記憶體系統及控制方法 | |
CN113703684A (zh) | 基于raid的数据存储方法、数据读取方法及存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230814 |
|
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: 20231107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231120 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7400514 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |