JP2012137885A - データ記憶装置、メモリ制御装置及びメモリ制御方法 - Google Patents
データ記憶装置、メモリ制御装置及びメモリ制御方法 Download PDFInfo
- Publication number
- JP2012137885A JP2012137885A JP2010288829A JP2010288829A JP2012137885A JP 2012137885 A JP2012137885 A JP 2012137885A JP 2010288829 A JP2010288829 A JP 2010288829A JP 2010288829 A JP2010288829 A JP 2010288829A JP 2012137885 A JP2012137885 A JP 2012137885A
- Authority
- JP
- Japan
- Prior art keywords
- data
- channel
- encoded data
- parity
- plane
- 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/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
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】実施形態によれば、データ記憶装置は、チャネルコントローラと、IPCモジュールと、データコントローラとを具備する。チャネルコントローラは、複数チャネルの各不揮発性メモリに対してデータの入出力を制御する。IPCモジュールは、前記各不揮発性メモリに記憶されるデータを使用して、チャネル間の誤り検出訂正処理が可能な符号化データを生成する。データコントローラは、前記チャネルコントローラにより前記符号化データを前記各チャネルに並列に書き込むときに前記符号化データを論理ブロック単位で管理し、前記符号化データに含まれるパリティデータを前記論理ブロック中において同一チャネルの各プレーンに割り当てて管理する。
【選択図】図2
Description
図1は、実施形態のデータ記憶装置の構成を示すブロック図である。
図2に示すように、フラッシュメモリコントローラ11は、チャネルCH-0〜CH-4毎のチャネルコントローラ100〜104と、IOPS(Input Output per Second)アクセラレータ(以下、単にアクセラレータ: accelerator)110と、データフローコントローラ120と、チャネル間パリティモジュール130とを含む。
以下、図3から図17までを参照して、本実施形態のICP処理(チャネル間データ保護機能)を説明する。
図17のフローチャートに示すように、リード動作では、フラッシュメモリコントローラ11は、各チャネルのフラッシュメモリからユーザデータを読み出してバッファメモリ21に転送する(ブロック1700)。このとき、フラッシュメモリコントローラ11は、読み出したユーザデータのエラーチェックをECCにより実行する(ブロック1701)。フラッシュメモリコントローラ11は、エラー訂正が可能であれば、ECCによる訂正処理を実行する(ブロック1702のYES,1703)。ECCによりエラー訂正されたユーザデータは、バッファメモリ21からホストインターフェースコントローラ13に転送される(ブロック1704)。
12…バッファマネージャモジュール、13…ホストインターフェースコントローラ、
14…サブシステムモジュール、20,200〜20n…NAND型フラッシュメモリ、
21…バッファメモリ(DRAM)、30…ホストデバイス、40…RS演算器、
100〜104…チャネルコントローラ、110…アクセラレータ、
120…データフローコントローラ、130…ICPモジュール(チャネル間パリティモジュール)、140,141…マイクロプロセッサ(CPU)。
Claims (10)
- 複数チャネルの各不揮発性メモリに対してデータの入出力を制御するチャネル制御手段と、
前記各不揮発性メモリに記憶されるデータを使用して、チャネル間の誤り検出訂正処理が可能な符号化データを生成する符号化手段と、
前記チャネル制御手段により前記符号化データを前記各チャネルに並列に書き込むときに前記符号化データを論理ブロック単位で管理し、前記符号化データに含まれるパリティデータを前記論理ブロック中において同一チャネルの各プレーンに割り当てて管理するデータ制御手段と
を具備するデータ記憶装置。 - 前記データ制御手段は、
前記パリティデータを、前記論理ブロック中において同一チャネルの各プレーンのそれぞれに同一データ量で割り当てて管理する請求項1に記載のデータ記憶装置。 - 前記チャネル制御手段から読み出される前記符号化データに対して誤り検出訂正処理を実行する復号化手段を具備する請求項1又は請求項2のいずれか1項に記載のデータ記憶装置。
- 前記データ制御手段は、
前記符号化データの生成時に使用される元データと前記パリティデータの符号中次数情報と前記論理ブロック中の位置情報を関連付けて、前記論理ブロック中において前記パリティデータを格納するチャネル以外の各チャネルの各プレーンのそれぞれに前記元データを割り当てる請求項1または請求項2のいずれか1項に記載のデータ記憶装置。 - 前記復号化手段は、
誤り検出訂正処理時に、前記データ制御手段から転送される前記符号化データを入力するときに、前記論理ブロックと前記符号化データの位置関係を示すチャネル番号及びプレーン番号を含む位置情報を前記データ制御手段から入力するように構成されている請求項3に記載のデータ記憶装置。 - 複数チャネルの各不揮発性メモリを有するデータ記憶装置に適用するメモリ制御装置であって、
前記各不揮発性メモリに対するデータの入出力を制御するチャネル制御手段と、
前記各不揮発性メモリに記憶されるデータを使用して、チャネル間の誤り検出訂正処理が可能な符号化データを生成する符号化手段と、
前記チャネル制御手段により前記符号化データを前記各チャネルに並列に書き込むときに前記符号化データを論理ブロック単位で管理し、前記符号化データに含まれるパリティデータを前記論理ブロック中において同一チャネルの各プレーンに割り当てて管理するデータ制御手段と
を具備するメモリ制御装置。 - 前記データ制御手段は、
前記パリティデータを、前記論理ブロック中において同一チャネルの各プレーンのそれぞれに同一データ量で割り当てて管理する請求項6に記載のメモリ制御装置。 - 前記チャネル制御手段から読み出される前記符号化データに対して誤り検出訂正処理を実行する復号化手段を具備する請求項6又は請求項7のいずれか1項に記載のメモリ制御装置。
- 前記データ制御手段は、
前記符号化データの生成時に使用される元データと前記パリティデータの符号中次数情報と前記論理ブロック中の位置情報を関連付けて、前記論理ブロック中において前記パリティデータを格納するチャネル以外の各チャネルの各プレーンのそれぞれに前記元データを割り当てる請求項6または請求項7のいずれか1項に記載のデータ記憶装置。 - 複数チャネルの各不揮発性メモリを有するデータ記憶装置に適用するメモリ制御方法であって、
エンコード処理時に、前記各チャネルの不揮発性メモリから読み出されるデータを使用して、チャネル間の誤り検出訂正処理が可能な符号化データを生成し、
前記符号化データを前記各チャネルに並列に書き込むときに、前記符号化データを論理ブロック単位で管理し、前記符号化データに含まれるパリティデータを前記論理ブロック中において同一チャネルの各プレーンに割り当てて管理するメモリ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010288829A JP2012137885A (ja) | 2010-12-24 | 2010-12-24 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
US13/314,099 US8707134B2 (en) | 2010-12-24 | 2011-12-07 | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010288829A JP2012137885A (ja) | 2010-12-24 | 2010-12-24 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012137885A true JP2012137885A (ja) | 2012-07-19 |
Family
ID=46318541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010288829A Pending JP2012137885A (ja) | 2010-12-24 | 2010-12-24 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8707134B2 (ja) |
JP (1) | JP2012137885A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019185765A (ja) * | 2018-04-17 | 2019-10-24 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 大容量データを格納するネットワークストレージデバイス |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
JP5367686B2 (ja) * | 2010-12-24 | 2013-12-11 | 株式会社東芝 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
CN103034603B (zh) * | 2012-12-07 | 2014-06-18 | 天津瑞发科半导体技术有限公司 | 多通道闪存卡控制装置及其控制方法 |
US10445229B1 (en) * | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US20150193301A1 (en) * | 2014-01-06 | 2015-07-09 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
KR20210092986A (ko) * | 2020-01-17 | 2021-07-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005528712A (ja) * | 2002-05-31 | 2005-09-22 | エヌヴィディア コーポレイション | トランスペアレントeccメモリシステム |
WO2009042554A1 (en) * | 2007-09-25 | 2009-04-02 | Sandisk Corporation | Nonvolatile memory with self recovery |
JP2010015195A (ja) * | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
JP2010108246A (ja) * | 2008-10-30 | 2010-05-13 | Hitachi Ltd | 記憶装置及びデータ格納領域管理方法 |
JP2010250816A (ja) * | 2009-04-10 | 2010-11-04 | Honeywell Internatl Inc | コンピュータ装置及びコンピュータシステムのためのメモリシステム |
JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3371044B2 (ja) * | 1994-12-28 | 2003-01-27 | 株式会社日立製作所 | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 |
US5737344A (en) | 1995-05-25 | 1998-04-07 | International Business Machines Corporation | Digital data storage with increased robustness against data loss |
JP2002007225A (ja) | 2000-06-22 | 2002-01-11 | Fujitsu Ltd | アドレスパリティエラー処理方法並びに情報処理装置および記憶装置 |
US8402325B2 (en) | 2004-08-02 | 2013-03-19 | St-Ericsson Sa | Data storage and replay apparatus |
JP2006190346A (ja) | 2004-12-28 | 2006-07-20 | Toshiba Corp | エラー訂正処理装置及びエラー訂正処理方法 |
JP4598711B2 (ja) | 2006-03-30 | 2010-12-15 | 富士通株式会社 | 誤り訂正装置 |
US8001444B2 (en) * | 2007-08-08 | 2011-08-16 | Intel Corporation | ECC functional block placement in a multi-channel mass storage device |
TWI437429B (zh) * | 2008-06-04 | 2014-05-11 | A Data Technology Co Ltd | 多通道混合密度記憶體儲存裝置及其控制方法 |
JP5367686B2 (ja) | 2010-12-24 | 2013-12-11 | 株式会社東芝 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
-
2010
- 2010-12-24 JP JP2010288829A patent/JP2012137885A/ja active Pending
-
2011
- 2011-12-07 US US13/314,099 patent/US8707134B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005528712A (ja) * | 2002-05-31 | 2005-09-22 | エヌヴィディア コーポレイション | トランスペアレントeccメモリシステム |
WO2009042554A1 (en) * | 2007-09-25 | 2009-04-02 | Sandisk Corporation | Nonvolatile memory with self recovery |
JP2010015195A (ja) * | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
JP2010108246A (ja) * | 2008-10-30 | 2010-05-13 | Hitachi Ltd | 記憶装置及びデータ格納領域管理方法 |
JP2010250816A (ja) * | 2009-04-10 | 2010-11-04 | Honeywell Internatl Inc | コンピュータ装置及びコンピュータシステムのためのメモリシステム |
JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019185765A (ja) * | 2018-04-17 | 2019-10-24 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 大容量データを格納するネットワークストレージデバイス |
JP7210353B2 (ja) | 2018-04-17 | 2023-01-23 | 三星電子株式会社 | 大容量データを格納するネットワークストレージデバイス |
US12047447B2 (en) | 2018-04-17 | 2024-07-23 | Samsung Electronics Co., Ltd. | Network storage device storing large amount of data |
Also Published As
Publication number | Publication date |
---|---|
US8707134B2 (en) | 2014-04-22 |
US20120166911A1 (en) | 2012-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012137885A (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
JP5367686B2 (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
US11054991B2 (en) | Data storage system scale-out with local address remapping | |
US8332579B2 (en) | Data storage apparatus and method of writing data | |
US10732893B2 (en) | Non-volatile memory over fabric controller with memory bypass | |
US10114578B2 (en) | Solid state disk and data moving method | |
US9496051B2 (en) | Efficient raid technique for reliable SSD | |
KR101732030B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JP5525605B2 (ja) | フラッシュメモリモジュール | |
US20180101450A1 (en) | Storage device capable of performing peer-to-peer communication and data storage system including the same | |
JP5364807B2 (ja) | メモリコントローラ及び不揮発性記憶装置 | |
JP2012128660A (ja) | 半導体記憶装置 | |
JP6142860B2 (ja) | ディスクアレイ装置、ディスク制御装置、ソリッドステートドライブ、ディスク制御方法、及びそのためのプログラム | |
US20150052329A1 (en) | Memory control device, host computer, information processing system and method of controlling memory control device | |
CN102122235A (zh) | 一种raid4系统及其数据读写方法 | |
US20140075099A1 (en) | Control method and memory system of non-volatile semiconductor memory | |
JP2012155541A (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
US20200042386A1 (en) | Error Correction With Scatter-Gather List Data Management | |
TW202418087A (zh) | 在多個記憶體區域中分配和儲存寫入資料的裝置和方法 | |
CN117785751A (zh) | 非易失性存储装置对主机任务的分担 | |
US11354063B2 (en) | Memory system | |
US20240103756A1 (en) | Non-volatile storage device offloading of host tasks | |
US20240103765A1 (en) | Non-volatile storage device offloading of host tasks | |
JP2009080549A (ja) | ディスクアレイ制御装置およびデータ配置方法 | |
KR20240053298A (ko) | 호스트와 메모리 시스템에서 맵데이터를 관리하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130225 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20130305 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20130322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131015 |