JP6437428B2 - 不揮発性半導体メモリのコントローラ - Google Patents
不揮発性半導体メモリのコントローラ Download PDFInfo
- Publication number
- JP6437428B2 JP6437428B2 JP2015254003A JP2015254003A JP6437428B2 JP 6437428 B2 JP6437428 B2 JP 6437428B2 JP 2015254003 A JP2015254003 A JP 2015254003A JP 2015254003 A JP2015254003 A JP 2015254003A JP 6437428 B2 JP6437428 B2 JP 6437428B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data string
- semiconductor memory
- level
- nonvolatile semiconductor
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Description
図6は、図1に示すエンコーダ11の概略的な動作を示している。
図1に示すECCエンコーダ12は、例えば組織符号を使用してエンコーダ11から供給されたコードブック11cを含むデータ列にエラー訂正用のデータとしてのエラー訂正符号(ECC)を付加する。組織符号としては、例えばハミング符号、BHC符号、リードソロモン符号などがあるが、誤り訂正の最小単位が複数ビットのリードソロモン符号が適用される。しかし、リードソロモン符号に限定されるものではない。組織符号は、データ列とECCが分離されている。したがって、コードブック11cを含むデータ列の内容は変更されないため、上記圧縮又は伸張されたデータ列の状態、及びコードブック11cの内容を保持することができる。
上記ECCエンコーダ12により、組織符号によりデータ列に付加されるECCは、上記変換処理が行われていない。このため、ECCがレベル“C”のデータを含む可能性があり、レベル“C”のデータの出現確率が高いことも考えられる。このため、ページ内でECCが付加される領域(以下、ECC領域と称す)の位置がページに対して固定されている場合、ECC領域のメモリセルは、頻繁にレベル“C”のデータが書き込まれることとなる。したがって、ECC領域のメモリセルは、データが書き込まれるメモリセルより、劣化する可能性が高い。
次に、データの読み出し動作について説明する。データの読み出し動作は、上記データの書き込み動作と逆の処理が実行される。
図14は、本実施形態が適用されるSSD31の一例を示している。
上記実施形態によれば、入力データDwに含まれる閾値電圧の差が大きなデータパターンが閾値電圧の差が小さなデータパターンに変換される。このため、プログラムディスターブを抑制することが可能である。しかも、閾値電圧の高いデータが減少するため、メモリセルの耐久性が向上し、メモリセルの寿命を伸ばすことが可能である。
Claims (16)
- nレベル(nは、3以上の自然数)のデータをページ単位に記憶する不揮発性半導体メモリのコントローラであって、
前記不揮発性半導体メモリに書き込まれる複数のデータを含み、前記ページの長さより短い第1の長さを有する第1のデータ列から前記第1のデータ列より短い第2のデータ列を抽出する抽出部と、
前記第2のデータ列から変換された第3のデータ列に含まれる隣接する2つのデータに対応する前記不揮発性半導体メモリの閾値電圧の差が第1のレベル差である場合、前記第3のデータ列を前記第3のデータ列より長く、前記第1のレベル差より小さな第2のレベル差を有する第4のデータ列に変換する変換部と、
を具備することを特徴とする不揮発性半導体メモリのコントローラ。 - 前記変換部は、前記第4のデータ列を含む前記第1のデータ列から変換されたデータの長さが前記第1の長さを超える場合、変換処理を中止することを特徴とする請求項1記載の不揮発性半導体メモリのコントローラ。
- 前記変換部は、前記第2のデータ列を前記第3のデータ列に変換するための第1の変換情報及び前記第3のデータ列を前記第4のデータ列に変換する第2の変換情報を生成することを特徴とする請求項2記載の不揮発性半導体メモリのコントローラ。
- 前記変換部は、前記第1の変換情報及び前記第2の変換情報を前記第3のデータ列及び前記第4のデータ列を含むデータに付加することを特徴とする請求項3記載の不揮発性半導体メモリのコントローラ。
- 前記第1の変換情報及び前記第2の変換情報が付加された前記第3のデータ列及び前記第4のデータ列を含むデータに、組織符号により、エラー訂正符号を付加するエラー訂正部をさらに具備することを特徴とする請求項4記載の不揮発性半導体メモリのコントローラ。
- 前記不揮発性半導体メモリに含まれるブロックのアクセス回数に基づき、前記エラー訂正符号が付加される領域の位置を前記ページ内で移動させる移動部をさらに具備することを特徴とする請求項5記載の不揮発性半導体メモリのコントローラ。
- 前記移動部は、前記第1の変換情報及び前記第2の変換情報が付加される領域の位置を前記エラー訂正符号が付加される領域の位置と共に前記ページ内で移動させることを特徴とする請求項6記載の不揮発性半導体メモリのコントローラ。
- 前記ブロックのアクセス回数は、前記ブロックの書き込み回数と、前記ブロックの消去回数のうちの1つを含むことを特徴とする請求項7記載の不揮発性半導体メモリのコントローラ。
- 前記抽出部は、前記第2のデータ列の数を計数することを特徴とする請求項3に記載の不揮発性半導体メモリのコントローラ。
- 前記変換部は、計数された前記数に基づき、前記第2のデータ列を前記第2のデータ列より短い前記第3のデータ列に変換することを特徴とする請求項9記載の不揮発性半導体メモリのコントローラ。
- 前記第1のレベル差は、前記nレベルと消去レベルとの差であり、前記第2のレベル差は、前記nレベルと前記消去レベルより高いレベルとの差、及びn−1レベルと前記消去レベルとの差の少なくとも一方であることを特徴とする請求項1記載の不揮発性半導体メモリのコントローラ。
- 前記抽出部は、前記第2のデータ列の出現位置を示す第3の変換情報を生成することを特徴とする請求項10記載の不揮発性半導体メモリのコントローラ。
- 前記移動部は、データの読み出し時、前記不揮発性半導体メモリに含まれるブロックのアクセス回数に基づき、前記エラー訂正符号が付加される領域の位置を判別することを特徴とする請求項6記載の不揮発性半導体メモリのコントローラ。
- 前記エラー訂正部は、判別された前記エラー訂正符号に基づき、前記データのエラーを訂正することを特徴とする請求項13記載の不揮発性半導体メモリのコントローラ。
- 前記変換部は、前記第2の変換情報に基づき、前記データに含まれる前記第4のデータ列を前記第3のデータ列に変換し、前記第1の変換情報に基づき、前記第3のデータ列を前記第2のデータ列に変換し、前記第3の変換情報に基づき、前記第2のデータ列を前記第1のデータ列に変換することを特徴とする請求項12記載の不揮発性半導体メモリのコントローラ。
- nレベル(nは、3以上の自然数)のデータを記憶する不揮発性半導体メモリのコントローラであって、
前記不揮発性半導体メモリに書き込まれる複数のデータを含む第1のデータ列から前記第1のデータ列より短い第2のデータ列を抽出する抽出部と、
前記第2のデータ列から変換された第3のデータ列に含まれる隣接する2つのデータに対応する前記不揮発性半導体メモリの閾値電圧の差が第1のレベル差である場合、前記第3のデータ列を前記第3のデータ列より長く、前記第1のレベル差より小さな第2のレベル差を有する第4のデータ列に変換する変換部と、
を具備することを特徴とする不揮発性半導体メモリのコントローラ。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562155279P | 2015-04-30 | 2015-04-30 | |
US62/155,279 | 2015-04-30 | ||
US14/833,632 | 2015-08-24 | ||
US14/833,632 US9792053B2 (en) | 2015-04-30 | 2015-08-24 | Controller for nonvolatile semiconductor memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016212828A JP2016212828A (ja) | 2016-12-15 |
JP6437428B2 true JP6437428B2 (ja) | 2018-12-12 |
Family
ID=57204845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015254003A Active JP6437428B2 (ja) | 2015-04-30 | 2015-12-25 | 不揮発性半導体メモリのコントローラ |
Country Status (2)
Country | Link |
---|---|
US (1) | US9792053B2 (ja) |
JP (1) | JP6437428B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111868697A (zh) * | 2017-12-12 | 2020-10-30 | 华为技术有限公司 | 存储级存储系统的磨损均衡方案及其实现方式 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122323B2 (en) | 2007-03-08 | 2012-02-21 | Intel Corporation | Method, apparatus, and system for dynamic ECC code rate adjustment |
US8341501B2 (en) * | 2009-04-30 | 2012-12-25 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
JP5017407B2 (ja) | 2010-03-24 | 2012-09-05 | 株式会社東芝 | 半導体記憶装置 |
EP2633409A4 (en) | 2010-10-27 | 2014-07-23 | Lsi Corp | ADAPTIVE ECC TECHNIQUES FOR FLASH MEMORY AND BASED ON DATA STORAGE |
US8621328B2 (en) * | 2011-03-04 | 2013-12-31 | International Business Machines Corporation | Wear-focusing of non-volatile memories for improved endurance |
-
2015
- 2015-08-24 US US14/833,632 patent/US9792053B2/en active Active
- 2015-12-25 JP JP2015254003A patent/JP6437428B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US9792053B2 (en) | 2017-10-17 |
JP2016212828A (ja) | 2016-12-15 |
US20160320983A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6346123B2 (ja) | コントローラ、制御方法 | |
CN111326199B (zh) | 用于存储器设备的多态编程 | |
US9547588B1 (en) | System and method of data storage in flash memory | |
US8176234B2 (en) | Multi-write coding of non-volatile memories | |
US11683053B2 (en) | Memory controller, memory system, and memory control method | |
US9543983B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
JP5785330B2 (ja) | メモリエンデュランスのために動作させる装置および方法 | |
US10795827B2 (en) | Adaptive management of intermediate storage | |
US8463985B2 (en) | Constrained coding to reduce floating gate coupling in non-volatile memories | |
US8644066B2 (en) | Multi-level non-volatile memory device, system and method with state-converted data | |
US9582224B2 (en) | Memory control circuit unit, memory storage apparatus and data accessing method | |
US9588772B2 (en) | Memory controller and decoding method | |
TW201220315A (en) | Data coding using divisions of memory cell states | |
US9971523B2 (en) | Memory controller with data compression and padding features, method of controlling nonvolatile memory and memory system | |
US9865338B2 (en) | Memory system and method of controlling nonvolatile memory by converting write data written to a page | |
KR102628009B1 (ko) | 부분 페이지 압축을 위한 메모리 시스템 | |
US10204043B2 (en) | Memory controller, method of controlling nonvolatile memory and memory system | |
US11082068B2 (en) | Error correction circuit, memory controller having error correction circuit, and memory system having memory controller | |
JP6437428B2 (ja) | 不揮発性半導体メモリのコントローラ | |
US9396063B2 (en) | Storage device and operating method thereof | |
JP2020154728A (ja) | メモリシステム及びその制御方法 | |
US9239751B1 (en) | Compressing data from multiple reads for error control management in memory systems | |
US20160071597A1 (en) | Storage device, memory controller and memory control method | |
US20150254131A1 (en) | Memory controller, storage device and memory control method | |
US11372719B1 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170531 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180806 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |
|
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: 20181016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6437428 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |