JP2013131192A - ストレージ装置及びストレージ装置の制御方法 - Google Patents
ストレージ装置及びストレージ装置の制御方法 Download PDFInfo
- Publication number
- JP2013131192A JP2013131192A JP2011282334A JP2011282334A JP2013131192A JP 2013131192 A JP2013131192 A JP 2013131192A JP 2011282334 A JP2011282334 A JP 2011282334A JP 2011282334 A JP2011282334 A JP 2011282334A JP 2013131192 A JP2013131192 A JP 2013131192A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- stripe
- parity
- nand flash
- 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.)
- Pending
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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】ライト用DMA200は、書込部220と読出部230とパリティ生成部240とを有する。読出部230は、パリティデータを記憶する2つのNANDフラッシュ20d、20eの一方からパリティデータを読出す。パリティ生成部240は、読出されたパリティデータと、ユーザデータを分割して得られる複数のストライプとからパリティデータを生成する。書込部220は、ストライプを記憶する複数のNANDフラッシュ20a〜20cのいずれかにストライプを書込むとともに、パリティデータを読出していないNANDフラッシュ20d、20eに生成されたパリティデータを書込む。
【選択図】図2
Description
図1は、実施例1に係るストレージ装置の構成を示すブロック図である。図1に示すように、ストレージ装置1は、電源供給ユニット2、HDD(Hard Disk Drive)3a〜3c、CM(Controller Module)10を有する。
FPGA100、NANDフラッシュ20へ電力を供給する。
図2は、実施例1に係るライト用DMAの構成を示すブロック図である。図2に示すように、ライト用DMA200は、転送部210、書込部220、読出部230、パリティ生成部240を有する。また、ライト用DMA200は、NANDフラッシュ20a〜20eと接続する。ここで、NANDフラッシュ20a〜20cをストライプ用NANDフラッシュとし、NANDフラッシュ20d、20eをパリティ用NANDフラッシュとして説明する。また、各NANDフラッシュ20a〜20eは、バッファ21a〜21eとアレイ22a〜22eとを有する。
次に図3を用いて、実施例1に係るライト用DMA200によるデータの書込み動作を説明する。図3は、実施例1に係るライト用DMAによるデータの書込み動作を示すシーケンス図である。なお、ここでは、ライト用DMA200が、3つのストライプをNANDフラッシュに書込む場合を例に説明する。また、ここでは、3番目のストライプが最後のストライプである。
次に図4を用いて、実施例1に係るライト用DMAによる処理の処理手順を説明する。図4は、実施例1に係るライト用DMAによるデータの書込み処理の処理手順を示すフローチャートである。なお、ここでは、ライト用DMA200が、3つのストライプをNANDフラッシュに書込む場合を例に説明する。また、ここでは、3番目のストライプが最後のストライプである。
実施例1に係るストレージ装置1は、パリティ用NANDフラッシュを2つ有し、このパリティ用NANDフラッシュのバッファに交互にパリティデータを書込む。これにより、実施例1に係るストレージ装置1は、最後のストライプをNANDフラッシュのアレイへ書込むタイミングと同時にパリティデータをNANDフラッシュのアレイへ書込む。この結果、実施例1に係るストレージ装置1では、パリティデータを書き込んでもライト性能を低下させない。
次に、実施例2に係るストレージ装置の構成を説明する。実施例2に係るストレージ装置の構成は、図1に示すストレージ装置のライト用DMAが有する機能が異なる点を除いて、実施例1に係るストレージ装置の構成と同様である。このため、以下では、実施例1とは異なるライト用DMAについてのみ説明する。なお、実施例2に係るストレージ装置では、NANDフラッシュの数が変更されるが、この点についても併せて説明する。
次に、図5を用いて、実施例2に係るライト用DMAの構成を説明する。図5は、実施例2に係るライト用DMAの構成を示すブロック図である。図5に示すように、実施例2に係るライト用DMAは、転送部310、書込部320、読出部330、パリティ生成部340を有する。
次に図6を用いて、実施例2に係るライト用DMAによるデータの書込み動作を説明する。図6は、実施例2に係るライト用DMAによるデータの書込み動作を示すシーケンス図である。なお、ここでは、ライト用DMA300が、2つのストライプを含むグループ1と3つのストライプを含むグループ2の順でNANDフラッシュに書込む場合を例に説明する。また、ここでは、グループ1の2番目のストライプとグループ2の3番目のストライプとが最後のストライプである。
次に図7を用いて、実施例2に係るライト用DMAによる処理の処理手順を説明する。図7は、実施例2に係るライト用DMAによるデータの書込み処理の処理手順を示すフローチャートである。なお、ここでは、ライト用DMA300が、2つのストライプを含むグループ1と3つのストライプを含むグループ2の順でNANDフラッシュに書込む場合を例に説明する。また、ここでは、グループ1の2番目のストライプとグループ2の3番目のストライプとが最後のストライプである。
上述してきたように、実施例2に係るストレージ装置では、パリティデータを書き込んでもライト性能を低下させない。さらに、実施例2に係るストレージ装置では、パリティ用NANDフラッシュのアレイを有効に活用することができる。この結果、例えば、ユーザデータに対してパリティデータを2つ生成できるので、ユーザデータにエラーが生じた場合の復元の精度を向上することができる。
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。
2 電源供給ユニット
3a〜3c HDD
10 CM
11 キャッシュメモリ
12 RoC
13 Exp
14 停電時給電ユニット
20、20a〜20e、30a〜30g NANDフラッシュ
100 FPGA
200、300 ライト用DMA
210、310 転送部
220、320 書込部
221、231、321、322、331 選択回路
230、330 読出部
240、340 パリティ生成部
241、341 XOR回路
Claims (5)
- データを分割して得られる複数の部分データをそれぞれ記憶する複数のメモリを含む第1メモリ群と、
パリティデータを記憶する第1のメモリ及び第2のメモリと、
前記第1のメモリまたは前記第2のメモリからパリティデータを読出す読出部と、
前記読出されたパリティデータと、部分データとからパリティデータを生成する生成部と、
前記第1メモリ群に含まれるいずれかのメモリに前記部分データを書込むとともに、前記第1のメモリからパリティデータを読出した場合には、前記第2のメモリに、前記第2のメモリからパリティデータを読出した場合には、前記第1のメモリに、生成されたパリティデータを書込む書込部と
を有することを特徴とするストレージ装置。 - 前記第1メモリ群に含まれる複数のメモリは、一時保存領域と保存領域とを有し、
前記第1のメモリ及び前記第2のメモリは、一時保存領域と保存領域とを有し、
前記読出部は、前記第1のメモリの一時保存領域または前記第2のメモリの一時保存領域からパリティデータを読出し、
前記書込部は、前記第1メモリ群に含まれる複数のメモリの一時保存領域に前記部分データを書込むとともに、前記第1のメモリからパリティデータを読出した場合には、前記第2のメモリの一時保存領域に、前記第2のメモリからパリティデータを読出した場合には、前記第1のメモリの一時保存領域に、生成されたパリティデータを書込む
ことを特徴とする請求項1に記載のストレージ装置。 - 前記書込部は、部分データを前記第1メモリ群に含まれる複数のメモリの一時保存領域から保存領域に書込み、書込む部分データが最後の部分データである場合、該最後の部分データを前記第1メモリ群に含まれる複数のメモリの一時保存領域から保存領域に書込むと同時に、パリティデータを前記第1のメモリの一時保存領域から保存領域または前記第2のメモリの一時保存領域から保存領域に書込む
ことを特徴とする請求項2に記載のストレージ装置。 - 前記書込部は、奇数個の部分データに分割された第1のデータと偶数個の部分データに分割された第2のデータとを前記第1メモリ群に含まれる複数のメモリに書込む場合、前記第1のデータに対するパリティデータを前記第1のメモリの保存領域または前記第2のメモリの保存領域に書込み、前記第1のメモリに前記第1のデータに対するパリティデータを書込んだ場合には前記第2のメモリに、前記第2のメモリに前記第1のデータに対するパリティデータを書込んだ場合には前記第1のメモリに、前記第2のデータに対するパリティデータを書込むことを特徴とする請求項3に記載のストレージ装置。
- ストレージ装置が、
データを分割して得られる複数の部分データを第1メモリ群に含まれる複数のメモリのいずれかに書込むとともに、パリティデータを第1のメモリまたは第2のメモリに書込み、
前記第1のメモリまたは前記第2のメモリからパリティデータを読出し、
前記読出したパリティデータと、部分データとからパリティデータを生成し、
前記第1メモリ群に含まれる複数のメモリに前記部分データを書込むとともに、前記第1のメモリからパリティデータを読出した場合には前記第2のメモリに、前記第2のメモリからパリティデータを読出した場合には前記第1のメモリに、生成されたパリティデータを書込む
各処理を含んだことを特徴とするストレージ装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011282334A JP2013131192A (ja) | 2011-12-22 | 2011-12-22 | ストレージ装置及びストレージ装置の制御方法 |
US13/645,581 US9063880B2 (en) | 2011-12-22 | 2012-10-05 | Storage device and method for controlling storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011282334A JP2013131192A (ja) | 2011-12-22 | 2011-12-22 | ストレージ装置及びストレージ装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013131192A true JP2013131192A (ja) | 2013-07-04 |
Family
ID=48655729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011282334A Pending JP2013131192A (ja) | 2011-12-22 | 2011-12-22 | ストレージ装置及びストレージ装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9063880B2 (ja) |
JP (1) | JP2013131192A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
KR102248207B1 (ko) * | 2014-10-30 | 2021-05-06 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
KR102549605B1 (ko) * | 2016-03-04 | 2023-06-30 | 삼성전자주식회사 | Raid 스토리지 장치의 리커버리 방법 |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US11422740B2 (en) * | 2019-09-27 | 2022-08-23 | Dell Products L.P. | Raid storage-device-assisted data update system |
US11347609B1 (en) * | 2021-04-29 | 2022-05-31 | International Business Machines Corporation | Failed media channel recovery throttling |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07161195A (ja) * | 1993-06-30 | 1995-06-23 | Intel Corp | フラッシュメモリ |
JPH10105476A (ja) * | 1996-08-13 | 1998-04-24 | Hewlett Packard Co <Hp> | パリティブロックの生成装置 |
JPH11282633A (ja) * | 1998-03-27 | 1999-10-15 | Matsushita Electric Ind Co Ltd | 磁気ディスク装置 |
JP2000215679A (ja) * | 1999-01-18 | 2000-08-04 | Taito Corp | 半導体記憶装置 |
WO2009098776A1 (ja) * | 2008-02-08 | 2009-08-13 | Fujitsu Limited | バックアップ方法、ディスクアレイ装置及びコントローラ |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250274A (ja) * | 1992-03-04 | 1993-09-28 | Mitsubishi Electric Corp | ディスクキャッシュ装置 |
JPH06309234A (ja) * | 1993-02-15 | 1994-11-04 | Toshiba Corp | ディスク制御装置 |
JPH08220198A (ja) | 1995-02-13 | 1996-08-30 | Nec Corp | 電池バックアップメモリユニットおよびバックアップ機能試験方法 |
JP3618529B2 (ja) * | 1997-11-04 | 2005-02-09 | 富士通株式会社 | ディスクアレイ装置 |
JP2000357059A (ja) | 1999-06-14 | 2000-12-26 | Toshiba Corp | ディスクアレイ装置 |
JP3866478B2 (ja) * | 2000-03-28 | 2007-01-10 | 株式会社東芝 | 半導体集積回路 |
JP3514217B2 (ja) * | 2000-06-29 | 2004-03-31 | 日本電気株式会社 | ターボ復号方法及び受信機 |
US6996739B2 (en) * | 2001-07-11 | 2006-02-07 | Sun Microsystems, Inc. | Accumulator memory for performing operations on block operands |
JP4034949B2 (ja) * | 2001-09-06 | 2008-01-16 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
JP3702231B2 (ja) * | 2002-01-31 | 2005-10-05 | 株式会社東芝 | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
CN100361222C (zh) * | 2003-09-05 | 2008-01-09 | 三洋电机株式会社 | 纠错码产生电路及其方法 |
US20050132128A1 (en) | 2003-12-15 | 2005-06-16 | Jin-Yub Lee | Flash memory device and flash memory system including buffer memory |
JP2005332471A (ja) | 2004-05-19 | 2005-12-02 | Hitachi Ltd | ディスクアレイ装置 |
US20090113235A1 (en) * | 2007-10-30 | 2009-04-30 | Selinger Robert D | Raid with redundant parity |
EP2595062B1 (en) * | 2008-02-28 | 2016-12-28 | Fujitsu Limited | Storage device, storage control device, data transfer integrated circuit, and storage control method |
US20090300282A1 (en) * | 2008-05-30 | 2009-12-03 | Promise Technology, Inc. | Redundant array of independent disks write recovery system |
JP5286956B2 (ja) * | 2008-06-13 | 2013-09-11 | 富士通株式会社 | 制御方法、ディスクアレイ装置 |
JP5268710B2 (ja) * | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
KR101056876B1 (ko) * | 2009-06-30 | 2011-08-12 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 동작 방법 및 이를 구현하는 불휘발성 메모리 장치 |
KR101694984B1 (ko) * | 2010-12-08 | 2017-01-11 | 한국전자통신연구원 | 비대칭 클러스터링 파일시스템에서의 패리티 산출 방법 |
-
2011
- 2011-12-22 JP JP2011282334A patent/JP2013131192A/ja active Pending
-
2012
- 2012-10-05 US US13/645,581 patent/US9063880B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07161195A (ja) * | 1993-06-30 | 1995-06-23 | Intel Corp | フラッシュメモリ |
JPH10105476A (ja) * | 1996-08-13 | 1998-04-24 | Hewlett Packard Co <Hp> | パリティブロックの生成装置 |
JPH11282633A (ja) * | 1998-03-27 | 1999-10-15 | Matsushita Electric Ind Co Ltd | 磁気ディスク装置 |
JP2000215679A (ja) * | 1999-01-18 | 2000-08-04 | Taito Corp | 半導体記憶装置 |
WO2009098776A1 (ja) * | 2008-02-08 | 2009-08-13 | Fujitsu Limited | バックアップ方法、ディスクアレイ装置及びコントローラ |
Also Published As
Publication number | Publication date |
---|---|
US20130166857A1 (en) | 2013-06-27 |
US9063880B2 (en) | 2015-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104350546B (zh) | 行锤击刷新命令 | |
JP2013131192A (ja) | ストレージ装置及びストレージ装置の制御方法 | |
US20140189215A1 (en) | Memory modules and memory systems | |
TW201603037A (zh) | 記憶體對映 | |
JP5950286B2 (ja) | アドレス変換テーブルを書き込む装置及び方法 | |
KR101736944B1 (ko) | Nand 메모리 디바이스에 저장되는 데이터의 페일 세이프 리프레시 | |
US20080263369A1 (en) | Method and apparatus for encrypting and processing data in flash translation layer | |
KR20170054182A (ko) | 반도체 장치 | |
JPWO2008149458A1 (ja) | 暗号化装置、暗号化方法および暗号化プログラム | |
JP2012230621A (ja) | メモリ装置、メモリ制御装置、メモリ制御方法 | |
JP2010224685A (ja) | データバックアップ方法及び情報処理装置 | |
KR20130069364A (ko) | 비휘발성 반도체 기억 장치 및 그 관리 방법 | |
US20160011937A1 (en) | Semiconductor memory device, memory controller, and control method of memory controller | |
JP2005302250A (ja) | 半導体装置 | |
JP2010015665A (ja) | Nandフラッシュメモリのリフレッシュ方法及びnand型フラッシュメモリデバイス | |
CN102929784A (zh) | 非挥发性内存的写入方法 | |
KR20190106274A (ko) | 메모리 칩 및 그것을 포함하는 테스트 시스템 | |
US9875051B2 (en) | Memory system that controls power state of buffer memory | |
JP2008310896A (ja) | 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法 | |
JP6399755B2 (ja) | ミラーリング装置及びその制御方法 | |
US9747035B2 (en) | Reducing memory overhead associated with memory protected by a fault protection scheme | |
TW201526011A (zh) | 電子裝置及其資料維護方法 | |
JP2015108986A (ja) | 情報処理装置、情報処理装置の試験命令列及び試験方法 | |
JP2007066118A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2011013736A (ja) | 不揮発性記憶装置および不揮発性メモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150925 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160322 |