JP5376983B2 - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP5376983B2 JP5376983B2 JP2009030297A JP2009030297A JP5376983B2 JP 5376983 B2 JP5376983 B2 JP 5376983B2 JP 2009030297 A JP2009030297 A JP 2009030297A JP 2009030297 A JP2009030297 A JP 2009030297A JP 5376983 B2 JP5376983 B2 JP 5376983B2
- Authority
- JP
- Japan
- Prior art keywords
- log
- storage unit
- management
- data
- management table
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Description
図1は、SSD(Solid State Drive)100の構成例を示すブロック図である。SSD100は、コントローラとしてのドライブ制御回路4と、不揮発性半導体メモリとしてのNAND型フラッシュメモリ(以下、NANDメモリと略す)10と、揮発性半導体メモリとしてのDRAM20と、ATAインタフェース(ATA I/F)2などのメモリ接続インタフェースなどを備えている。SSD100は、ATA I/F2を介してパーソナルコンピュータあるいはCPUコアなどのホスト装置(以下、ホストと略す)1と接続され、ホスト1の外部メモリとして機能する。
・LBAと論理ブロックの対応関係の管理
・DRAM20からNANDメモリ10へのデータ書き込み制御
・NANDメモリ10からDRAM20へのデータ読み出し制御
・NANDメモリ10内のユーザデータの整理
などを実行する。
・フリーブロック、バッドブロック、アクティブブロックの管理
・論理ブロックと物理ブロックの対応の管理
・物理的エラーの管理
・ウェアレベリング、リフレッシュの実行
・不揮発情報(スナップショット、ログ)の管理
NANDコントローラ113の制御
などを実行する。
図9は、SSD100を搭載したパーソナルコンピュータ1200の一例を示す斜視図である。パーソナルコンピュータ1200は、本体1201、及び表示ユニット1202を備えている。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204とを備えている。
Claims (5)
- 揮発性の第1の記憶部と、不揮発性の第2の記憶部と、前記第1の記憶部を介してホスト装置と前記第2の記憶部との間のデータ転送を行うコントローラとを備えるメモリシステムにおいて、
前記第2の記憶部には、前記第2の記憶部でのデータを管理するための第1および第2の管理テーブルが記憶され、
前記コントローラは、
前記第2の記憶部に記憶された第1および第2の管理テーブルを起動時にマスターテーブルとして前記第1の記憶部に転送するテーブル転送手段と、
前記マスターテーブルにおける第1の管理テーブルを更新すべき事象が発生した際、第1の管理テーブルの更新情報を第1ログとして第1の記憶部のログ記憶エリアに蓄積記録し、前記マスターテーブルにおける第2の管理テーブルを更新すべき事象が発生した際、第2の管理テーブルの更新情報を第2ログとして第1の記憶部のログ記憶エリアに蓄積記録するとともに、前記マスターテーブルにおける第2の管理テーブルを更新するログ記録手段と、
第1の条件が成立したときに、前記ログ記憶エリアに蓄積記録された第1ログおよび第2ログを前記第2の記憶部に保存するとともに第1ログの内容を前記マスターテーブルにおける第1の管理テーブルに反映するコミット動作を行うログ反映手段と、
第1の条件とは異なる第2の条件が成立したときに、前記マスターテーブルにおける第1および第2の管理テーブルを前記第2の記憶部にスナップショットとして保存するスナップショット保存手段と、
前記ログ記憶エリアに蓄積記録される第2ログが設定値を超える前記第1または第2の条件とは異なる第3の条件が成立したときに、前記ログ記録手段によるログ記憶エリアへの第2ログの記録動作を中止し、第1の条件がつぎに成立したときに、前記ログ反映手段による前記ログ記憶エリアに蓄積記録された第1ログおよび第2ログを前記第2の記憶部に保存するコミット動作を禁止し、前記スナップショット保存手段によるスナップショット保存動作を実行させるログ溢れ制御手段と、
を備えることを特徴とするメモリシステム。 - 前記第1の条件は、第1および第2の管理テーブルで管理される管理情報と、第2の記憶部でのデータの状態とが一致している場合を含むことを特徴とする請求項1に記載のメモリシステム。
- 前記第2の条件は、正常な電源断シーケンスが発生した場合、第2の記憶部に記憶される第1および第2ログの量が所定の閾値を越えた場合を含むことを特徴とする請求項1に記載のメモリシステム。
- 前記第2の記憶部は、ページ単位で読み出し及び書き込みが行われ、前記ページ単位の2以上の自然数倍の大きさである物理ブロック単位で消去が行われる不揮発性半導体メモリから構成され、
前記コントローラは、
ホスト装置が使用するセクタ単位のデータと、1以上の前記物理ブロックに対応付けられた論理ブロックとの対応を管理する論理層コントローラと、
前記論理ブロックと物理ブロックとの対応およびバッドブロックを管理する物理層コントローラと、
を有し、
前記第1の管理テーブルには、前記論理層コントローラが管理する論理層管理情報が登録され、
前記第2の管理テーブルには、前記物理層コントローラが管理する物理層管理情報が登録され、
第1ログは、前記論理層管理情報に関するログを含み、前記第2ログは前記物理層管理情報に関するログを含むことを特徴とする請求項1に記載のメモリシステム。 - 前記第1ログは、第1の管理テーブルの更新前後の差分をコピーした差分ログを含み、
前記第2ログは、第2の管理テーブルに関するイベントが発生したことを記録するイベントログを含むことを特徴とする請求項4に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009030297A JP5376983B2 (ja) | 2009-02-12 | 2009-02-12 | メモリシステム |
US12/559,983 US8225058B2 (en) | 2009-02-12 | 2009-09-15 | Memory system managing a size of logs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009030297A JP5376983B2 (ja) | 2009-02-12 | 2009-02-12 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010186340A JP2010186340A (ja) | 2010-08-26 |
JP5376983B2 true JP5376983B2 (ja) | 2013-12-25 |
Family
ID=42541318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009030297A Expired - Fee Related JP5376983B2 (ja) | 2009-02-12 | 2009-02-12 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8225058B2 (ja) |
JP (1) | JP5376983B2 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4675984B2 (ja) * | 2008-02-29 | 2011-04-27 | 株式会社東芝 | メモリシステム |
CN101681316A (zh) * | 2008-03-01 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
JP2010152514A (ja) * | 2008-12-24 | 2010-07-08 | Toshiba Corp | メモリシステム |
JP5317690B2 (ja) * | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP5376983B2 (ja) * | 2009-02-12 | 2013-12-25 | 株式会社東芝 | メモリシステム |
JP2011048725A (ja) * | 2009-08-28 | 2011-03-10 | Panasonic Corp | 不揮発性記憶装置および不揮発性メモリコントローラ |
US8219746B2 (en) * | 2009-10-08 | 2012-07-10 | International Business Machines Corporation | Memory package utilizing at least two types of memories |
US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
JP5238768B2 (ja) * | 2010-07-27 | 2013-07-17 | 株式会社日立アドバンストデジタル | 記憶制御装置およびデータ処理システム |
IL208641A0 (en) * | 2010-10-12 | 2010-12-30 | Eci Telecom Ltd | Method for accelerating start up of a computerized system |
JP2012128643A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP2012128816A (ja) * | 2010-12-17 | 2012-07-05 | Toshiba Corp | メモリシステム |
US8751758B2 (en) * | 2011-07-01 | 2014-06-10 | International Business Machines Corporation | Delayed instant copy operation for short-lived snapshots |
US8959416B1 (en) * | 2011-12-16 | 2015-02-17 | Western Digital Technologies, Inc. | Memory defect management using signature identification |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9223805B2 (en) * | 2012-01-30 | 2015-12-29 | Memsql, Inc. | Durability implementation plan in an in-memory database system |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
JP5813589B2 (ja) * | 2012-07-13 | 2015-11-17 | 株式会社東芝 | メモリシステムおよびその制御方法 |
JP6056453B2 (ja) * | 2012-12-20 | 2017-01-11 | 富士通株式会社 | プログラム、データ管理方法および情報処理装置 |
US9600514B2 (en) | 2013-09-09 | 2017-03-21 | VoltDB, Inc. | Methods and systems for detecting data divergence and inconsistency across replicas of data within a shared-nothing distributed database |
US10176240B2 (en) | 2013-09-12 | 2019-01-08 | VoltDB, Inc. | Methods and systems for real-time transactional database transformation |
US9639571B2 (en) | 2013-12-30 | 2017-05-02 | VoltDB, Inc. | Methods and systems for increasing capacity and performing data rebalancing without downtime to a distributed shared-nothing database with serializable isolation |
US9251064B2 (en) | 2014-01-08 | 2016-02-02 | Netapp, Inc. | NVRAM caching and logging in a storage system |
US9152330B2 (en) | 2014-01-09 | 2015-10-06 | Netapp, Inc. | NVRAM data organization using self-describing entities for predictable recovery after power-loss |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
US9671960B2 (en) | 2014-09-12 | 2017-06-06 | Netapp, Inc. | Rate matching technique for balancing segment cleaning and I/O workload |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US9720601B2 (en) | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
JP5982025B1 (ja) * | 2015-02-27 | 2016-08-31 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置およびメモリー管理プログラム |
US9762460B2 (en) | 2015-03-24 | 2017-09-12 | Netapp, Inc. | Providing continuous context for operational information of a storage system |
US9710317B2 (en) | 2015-03-30 | 2017-07-18 | Netapp, Inc. | Methods to identify, handle and recover from suspect SSDS in a clustered flash array |
US9740566B2 (en) | 2015-07-31 | 2017-08-22 | Netapp, Inc. | Snapshot creation workflow |
US20170097771A1 (en) * | 2015-10-01 | 2017-04-06 | Netapp, Inc. | Transaction log layout for efficient reclamation and recovery |
US9846539B2 (en) | 2016-01-22 | 2017-12-19 | Netapp, Inc. | Recovery from low space condition of an extent store |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
CN109117086B (zh) * | 2018-07-16 | 2021-09-21 | 北京百度网讯科技有限公司 | 存储设备数据位置的处理方法、装置、设备及存储介质 |
CN111475100B (zh) * | 2019-01-23 | 2023-07-14 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3935139B2 (ja) * | 2002-11-29 | 2007-06-20 | 株式会社東芝 | 半導体記憶装置 |
US20050097288A1 (en) * | 2003-10-30 | 2005-05-05 | Richard Holzmann | System and method for monitoring and non-disruptive backup of data in a solid state disk system |
US7814057B2 (en) * | 2005-04-05 | 2010-10-12 | Microsoft Corporation | Page recovery using volume snapshots and logs |
JP2006293834A (ja) * | 2005-04-13 | 2006-10-26 | Hitachi Ltd | 記憶装置システム、ストレージ装置およびログの記録方法 |
JP4675984B2 (ja) * | 2008-02-29 | 2011-04-27 | 株式会社東芝 | メモリシステム |
JP5198245B2 (ja) * | 2008-12-27 | 2013-05-15 | 株式会社東芝 | メモリシステム |
JP5376983B2 (ja) * | 2009-02-12 | 2013-12-25 | 株式会社東芝 | メモリシステム |
-
2009
- 2009-02-12 JP JP2009030297A patent/JP5376983B2/ja not_active Expired - Fee Related
- 2009-09-15 US US12/559,983 patent/US8225058B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20100205353A1 (en) | 2010-08-12 |
US8225058B2 (en) | 2012-07-17 |
JP2010186340A (ja) | 2010-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5376983B2 (ja) | メモリシステム | |
JP5198245B2 (ja) | メモリシステム | |
JP5317690B2 (ja) | メモリシステム | |
JP5317689B2 (ja) | メモリシステム | |
US20200034304A1 (en) | Techniques to perform power fail-safe caching without atomic metadata | |
US8868842B2 (en) | Memory system, method of controlling memory system, and information processing apparatus | |
TWI385523B (zh) | 用於快閃記憶體的資料備份方法及其控制器與儲存系統 | |
TWI419161B (zh) | 儲存管理資訊之記憶體系統及控制其之方法 | |
US8706988B2 (en) | Memory system | |
KR101552207B1 (ko) | 예비 영역을 가지는 반도체 메모리 장치 | |
US20090222636A1 (en) | Memory system and memory initializing method | |
US8108594B2 (en) | Memory system | |
CN109144899B (zh) | 用于管理表恢复的方法 | |
JP2010186341A (ja) | メモリシステム | |
JP2012128645A (ja) | メモリシステム | |
JP2013174976A (ja) | メモリシステムおよび制御プログラムの更新方法 | |
JP2013174977A (ja) | メモリシステムおよびポインタ情報の更新方法 | |
Firmware et al. | A Beginner’s Guide to SSD Firmware | |
JP2009211213A (ja) | メモリシステム | |
JP2009211218A (ja) | メモリシステムおよび瞬断判定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130325 |
|
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: 20130827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130924 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5376983 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |