JP2019114031A - メモリシステム及び制御方法 - Google Patents
メモリシステム及び制御方法 Download PDFInfo
- Publication number
- JP2019114031A JP2019114031A JP2017246674A JP2017246674A JP2019114031A JP 2019114031 A JP2019114031 A JP 2019114031A JP 2017246674 A JP2017246674 A JP 2017246674A JP 2017246674 A JP2017246674 A JP 2017246674A JP 2019114031 A JP2019114031 A JP 2019114031A
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- memory
- memory area
- write
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- 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
- 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/1048—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 arrangements adapted for a specific error detection or correction feature
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- 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
-
- 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
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Retry When Errors Occur (AREA)
Abstract
Description
SSD(Solid State Drive)などのメモリシステムにおいては、書き込み要求に応じたデータが、そのデータに関する誤り訂正符号とともに不揮発性メモリに記憶され、その後、読み出し要求に応じて、データと誤り訂正符号が不揮発性メモリから読み出され、誤り訂正符号を用いた誤り訂正復号処理により復元される。例えば、メモリシステム1は、図1に示すように構成される。図1は、メモリシステム1の構成を示す図である。
Claims (20)
- 複数のチップを含む第1のメモリ領域と第2のメモリ領域とを有する不揮発性メモリと、
前記第1のメモリ領域の前記複数のチップに跨って書き込まれるべきライトデータのうち第1データを前記第1のメモリ領域の一部に書き込み前記ライトデータのうち第2データを前記第1のメモリ領域に書き込む前に電源断が検出されたことに応じて、前記第2データが記憶されていた記憶位置に関する第1の情報と前記第2データとを前記第2のメモリ領域へ書き込み、電源復帰が検出されたことに応じて、前記第1のメモリ領域の一部から前記第1データを読み出し、前記第2のメモリ領域から前記第1の情報を読み出し、
前記読み出した第1の情報に基づいて前記第2データへアクセスするための参照位置に関する第2の情報を生成し、前記第2のメモリ領域から前記第2データを読み出して前記読み出した第2データを前記生成した第2の情報に基づいて記憶し、前記読み出した第1データと前記記憶した第2データとを前記第1のメモリ領域の他の一部に書き込むコントローラと、
を備えたメモリシステム。 - 前記コントローラは、前記電源断が検出されたことに応じて、前記ライトデータに基づいて生成される誤り訂正符号を前記第2のメモリ領域へ書き込み、前記電源復帰が検出されたことに応じて、前記誤り訂正符号を前記第2のメモリ領域から読み出し、前記読み出した第1データ又は前記記憶した第2データの一部の誤りが訂正できない場合、前記読み出した誤り訂正符号に基づいて誤り訂正復号処理を行う
請求項1に記載のメモリシステム。 - 前記第1の情報は、前記第1のメモリ領域における前記誤り訂正符号に対応したデータ群における前記未書き込みデータのデータ位置と前記退避されるべき位置に関連したアドレスとを含む
請求項2に記載のメモリシステム。 - ライトバッファを有する揮発性メモリをさらに備え、
前記退避されるべき位置に関連したアドレスは、前記第2のメモリ領域における前記未書き込みデータが記憶されるアドレスに対応した前記ライトバッファ内のアドレスを含む
請求項3に記載のメモリシステム。 - 前記第2の情報は、前記誤り訂正符号に対応した識別情報とアドレス情報とが前記データ群に含まれる複数のデータについて対応付けられており、
前記書き込み済みデータの前記アドレス情報は、前記第1のメモリ領域内のアドレスを含み、
前記未書き込みデータの前記アドレス情報は、前記ライトバッファ内のアドレスを含む
請求項4に記載のメモリシステム。 - 前記ライトバッファは、第1のバッファ領域と前記第1のバッファ領域に記憶されるべき情報を一時的に保持する第2のバッファ領域とを含み、
前記未書き込みデータに対する前記アドレス情報は、前記第2のバッファ領域内のアドレスを含み、
前記コントローラは、前記第2の情報に基づいて、前記書き込み済みデータ及び前記未書き込みデータを前記第2のバッファ領域に読み出して誤り訂正復号処理を行い、誤り訂正復号処理後のデータを前記第1のバッファ領域に記憶し他のデータを充当してデータサイズを調整し、調整後のデータを他の第1のメモリ領域に書き込む
請求項5に記載のメモリシステム。 - 前記不揮発性メモリは、複数の前記第1のメモリ領域を有し、
前記コントローラは、複数のチャネルを介して前記第1のメモリ領域内の複数の領域に並行して書き込みを行うことを前記複数の第1のメモリ領域に対して順次に行うマルチライト処理を行う場合、前記第1の情報に応じて前記第1のメモリ領域における書き込み状況を示す第3の情報を生成し、前記第1の情報と前記第3の情報とに応じて前記第2の情報を生成する
請求項1から6のいずれか1項に記載のメモリシステム。 - 前記第3の情報は、前記第1のメモリ領域におけるデータ位置とデータの書き込み状況とが複数のデータ位置について対応付けられている
請求項7に記載のメモリシステム。 - 前記書き込み状況は、前記第1のメモリ領域内のデータを書き込むべき位置を示す情報とデータの書き込みの有無を示す情報とが対応付けられている
請求項8に記載のメモリシステム。 - 前記書き込み状況は、チャネルを識別する情報と前記第1のメモリ領域を他の第1のメモリ領域から識別する情報と前記第1のメモリ領域内のデータを書き込むべき位置を示す情報とデータの書き込みの有無を示す情報とが対応付けられている
請求項9に記載のメモリシステム。 - 複数のチップを含む第1のメモリ領域と第2のメモリ領域とを有する不揮発性メモリを有するメモリシステムの制御方法であって、
前記第1のメモリ領域の前記複数のチップに跨って書き込まれるべきライトデータのうち第1データを前記第1のメモリ領域の一部に書き込み前記ライトデータのうち第2データを前記第1のメモリ領域に書き込む前に電源断が検出されたことに応じて、前記第2データが記憶されていた記憶位置に関する第1の情報と前記第2データとを前記第2のメモリ領域へ書き込むことと、
電源復帰が検出されたことに応じて、前記第1のメモリ領域の一部から前記第1データを読み出し、前記第2のメモリ領域から前記第1の情報を読み出すことと、
前記読み出した第1の情報に基づいて前記第2データへアクセスするための参照位置に関する第2の情報を生成することと、
前記第2のメモリ領域から前記第2データを読み出して前記読み出した第2データを前記生成した第2の情報に基づいて記憶することと、
前記読み出した第1データと前記記憶した第2データとを前記第1のメモリ領域の他の一部に書き込むことと、
を備えた制御方法。 - 前記電源断が検出されたことに応じて、前記ライトデータに基づいて生成される誤り訂正符号を前記第2のメモリ領域へ書き込むことと、
前記電源復帰が検出されたことに応じて、前記誤り訂正符号を前記第2のメモリ領域から読み出すことと、
前記読み出した第1データ又は前記記憶した第2データの一部の誤りが訂正できない場合、前記読み出した誤り訂正符号に基づいて誤り訂正復号処理を行うことと、
をさらに備えた
請求項11に記載の制御方法。 - 前記第1の情報は、前記第1のメモリ領域における前記誤り訂正符号に対応したデータ群における前記未書き込みデータのデータ位置と前記退避されるべき位置に関連したアドレスとを含む
請求項12に記載の制御方法。 - 前記メモリシステムは、ライトバッファを有する揮発性メモリをさらに有し、
前記退避されるべき位置に関連したアドレスは、前記第2のメモリ領域における前記未書き込みデータが記憶されるアドレスに対応した前記ライトバッファ内のアドレスを含む
請求項13に記載の制御方法。 - 前記第2の情報は、前記誤り訂正符号に対応した識別情報とアドレス情報とが前記データ群に含まれる複数のデータについて対応付けられており、
前記書き込み済みデータの前記アドレス情報は、前記第1のメモリ領域内のアドレスを含み、
前記未書き込みデータの前記アドレス情報は、前記ライトバッファ内のアドレスを含む
請求項14に記載の制御方法。 - 前記ライトバッファは、第1のバッファ領域と前記第1のバッファ領域に記憶されるべき情報を一時的に保持する第2のバッファ領域とを含み、
前記未書き込みデータに対する前記アドレス情報は、前記第2のバッファ領域内のアドレスを含み、
前記誤り訂正復号処理を行うことは、
前記第2の情報に基づいて、前記書き込み済みデータ及び前記未書き込みデータを前記第2のバッファ領域に読み出して誤り訂正復号処理を行うことを含み、
前記制御方法は、
誤り訂正復号処理後のデータを前記第1のバッファ領域に記憶し他のデータを充当してデータサイズを調整し、調整後のデータを他の第1のメモリ領域に書き込むことをさらに備えた
請求項15に記載の制御方法。 - 前記不揮発性メモリは、複数の前記第1のメモリ領域を有し、
前記第2の情報を生成することは、
複数のチャネルを介して前記第1のメモリ領域内の複数の領域に並行して書き込みが行われることが前記複数の第1のメモリ領域に対して順次に行われるマルチライト処理が行われる場合、前記第1の情報に応じて前記第1のメモリ領域における書き込み状況を示す第3の情報を生成することと、
前記第1の情報と前記第3の情報とに応じて前記第2の情報を生成することと、
を含む
請求項11から16のいずれか1項に記載の制御方法。 - 前記第3の情報は、前記第1のメモリ領域におけるデータ位置とデータの書き込み状況とが複数のデータ位置について対応付けられている
請求項17に記載の制御方法。 - 前記書き込み状況は、前記第1のメモリ領域内のデータを書き込むべき位置を示す情報とデータの書き込みの有無を示す情報とが対応付けられている
請求項18に記載の制御方法。 - 前記書き込み状況は、チャネルを識別する情報と前記第1のメモリ領域を他の第1のメモリ領域から識別する情報と前記第1のメモリ領域内のデータを書き込むべき位置を示す情報とデータの書き込みの有無を示す情報とが対応付けられている
請求項19に記載の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246674A JP7023103B2 (ja) | 2017-12-22 | 2017-12-22 | メモリシステム及び制御方法 |
US16/124,981 US10783034B2 (en) | 2017-12-22 | 2018-09-07 | Memory system and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246674A JP7023103B2 (ja) | 2017-12-22 | 2017-12-22 | メモリシステム及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019114031A true JP2019114031A (ja) | 2019-07-11 |
JP7023103B2 JP7023103B2 (ja) | 2022-02-21 |
Family
ID=66951181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017246674A Active JP7023103B2 (ja) | 2017-12-22 | 2017-12-22 | メモリシステム及び制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10783034B2 (ja) |
JP (1) | JP7023103B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220053374A (ko) * | 2020-10-22 | 2022-04-29 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20220104486A (ko) * | 2021-01-18 | 2022-07-26 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작 방법 및 컴퓨팅 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123499A (ja) * | 2010-12-07 | 2012-06-28 | Toshiba Corp | メモリシステム |
JP2012128906A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | 半導体記憶装置 |
JP2013061799A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | 記憶装置、記憶装置の制御方法およびコントローラ |
US20170070241A1 (en) * | 2015-09-08 | 2017-03-09 | Kabushiki Kaisha Toshiba | Memory system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007058617A1 (en) | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
JP2008204581A (ja) * | 2007-02-22 | 2008-09-04 | Elpida Memory Inc | 不揮発性ram |
WO2011031900A2 (en) * | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction management in a storage device |
JP2012137994A (ja) | 2010-12-27 | 2012-07-19 | Toshiba Corp | メモリシステムおよびその制御方法 |
US20140082406A1 (en) * | 2012-09-18 | 2014-03-20 | Sandisk Technologies Inc. | Data protection through power loss prediction |
US20150074451A1 (en) | 2013-09-11 | 2015-03-12 | Kabushiki Kaisha Toshiba | Memory system |
TWI502345B (zh) * | 2014-05-12 | 2015-10-01 | Via Tech Inc | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 |
US9811275B2 (en) * | 2015-02-27 | 2017-11-07 | Toshiba Memory Corporation | Memory system and data control method |
-
2017
- 2017-12-22 JP JP2017246674A patent/JP7023103B2/ja active Active
-
2018
- 2018-09-07 US US16/124,981 patent/US10783034B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123499A (ja) * | 2010-12-07 | 2012-06-28 | Toshiba Corp | メモリシステム |
JP2012128906A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | 半導体記憶装置 |
JP2013061799A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | 記憶装置、記憶装置の制御方法およびコントローラ |
US20170070241A1 (en) * | 2015-09-08 | 2017-03-09 | Kabushiki Kaisha Toshiba | Memory system |
Also Published As
Publication number | Publication date |
---|---|
JP7023103B2 (ja) | 2022-02-21 |
US10783034B2 (en) | 2020-09-22 |
US20190196905A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11768610B2 (en) | Storage system having a host that manages physical data locations of a storage device | |
US12013779B2 (en) | Storage system having a host directly manage physical data locations of storage device | |
CN107957961B (zh) | 存储设备、存储系统和计算设备 | |
KR102147359B1 (ko) | 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치 | |
US10762967B2 (en) | Recovering from failure in programming a nonvolatile memory | |
US20130151892A1 (en) | Data storing method for solid state drive to preserve data integrity after power failure | |
US8694748B2 (en) | Data merging method for non-volatile memory module, and memory controller and memory storage device using the same | |
US10732838B2 (en) | Logical grouping for hybrid dual write | |
KR20130041341A (ko) | 스트라이프-기반 비-휘발성 멀티레벨 메모리 동작 | |
US8214698B2 (en) | Solid state storage system with improved data merging efficiency and control method thereof | |
JP5259138B2 (ja) | 記憶装置 | |
US10283196B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20150301748A1 (en) | Storage operating system | |
JP2012517068A (ja) | メモリ装置、メモリ管理装置、およびメモリ管理方法 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
JP7023103B2 (ja) | メモリシステム及び制御方法 | |
JP2012521032A (ja) | Ssdコントローラおよびssdコントローラの動作方法 | |
JP2022096478A (ja) | メモリシステム及び制御方法 | |
US12062394B2 (en) | Performing data integrity checks to identify defective wordlines | |
US20240176705A1 (en) | System recovery during cgi-wl defect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180905 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211105 |
|
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: 20220111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220208 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7023103 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |