JP7066584B2 - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP7066584B2 JP7066584B2 JP2018174119A JP2018174119A JP7066584B2 JP 7066584 B2 JP7066584 B2 JP 7066584B2 JP 2018174119 A JP2018174119 A JP 2018174119A JP 2018174119 A JP2018174119 A JP 2018174119A JP 7066584 B2 JP7066584 B2 JP 7066584B2
- Authority
- JP
- Japan
- Prior art keywords
- reliability
- probability
- dimension
- value
- memory
- 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
- 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
図6は、第1の実施形態に係るメモリシステムの概略構成例を示すブロック図である。図6に示すように、メモリシステム1は、メモリコントローラ10と不揮発性メモリ20とを備える。メモリシステム1は、ホスト30と接続可能であり、図6ではホスト30と接続された状態が示されている。ホスト30は、例えば、パーソナルコンピュータ、携帯端末などの電子機器であってよい。
SISO復号器を用いたターボ復号器は、確率情報である外部値を外部値メモリに記憶しておかなければならないため、復号に必要なメモリ量が増大してしまう可能性がある。そこで、復号に必要なメモリ量を削減することが可能なメモリシステムの提供が望まれる。
つぎに、第3の実施形態に係るメモリシステムについて、図面を参照して詳細に説明する。本実施形態における符号化/復号部を含むメモリシステムの構成は、第2の実施形態において図5、図6、および、図12を用いて例示したメモリシステムと同様であってよいため、ここでは重複する説明を省略する。また、本実施形態に係る近似的ターボ復号器の処理フローも第2の実施形態において図13を用いて説明した処理フローと同様であってよいため、ここでは重複する説明を省略する。ただし、本実施形態では、次元1軟判定入力値計算部111および次元2軟判定入力値計算部121の動作フローが、第2の実施形態において図14を用いて例示した動作フローとは異なる。
つぎに、第4の実施形態に係るメモリシステムについて説明する。第2の実施形態において図14を用いて例示した次元1軟判定入力値計算部111および次元2軟判定入力値計算部121の動作フローと、第3の実施形態において図15を用いて例示した次元1軟判定入力値計算部111および次元2軟判定入力値計算部121の動作フローとは、特定の条件で選択的に切り替えて使い分けることが可能である。例えば、次元1または次元2の復号語の信頼度が予め定めておいた閾値より高い場合には、図15に示した動作フローを用いて次元1軟判定入力値または次元2軟判定入力値を求め、それ以外の場合には、図14に示した動作フローを用いて次元1軟判定入力値または次元2軟判定入力値を求めるというように、復号語の信頼度に基づいて実行する動作フローを切り替えるように構成することも可能である。
上記各実施形態では、例えば各次元について共通の信頼度計算関数g(m)を用いていた。信頼度計算関数g(m)は、予め定められた規則に従い変更されてもよい。
(R1)次元1の成分符号を復号する場合と、次元2の成分符号を復号する場合とで、それぞれ異なる信頼度計算関数g(m)を用いる。
(R2)復号語cを得るために複数種類の復号器(例えばBounded Distance Decoder、Chase decoder、Ordered Statistics Decoderなど)が使用されている場合、いずれの復号器から得られた復号語であるかによって、それぞれ異なる信頼度計算関数g(m)を用いる。
(R3)復号語cを得るために複数種類の復号器が使用されている場合、複数種類の復号器の出力した復号語cが一致しているか否かによって、それぞれ異なる信頼度計算関数g(m)を用いる。
(R3-1)復号語cが一致している復号器については、共通の信頼度計算関数g(m)を使用し、不一致の復号器については、各復号器に対して定められた個別の信頼度計算関数g(m)を使用する。
(R3-2)復号語cが一致している復号器については、復号語cが一致している場合の関数として定められた第1の共通の信頼度計算関数g(m)を使用し、不一致の復号器については、復号語cが一致していない場合の関数として定められた第2の共通の信頼度計算関数g(m)を使用する。
(R3-3)すべての復号器の復号語cが一致している場合は、共通の信頼度計算関数g(m)を使用する。復号語cが一致しない復号器が存在する場合は、正しいと推定される復号器のみを用いて、当該復号器に対して定められた信頼度計算関数g(m)を使用する。
更新部(更新部952、更新部152)は、信頼度計算関数g(m)の更新処理を、他の処理の少なくとも一部と並行して実行してもよい。変形例1の(R1)のように次元ごとに異なる信頼度計算関数g(m)を用いる場合であれば、更新部は、複数の次元のうち、いずれかの復号処理を実行中に、他の次元で使用する信頼度計算関数g(m)の更新処理を実行してもよい。
これまでは主に二次元の誤り訂正符号を例に説明したが、三次元以上の誤り訂正符号に対しても同様に上記実施形態を適用できる。また、BCH符号、RS符号などを含む多次元でない誤り訂正符号に対しても上記実施形態を適用しうる。例えば、多次元でない誤り訂正符号に対して複数回の復号処理を実行して最終的な復号結果を出力する構成であって、各復号処理で上記のように信頼性メトリックおよび信頼度を計算する構成に対しても適用しうる。
10 メモリコントローラ
11 制御部
12 データバッファ
13 メモリI/F
14 符号化/復号部
15 ホストI/F
16 内部バス
17 符号化器
18 復号器
20 不揮発性メモリ
30 ホスト
100 ターボ復号器
100-2 近似的ターボ復号器
101 読出し情報メモリ
102 中間値メモリ
111 次元1軟判定入力値計算部
112 次元1成分符号SISO復号器
121 次元2軟判定入力値計算部
122 次元2成分符号SISO復号器
151 参照情報メモリ
152 更新部
181 HIHO復号部
182 SISO復号部
911 次元1加算器
912 次元1SISO復号器
913 次元1外部値メモリ
920 不揮発性メモリ
921 次元2加算器
922 次元2SISO復号器
923 次元2外部値メモリ
941 符号化器
942 復号器
951 参照情報メモリ
952 更新部
962 次元1SISO復号器
972 次元2SISO復号器
Claims (11)
- 誤り訂正符号を記憶する不揮発性メモリと、
前記不揮発性メモリから読出し情報を取得する処理を行い、
少なくとも前記読出し情報に基づいて計算される軟判定入力値と、前記軟判定入力値により復号された復号語と、に基づいて、前記復号語の信頼度と相関を持つ情報である信頼性メトリックを計算し、
複数の前記信頼性メトリックの履歴または前記履歴から求められる統計情報である参照情報を記憶し、
前記信頼性メトリックから前記信頼度を計算するための対応情報を用いて、前記信頼性メトリックから前記信頼度を計算し、
前記復号語および前記信頼度に基づいて、復号情報を計算し、
前記参照情報に基づいて、前記対応情報を更新する、
メモリコントローラと、
を備えるメモリシステム。 - 前記不揮発性メモリは、符号を構成するシンボルのうち少なくとも1つのシンボルが少なくとも第1の成分符号と前記第1の成分符号とは異なる第2の成分符号とによって保護されている多次元の誤り訂正符号を記憶し、
前記メモリコントローラは、少なくとも前記第1の成分符号の復号情報と、前記読出し情報に基づいて、前記第2の成分符号の前記軟判定入力値を計算する、
請求項1に記載のメモリシステム。 - 前記復号情報は、前記第1の成分符号の外部値、および、前記第2の成分符号の外部値である、
請求項2に記載のメモリシステム。 - 前記復号情報は、前記復号語、および、前記復号語の信頼度である
請求項2に記載のメモリシステム。 - 前記メモリコントローラは、
前記第1の成分符号に対して、前記信頼性メトリックから前記信頼度を計算するための第1の対応情報を使用し、前記第2の成分符号に対して、前記信頼性メトリックから前記信頼度を計算するための第2の対応情報を使用する、
請求項2に記載のメモリシステム。 - 前記信頼性メトリックは、前記軟判定入力値と前記復号語との間の距離である、
請求項1に記載のメモリシステム。 - 前記対応情報は、前記復号語が正しい復号語であるという条件下での前記信頼性メトリックの出現確率である第1確率、および、前記復号語が正しい復号語でないという条件下での前記信頼性メトリックの出現確率である第2確率を含み、
前記メモリコントローラは、
前記参照情報を用いて、複数の前記信頼性メトリックを、正しい復号語から計算された前記信頼性メトリックを含む第1集合と、正しくない復号語から計算された前記信頼性メトリックを含む第2集合と、に分類し、
前記第1集合内での前記信頼性メトリックの出現確率から前記第1確率を計算し、
前記第2集合内での前記信頼性メトリックの出現確率から前記第2確率を計算し、
計算した前記第1確率および計算した前記第2確率を用いて、前記対応情報を更新する、
請求項1に記載のメモリシステム。 - 前記対応情報は、前記復号語が正しい復号語である事前確率を示す第3確率、および、前記復号語が正しい復号語でない事前確率を示す第4確率を含み、
前記メモリコントローラは、
複数の前記信頼性メトリックを前記第1集合と前記第2集合とに分類するときに、前記第3確率と前記第4確率を計算し、
計算した前記第3確率および計算した前記第4確率を用いて、前記対応情報を更新する、
請求項7に記載のメモリシステム。 - 前記対応情報は、前記復号語が正しい復号語である事前確率を示す第3確率、および、前記復号語が正しい復号語でない事前確率を示す第4確率を含み、
前記メモリコントローラは、
復号処理の反復回数に基づいて前記第3確率および前記第4確率を推定する、
請求項1に記載のメモリシステム。 - 前記対応情報は、前記復号語が正しい復号語である事前確率を示す第3確率、および、前記復号語が正しい復号語でない事前確率を示す第4確率を含み、
前記メモリコントローラは、
前記読出し情報および前記復号情報に基づいて硬判定値を計算し、前記硬判定値に対して計算したシンドロームに基づいて前記第3確率および前記第4確率を推定する、
請求項1に記載のメモリシステム。 - 前記メモリコントローラは、
前記信頼性メトリックの計算、および、前記信頼度の計算の少なくとも一方と並行して、前記対応情報を更新する処理を実行する、
請求項1に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018174119A JP7066584B2 (ja) | 2018-09-18 | 2018-09-18 | メモリシステム |
US16/290,046 US10778258B2 (en) | 2018-09-18 | 2019-03-01 | Memory system and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018174119A JP7066584B2 (ja) | 2018-09-18 | 2018-09-18 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020046871A JP2020046871A (ja) | 2020-03-26 |
JP7066584B2 true JP7066584B2 (ja) | 2022-05-13 |
Family
ID=69773329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018174119A Active JP7066584B2 (ja) | 2018-09-18 | 2018-09-18 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10778258B2 (ja) |
JP (1) | JP7066584B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019082944A (ja) * | 2017-10-31 | 2019-05-30 | 富士通株式会社 | 事象調査補助プログラム、事象調査補助方法及び事象調査補助装置 |
KR20220080589A (ko) | 2020-12-07 | 2022-06-14 | 삼성전자주식회사 | Ecc 디코딩을 수행하는 ecc 엔진, 이의 동작 방법 및 ecc 엔진을 포함하는 스토리지 장치 |
US11601141B2 (en) * | 2020-12-28 | 2023-03-07 | Western Digital Technologies, Inc. | Error correction based on physical characteristics for memory |
CN113064751B (zh) * | 2021-03-26 | 2023-04-25 | 山东英信计算机技术有限公司 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
KR102345067B1 (ko) | 2021-08-25 | 2021-12-29 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 컨트롤러의 구동 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010505200A (ja) | 2006-09-28 | 2010-02-18 | サンディスク コーポレイション | ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作 |
JP2011180911A (ja) | 2010-03-02 | 2011-09-15 | Toshiba Corp | 不揮発性半導体記憶システム |
US20160266972A1 (en) | 2015-03-10 | 2016-09-15 | Kabushiki Kaisha Toshiba | Memory controller, storage device and decoding method |
JP2019160014A (ja) | 2018-03-15 | 2019-09-19 | 東芝メモリ株式会社 | メモリシステム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010002945A1 (en) | 2008-07-01 | 2010-01-07 | Lsi Corporation | Methods and apparatus for intercell interference mitigation using modulation coding |
US9378835B2 (en) | 2008-09-30 | 2016-06-28 | Seagate Technology Llc | Methods and apparatus for soft data generation for memory devices based using reference cells |
US8259857B2 (en) | 2009-12-10 | 2012-09-04 | The Aerospace Corporation | Methods and systems for increased communication throughput |
US9363782B2 (en) | 2011-06-22 | 2016-06-07 | Qualcomm Incorporated | Methods and apparatus for wireless device positioning in multicarrier configurations |
JP6847796B2 (ja) * | 2017-09-20 | 2021-03-24 | キオクシア株式会社 | メモリシステム |
-
2018
- 2018-09-18 JP JP2018174119A patent/JP7066584B2/ja active Active
-
2019
- 2019-03-01 US US16/290,046 patent/US10778258B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010505200A (ja) | 2006-09-28 | 2010-02-18 | サンディスク コーポレイション | ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作 |
JP2011180911A (ja) | 2010-03-02 | 2011-09-15 | Toshiba Corp | 不揮発性半導体記憶システム |
US20160266972A1 (en) | 2015-03-10 | 2016-09-15 | Kabushiki Kaisha Toshiba | Memory controller, storage device and decoding method |
JP2019160014A (ja) | 2018-03-15 | 2019-09-19 | 東芝メモリ株式会社 | メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US10778258B2 (en) | 2020-09-15 |
US20200091941A1 (en) | 2020-03-19 |
JP2020046871A (ja) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7066584B2 (ja) | メモリシステム | |
JP6847796B2 (ja) | メモリシステム | |
KR102275717B1 (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
US10735031B2 (en) | Content aware decoding method and system | |
US9984752B2 (en) | Memory system and data encoding and decoding method to mitigate inter-cell interference | |
US20200266830A1 (en) | Memory controller | |
WO2016164367A2 (en) | Device-specific variable error correction | |
JP6957392B2 (ja) | メモリシステム | |
JP2022124682A (ja) | メモリシステム | |
CN112039532A (zh) | 错误校正解码器及具有错误校正解码器的存储器系统 | |
JP6730215B2 (ja) | メモリコントローラ、メモリシステムおよび制御方法 | |
US11150813B2 (en) | Memory system | |
US10326473B2 (en) | Symbol-based coding for NAND flash devices | |
CN110830046A (zh) | 纠错电路及其操作方法 | |
US11664822B2 (en) | Multidimensional encoding and decoding in memory system | |
US11886738B2 (en) | Memory system and memory control method | |
US10951238B1 (en) | Memory system and method for controlling non-volatile memory | |
US9239751B1 (en) | Compressing data from multiple reads for error control management in memory systems | |
JP2021141369A (ja) | メモリシステム | |
CN105938728B (zh) | 用于近似平衡码的编码器和解码器设计 | |
KR102714837B1 (ko) | 오류 정정 디코더 및 이를 포함하는 메모리 시스템 | |
US11567830B2 (en) | Memory system | |
US20240264749A1 (en) | Memory system and control method | |
WO2020263325A1 (en) | Data driven icad graph generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220214 |
|
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: 20220329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220427 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7066584 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |