JPWO2016203631A1 - フラッシュメモリデバイス - Google Patents
フラッシュメモリデバイス Download PDFInfo
- Publication number
- JPWO2016203631A1 JPWO2016203631A1 JP2017524250A JP2017524250A JPWO2016203631A1 JP WO2016203631 A1 JPWO2016203631 A1 JP WO2016203631A1 JP 2017524250 A JP2017524250 A JP 2017524250A JP 2017524250 A JP2017524250 A JP 2017524250A JP WO2016203631 A1 JPWO2016203631 A1 JP WO2016203631A1
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- read
- data
- processor
- pattern
- 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
- 238000012937 correction Methods 0.000 claims abstract description 96
- 230000006866 deterioration Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 11
- 230000015556 catabolic process Effects 0.000 description 10
- 238000006731 degradation reaction Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 238000007689 inspection Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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/061—Improving I/O performance
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
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)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
Claims (9)
- データを格納する、フラッシュメモリチップと、
外部からのリード要求を解析し、リードコマンドを生成するプロセッサと、
前記プロセッサから前記リードコマンドを受け付けるフラッシュメモリコントローラと、を含み、
前記フラッシュメモリコントローラは、
前記フラッシュメモリチップからのリードのためのパラメータ値を指定するリードオプション、の実行順序を示すリードパターンを保持し、
前記リードコマンドに従って前記フラッシュメモリチップからリードしたデータの、エラー訂正を実行し、
前記エラー訂正によって前記リードしたデータの全てのエラーを訂正できない場合、前記リードパターンが示す次のリードオプションを前記フラッシュメモリチップに指定して、前記フラッシュメモリチップから前記データをリードする、フラッシュメモリデバイス。 - 請求項1に記載のフラッシュメモリデバイスであって、
前記フラッシュメモリコントローラは、複数のリードパターンを保持し、
前記プロセッサは、リードパターンを前記フラッシュメモリコントローラに指定し、
前記フラッシュメモリコントローラは、前記リードコマンドに従った前記フラッシュメモリチップからのリードにおいて前記指定されたリードパターンを参照する、フラッシュメモリデバイス。 - 請求項2に記載のフラッシュメモリデバイスであって、
前記プロセッサは、前記リードコマンドのアクセス先の状態に基づいて前記フラッシュメモリコントローラに指定するリードパターンを決定する、フラッシュメモリデバイス。 - 請求項2に記載のフラッシュメモリデバイスであって、
前記プロセッサは、前記フラッシュメモリコントローラが保持する前記リードパターンを、異なるリードパターンに変更する、フラッシュメモリデバイス。 - 請求項4に記載のフラッシュメモリデバイスであって、
前記プロセッサは、
前記フラッシュメモリコントローラが保持するリードパターンを管理し、
前記フラッシュメモリコントローラが前記指定するリードパターンを保持していない場合、前記フラッシュメモリコントローラが保持する前記リードパターンを、前記指定するリードパターンに変更する、フラッシュメモリデバイス。 - 請求項4に記載のフラッシュメモリデバイスであって、
前記プロセッサは、
複数のリードパターンを保持し、
前記フラッシュメモリチップの複数の領域それぞれの状態に基づき、前記複数の領域それぞれのリードパターンを決定し、
前記複数のリードパターンそれぞれに対応する、前記フラッシュメモリチップ内の領域数に基づき、前記フラッシュメモリコントローラに保持させるリードパターンを前記複数のリードパターンから選択する、フラッシュメモリデバイス。 - 請求項1に記載のフラッシュメモリデバイスであって、
前記フラッシュメモリコントローラは、
前記フラッシュメモリチップからリードしたデータをコードワード毎にエラー訂正し、
異なるリードオプションによりリードされたデータを保持し、
前記異なるリードオプションでリードされたデータにおいて訂正されたコードワードのユーザデータをマージして、前記リードコマンドに対応する全訂正されたデータを生成する、フラッシュメモリデバイス。 - 請求項1に記載のフラッシュメモリデバイスであって、
前記フラッシュメモリコントローラは、前記フラッシュメモリチップからリードしたデータをコードワード毎にエラー訂正し、
前記プロセッサは、異なるオプションでリードされたデータにおいて訂正されたコードワードのユーザデータをマージして、前記リードコマンドに対応するリードデータを生成する、フラッシュメモリデバイス。 - 複数のフラッシュメモリデバイスと、
前記複数のフラッシュメモリデバイスに対して、I/O要求を発行するストレージコントローラと、を含むストレージ装置であって、
前記複数のフラッシュメモリデバイスのそれぞれは、
データを格納する、フラッシュメモリチップと、
外部からのリード要求を解析し、リードコマンドを生成するプロセッサと、
前記プロセッサが実行するプログラムを格納するメモリと、
前記プロセッサから前記リードコマンドを受け付けるフラッシュメモリコントローラと、を含み、
前記フラッシュメモリコントローラは、
前記フラッシュメモリチップからのリードのためのパラメータ値を指定するリードオプション、の実行順序を示すリードパターンを保持し、
前記リードコマンドに従って前記フラッシュメモリチップからリードしたデータの、エラー訂正を実行し、
前記エラー訂正によって前記リードしたデータの全てのエラーを訂正できない場合、前記リードパターンが示す次のリードオプションを前記フラッシュメモリチップに指定して、前記フラッシュメモリチップから前記データをリードする、ストレージ装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/067685 WO2016203631A1 (ja) | 2015-06-19 | 2015-06-19 | フラッシュメモリデバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016203631A1 true JPWO2016203631A1 (ja) | 2017-12-28 |
JP6374108B2 JP6374108B2 (ja) | 2018-08-15 |
Family
ID=57545493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017524250A Active JP6374108B2 (ja) | 2015-06-19 | 2015-06-19 | フラッシュメモリデバイス |
Country Status (3)
Country | Link |
---|---|
US (1) | US10229742B2 (ja) |
JP (1) | JP6374108B2 (ja) |
WO (1) | WO2016203631A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108780429B (zh) * | 2016-03-31 | 2022-05-31 | 英特尔公司 | 用于高速i/o数据传输的错误处理技术 |
US10346268B2 (en) * | 2016-07-21 | 2019-07-09 | SK Hynix Inc. | Efficient data recovery for write path errors |
KR102617411B1 (ko) * | 2018-08-31 | 2023-12-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US11023317B2 (en) | 2019-07-12 | 2021-06-01 | Micron Technology, Inc. | Read recovery control circuitry |
JP7438859B2 (ja) | 2020-06-17 | 2024-02-27 | キオクシア株式会社 | メモリシステムおよび方法 |
JP7550895B2 (ja) | 2023-02-02 | 2024-09-13 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置およびウエアレベリング方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211852A1 (en) * | 2009-02-17 | 2010-08-19 | Samsung Electronics Co., Ltd. | Method of reading data in non-volatile memory device |
JP2011100519A (ja) * | 2009-11-06 | 2011-05-19 | Toshiba Corp | メモリシステム |
JP2012221522A (ja) * | 2011-04-06 | 2012-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153902A1 (en) * | 2003-01-21 | 2004-08-05 | Nexflash Technologies, Inc. | Serial flash integrated circuit having error detection and correction |
US20040187050A1 (en) * | 2003-03-19 | 2004-09-23 | Baumann Robert Christopher | Test structure and method for accurate determination of soft error of logic components |
KR101601849B1 (ko) * | 2009-10-21 | 2016-03-09 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8661184B2 (en) * | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
DE102011079259B9 (de) * | 2011-07-15 | 2013-11-28 | Infineon Technologies Ag | Bitfehlerkorrektur zur Beseitigung von altersbedingten Fehlern in einem Bitmuster |
US9299455B2 (en) | 2012-03-06 | 2016-03-29 | Hitachi, Ltd. | Semiconductor storage device having nonvolatile semiconductor memory |
US9176812B1 (en) * | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9021336B1 (en) * | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US9575125B1 (en) * | 2012-10-11 | 2017-02-21 | Everspin Technologies, Inc. | Memory device with reduced test time |
WO2015061227A1 (en) * | 2013-10-21 | 2015-04-30 | Washington State University | Performance analysis of power grid monitors |
WO2015167480A1 (en) * | 2014-04-29 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Hardware assisted software versioning of clustered applications |
WO2016036347A1 (en) * | 2014-09-02 | 2016-03-10 | Hewlett Packard Enterprise Development Lp | Serializing access to fault tolerant memory |
US9361991B1 (en) * | 2014-12-23 | 2016-06-07 | Sandisk Technologies Inc. | Efficient scanning of nonvolatile memory blocks |
US9870153B2 (en) * | 2014-12-29 | 2018-01-16 | Sandisk Technologies Llc | Non-volatile memory systems utilizing storage address tables |
-
2015
- 2015-06-19 JP JP2017524250A patent/JP6374108B2/ja active Active
- 2015-06-19 US US15/556,680 patent/US10229742B2/en active Active
- 2015-06-19 WO PCT/JP2015/067685 patent/WO2016203631A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211852A1 (en) * | 2009-02-17 | 2010-08-19 | Samsung Electronics Co., Ltd. | Method of reading data in non-volatile memory device |
JP2011100519A (ja) * | 2009-11-06 | 2011-05-19 | Toshiba Corp | メモリシステム |
JP2012221522A (ja) * | 2011-04-06 | 2012-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6374108B2 (ja) | 2018-08-15 |
WO2016203631A1 (ja) | 2016-12-22 |
US20180061498A1 (en) | 2018-03-01 |
US10229742B2 (en) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6374108B2 (ja) | フラッシュメモリデバイス | |
JP6855102B2 (ja) | 不揮発性メモリ・システムにおけるマルチページ障害の回復 | |
TWI428737B (zh) | 半導體記憶體裝置 | |
JP4901968B2 (ja) | 半導体記憶装置 | |
US9910748B2 (en) | Rebuilding process for storage array | |
US7984325B2 (en) | Storage control device, data recovery device, and storage system | |
US7386758B2 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
US9244766B2 (en) | Variable data recovery scheme hierarchy | |
US8694865B2 (en) | Data storage device configured to reduce buffer traffic and related method of operation | |
US9304685B2 (en) | Storage array system and non-transitory recording medium storing control program | |
US9727244B2 (en) | Expanding effective storage capacity of a data storage system while providing support for address mapping recovery | |
US20080184062A1 (en) | System and method for detecting write errors in a storage device | |
JP2008204041A (ja) | ストレージ装置及びデータ配置制御方法 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
KR20220001222A (ko) | 베드 블록을 처리하는 메모리 시스템 및 동작 방법 | |
WO2015034901A1 (en) | Method and system for migrating data between flash memory devices | |
US20130346829A1 (en) | Flash memory device and storage control method | |
JP2016143085A (ja) | 装置及び方法 | |
JP2006139478A (ja) | ディスクアレイシステム | |
JPWO2015029230A1 (ja) | 記憶装置及びデータ制御方法 | |
JP2010055210A (ja) | ストレージシステム及びデータ保証方法 | |
KR20210121654A (ko) | 메모리 시스템의 데이터 에러를 복구하는 장치 및 방법 | |
JP5579431B2 (ja) | ソリッド・ステート・ドライブ装置および平準化管理情報の退避・回復方法 | |
WO2018185800A1 (ja) | ストレージ装置 | |
WO2020028801A1 (en) | Error correction with scatter-gather list data management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170822 |
|
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: 20180619 |
|
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: 20180626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180718 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6374108 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |