JP2016524250A - 複数のアクセスメソッドのためのラッチフリーのログ構造化ストレージ - Google Patents
複数のアクセスメソッドのためのラッチフリーのログ構造化ストレージ Download PDFInfo
- Publication number
- JP2016524250A JP2016524250A JP2016521827A JP2016521827A JP2016524250A JP 2016524250 A JP2016524250 A JP 2016524250A JP 2016521827 A JP2016521827 A JP 2016521827A JP 2016521827 A JP2016521827 A JP 2016521827A JP 2016524250 A JP2016524250 A JP 2016524250A
- Authority
- JP
- Japan
- Prior art keywords
- page
- storage
- data
- manager
- exemplary
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
-
- 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/12—Replacement control
-
- 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/60—Details of cache memory
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Packages (AREA)
- Medical Preparation Storing Or Oral Administration Devices (AREA)
Abstract
Description
ハードウェアプラットフォームの最新の開発は、より高いパフォーマンスをもたらそうとしてマルチコアプロセッサー、多層メモリー階層、ならびにフラッシュなどの二次ストレージデバイスを活用してきた。例えば、中央処理装置(CPU)変更は、マルチコアプロセッサー、ならびに複数のレベルのキャッシングが関与するメインメモリーアクセスを含む。例えば、フラッシュストレージ、ならびに容量を低下させるアップデート・インプレース(update-in-place)を行うハードディスクベンダ認識は、ログ構造化をより多く使用することにつながってきた。例えば、クラウドデータセンターは、システムスケールを増大させ、コモディティハードウェアの使用は、高い利用可能性技法により大きな重きを置く。
本明細書で説明される特徴は、本明細書の説明の趣旨を逸脱することなく、データ処理の分野の業者によって理解され得る多くの異なる方法において実施され得る例示的な実施形態として与えられる。そのような特徴は、例示的な実施形態特徴としてのみ解釈されるべきであり、それらの詳細な説明だけに限定されるものと解釈されることは意図していない。
[0072]例えば、「トランザクション開始」操作が、TBegin(out−TID)として示され得る。例えば、トランザクションID(TID)によって識別されたトランザクションが開始され得る。このことには、TIDを、例示的なLLAMAキャッシュ層(CL)マネージャーによって保持されるアクティブトランザクションテーブル(ATT)に入力することが関与し得る。
LSSに正常にフラッシュされたページは、フラッシュされたものとしてキャッシュ内で即時に見られ、そのページのフラッシュされた状態は、すべての後の状態のフラッシュに先行してLSS I/Oバッファーの中に入っている。フラッシュが失敗したページは、キャッシュ内でフラッシュされたものとして出現せず、LSSを見る際、そのフラッシュが成功しなかったことが明らかとなる。
1)フラッシュの成功が、CASをまず実行することによって確実にされ得る。CASが成功すると、ページが、LSSに書き込まれ得る。例えば、前述のことが行われた場合、競合条件が、信頼できるLSS回復を損なう可能性がある。例えば、より早期のフラッシュに依存するページが、その後、フラッシュされる可能性があり、ただし、この「後の」フラッシュは、システムクラッシュより前にLSSに書き込まれることに成功する一方で、「より早期の」フラッシュは、完了するのが遅すぎ、安定したLSS内に出現しない。この状況は、ある種の因果関係を損なう可能性がある。
2)フラッシュされることが所望されるページのページ状態が、キャプチャされ、LSSバッファーに書き込まれることが可能である。次に、CASが試みられることが可能であり、CASが失敗することが可能である。このため、ページは、システムがクラッシュした場合にそのフラッシュが成功したか、または失敗したかを区別するための指示をまったく伴わずに、LSSに書き込まれる。例えば、様々な時点でLSSに書き込まれた複数のそのようなページが存在し得る。例えば、失敗したCASよりも早期にLSS内に出現するページの後の状態が書き込まれ得る。前述したとおり、その状態は、より後に始まったが、より早期のフラッシュより前にバッファースロットを獲得している。
ステップ1:フラッシュされることが意図されるページの状態を識別する
ステップ2:その状態を書き込むべきLSSバッファー内のスペースを差し押さえる
ステップ3:CASを実行して、そのフラッシュが成功するかどうかを判定する。このことを行うためにフラッシュデルタにおけるLSSオフセットが獲得される(前述のステップ2において規定されるとおり)
ステップ4:ステップ3が成功した場合、保存されるべき状態をLSSに書き込む。この状態がLSSに書き込まれている間、本明細書で説明される例示的なLLAMA技法が、バッファーがLSS二次ストレージに書き込まれるのを防止することが可能である。
ステップ5:ステップ3が失敗した場合、「失敗したフラッシュ」を示す指示をバッファー内の確保されたスペースに書き込む。このことは、ストレージを消費し得るが、いずれのフラッシュが成功したか、または失敗したかについての曖昧さを解決する。
[0190]例えば、エポックマネージャー1160が、第1のプロセッサー操作によってページ情報にアクセスすることに先立って、第1のエポックに関連付けられた第1のエポック登録リスト内に第1のプロセッサー操作を登録することを開始するように構成され得る。例えば、第1のプロセッサー操作は、スレッドであり得る。
本明細書で説明される特徴は、本明細書の説明の趣旨を逸脱することなく、データ処理の分野の業者によって理解され得る多くの異なる様態で実施され得る例示的な実施形態として提供される。そのような特徴は、例示的な実施形態特徴としてのみ解釈されるべきであり、それらの詳細な説明だけに限定されるものと解釈されることは意図していない。
[0206]例えば、図12dの例において、コンペア・アンド・スワップ(CAS)操作を介して、二次ストレージ内のロケーションにキャッシュ層ストレージ内の第1のページをフラッシュする操作が、第2のストレージバッファーの中に第1のページのページ状態をコピーすることを開始すること、そのページ状態の先頭にフラッシュデルタレコードを付加することを開始することであって、そのフラッシュデルタレコードは、二次ストレージ内の第1のページのストレージロケーションと、呼び出し元に関連付けられた注釈とを示す二次ストレージアドレスを含むこと、およびマッピングテーブルの中にフラッシュデルタレコードのアドレスをインストールすることに基づいて、そのページ状態に対するアップデートを開始することに基づいて、開始され得る(1222)。
Claims (10)
- 少なくとも1つのプロセッサーを含むデバイスであって、前記少なくとも1つのプロセッサーによって実行されるようにコンピューター可読記憶媒体上に実体化された命令を備えるデータマネージャーを含むデバイスを備え、
前記データマネージャーは、任意に選択されたページ指向型アクセスメソッドに、ページデータストレージに対するラッチフリーのアクセスを含む前記ページデータストレージに対するインターフェースアクセスをもたらすように構成されたデータ不透明型インターフェースを含む、システム。 - 前記データ不透明型インターフェースは、前記任意に選択されたページ指向型アクセスメソッドに、ページデータストレージに対するログ構造化アクセスを含む前記ページデータストレージに対するインターフェースアクセスをもたらすように構成される請求項1に記載のシステム。
- キャッシュ層マネージャーをさらに備え、前記キャッシュ層マネージャーは、前記データ不透明型インターフェースに関連付けられた間接アドレスマッピングテーブルに対するテーブル操作を開始するように構成されたマップテーブルマネージャーであって、前記テーブル操作は、前記間接アドレスマッピングテーブル内のエントリーに対してアトミック・コンペア・アンド・スワップ操作を開始して、前記ページデータストレージに関連付けられたページのそれまでの状態を、前記ページの新たな状態で置き換えるステップを含むマップテーブルマネージャーを含む請求項1に記載のシステム。
- 前記マップテーブルマネージャーは、前記データ不透明型インターフェースに関連付けられた前記間接アドレスマッピングテーブルに対する前記テーブル操作を開始するように構成され、前記間接アドレスマッピングテーブルは、キャッシュ層ストレージと、二次ストレージとを含むデータストレージの管理のために共通で使用される請求項3に記載のシステム。
- 前記間接アドレスマッピングテーブルは、ページの論理ロケーションを、前記ページの対応する物理ロケーションから分離し、
前記ページデータストレージのユーザーは、前記ページに関する物理ロケーションアドレス値の代わりにページ識別子値を、前記ページデータストレージを参照するデータ構造における別の場所に記憶させる請求項3に記載のシステム。 - 前記間接アドレスマッピングテーブル内のエントリーに対するラッチフリーのコンペア・アンド・スワップ操作を使用して、ページフラッシュからもたらされるログ構造化に関連するページロケーション変更を制御するように構成されたログ構造化ストレージ層マネージャーをさらに備える請求項3に記載のシステム。
- コンペア・アンド・スワップ(CAS)操作を介して、マッピングテーブルの中にフラッシュデルタレコードに対するポインターをインストールするステップに基づいて、二次ストレージにページ状態をフラッシュするように構成されたページマネージャーであって、前記フラッシュデルタレコードは、前記CAS操作を介して前記マッピングテーブルの中で置き換えられる既存のページ状態の先頭に付加されるページマネージャーをさらに備える請求項1に記載のシステム。
- 前記ページマネージャーは、
前記CAS操作が成功したかどうかを判定し、前記CAS操作が成功したと判定された場合、二次ストレージフラッシュバッファーに前記既存のページ状態を書き込む書込み操作を開始するように構成される請求項7に記載のシステム。 - 少なくとも1つのプロセッサーを含むデバイスであって、前記少なくとも1つのプロセッサーによって実行されるようにコンピューター可読記憶媒体上に実体化された命令を備えるデータマネージャーを含むデバイスを備え、
前記データマネージャーは、二次ストレージ内のロケーションにキャッシュ層ストレージ内の第1のページをフラッシュする操作を、
二次ストレージバッファーの中に前記第1のページのページ状態をコピーすることを開始するステップと、
前記ページ状態の先頭にフラッシュデルタレコードを付加することを開始するステップであって、前記フラッシュデルタレコードは、二次ストレージ内の前記第1のページのストレージロケーションと、呼び出し元に関連付けられた注釈とを示す二次ストレージアドレスを含むステップと、
コンペア・アンド・スワップ(CAS)操作を介して、マッピングテーブルの中にフラッシュデルタレコードのアドレスをインストールすることに基づいて前記ページ状態に対するアップデートを開始するステップとに基づいて、開始するように構成されたページマネージャーを含む、システム。 - 少なくとも1つのプロセッサーを含むデバイスであって、前記少なくとも1つのプロセッサーによって実行されるようにコンピューター可読記憶媒体上に実体化された命令を備えるデータマネージャーを含むデバイスを備え、
前記データマネージャーは、二次ストレージ内のロケーションにキャッシュ層ストレージ内の第1のページの一部分をスワップする操作を、前記第1のページに関連付けられたページ状態の先頭に部分的スワップデルタレコードを付加することを開始するステップに基づいて開始するように構成されたページマネージャーであって、前記部分的スワップデルタレコードは、前記第1のページの欠落した部分の二次ストレージ内のロケーションを示すフラッシュデルタレコードのストレージロケーションを示すメインメモリーアドレスを含む、ページマネージャーを含む、システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/924,567 | 2013-06-22 | ||
US13/924,567 US9519591B2 (en) | 2013-06-22 | 2013-06-22 | Latch-free, log-structured storage for multiple access methods |
PCT/US2014/043299 WO2014205298A1 (en) | 2013-06-22 | 2014-06-20 | Latch-free, log-structured storage for multiple access methods |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016524250A true JP2016524250A (ja) | 2016-08-12 |
JP2016524250A5 JP2016524250A5 (ja) | 2017-07-27 |
JP6408568B2 JP6408568B2 (ja) | 2018-10-17 |
Family
ID=51210771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016521827A Expired - Fee Related JP6408568B2 (ja) | 2013-06-22 | 2014-06-20 | 複数のアクセスメソッドのためのラッチフリーのログ構造化ストレージ |
Country Status (11)
Country | Link |
---|---|
US (3) | US9519591B2 (ja) |
EP (1) | EP3011480A1 (ja) |
JP (1) | JP6408568B2 (ja) |
KR (1) | KR20160023871A (ja) |
CN (1) | CN105408895A (ja) |
AU (1) | AU2014281290A1 (ja) |
BR (1) | BR112015031627A2 (ja) |
CA (1) | CA2913589A1 (ja) |
MX (1) | MX352867B (ja) |
RU (1) | RU2672719C2 (ja) |
WO (1) | WO2014205298A1 (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9870066B2 (en) | 2012-03-02 | 2018-01-16 | Microsoft Technology Licensing, Llc | Method of manufacturing an input device |
US9075566B2 (en) | 2012-03-02 | 2015-07-07 | Microsoft Technoogy Licensing, LLC | Flexible hinge spine |
US9064654B2 (en) | 2012-03-02 | 2015-06-23 | Microsoft Technology Licensing, Llc | Method of manufacturing an input device |
US9134807B2 (en) | 2012-03-02 | 2015-09-15 | Microsoft Technology Licensing, Llc | Pressure sensitive key normalization |
US9706089B2 (en) | 2012-03-02 | 2017-07-11 | Microsoft Technology Licensing, Llc | Shifted lens camera for mobile computing devices |
US20130300590A1 (en) | 2012-05-14 | 2013-11-14 | Paul Henry Dietz | Audio Feedback |
US10031556B2 (en) | 2012-06-08 | 2018-07-24 | Microsoft Technology Licensing, Llc | User experience adaptation |
US9519591B2 (en) | 2013-06-22 | 2016-12-13 | Microsoft Technology Licensing, Llc | Latch-free, log-structured storage for multiple access methods |
US10163510B1 (en) * | 2013-08-09 | 2018-12-25 | Ellis Robinson Giles | System and method for atomic persistence in storage class memory |
US10133659B2 (en) * | 2013-11-22 | 2018-11-20 | Sap Se | Proactive memory allocation |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US10013351B2 (en) | 2014-06-27 | 2018-07-03 | International Business Machines Corporation | Transactional execution processor having a co-processor accelerator, both sharing a higher level cache |
US9772944B2 (en) | 2014-06-27 | 2017-09-26 | International Business Machines Corporation | Transactional execution in a multi-processor environment that monitors memory conflicts in a shared cache |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10031934B2 (en) * | 2014-09-30 | 2018-07-24 | International Business Machines Corporation | Deleting tuples using separate transaction identifier storage |
US10255304B2 (en) | 2014-09-30 | 2019-04-09 | International Business Machines Corporation | Removal of garbage data from a database |
US9928264B2 (en) | 2014-10-19 | 2018-03-27 | Microsoft Technology Licensing, Llc | High performance transactions in database management systems |
US9734081B2 (en) * | 2014-12-10 | 2017-08-15 | Advanced Micro Devices, Inc. | Thin provisioning architecture for high seek-time devices |
US10018844B2 (en) | 2015-02-09 | 2018-07-10 | Microsoft Technology Licensing, Llc | Wearable image display system |
CN104881371B (zh) * | 2015-05-29 | 2018-02-09 | 清华大学 | 持久性内存事务处理缓存管理方法与装置 |
US10067960B2 (en) | 2015-06-04 | 2018-09-04 | Microsoft Technology Licensing, Llc | Controlling atomic updates of indexes using hardware transactional memory |
US9971526B1 (en) * | 2015-06-29 | 2018-05-15 | Amazon Technologies, Inc. | Volume-based key-value store |
CN105787135A (zh) * | 2016-04-11 | 2016-07-20 | 久盈世纪(北京)科技有限公司 | 一种用于数据库日志备份的方法与设备 |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
CN106326355B (zh) * | 2016-08-09 | 2019-10-18 | 武汉深之度科技有限公司 | 一种lfs系统中的日志处理方法及装置 |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
WO2018090249A1 (en) | 2016-11-16 | 2018-05-24 | Huawei Technologies Co., Ltd. | Log-structured storage method and server |
US20180239532A1 (en) | 2017-02-23 | 2018-08-23 | Western Digital Technologies, Inc. | Techniques for performing a non-blocking control sync operation |
US10359955B2 (en) * | 2017-02-23 | 2019-07-23 | Western Digital Technologies, Inc. | Data storage device configured to perform a non-blocking control update operation |
CN108509462B (zh) * | 2017-02-28 | 2021-01-29 | 华为技术有限公司 | 一种同步活动事务表的方法及装置 |
US10642821B2 (en) * | 2017-03-17 | 2020-05-05 | Apple Inc. | Elastic data storage system |
US11010401B2 (en) * | 2017-04-25 | 2021-05-18 | Microsoft Technology Licensing, Llc | Efficient snapshot generation of data tables |
FR3077892B1 (fr) * | 2018-02-15 | 2023-12-22 | Idemia | Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page |
US11392570B2 (en) * | 2018-03-09 | 2022-07-19 | Microsoft Technology Licensing, Llc | Key-value store system |
US10445022B1 (en) | 2018-04-26 | 2019-10-15 | Alibaba Group Holding Limited | Optimization of log-structured merge (LSM) tree-based databases using object solid state drive (SSD) devices |
US11288251B2 (en) * | 2018-05-25 | 2022-03-29 | Microsoft Technology Licensing, Llc | Supporting concurrent updates to a database page |
US20200019476A1 (en) * | 2018-07-11 | 2020-01-16 | EMC IP Holding Company LLC | Accelerating Write Performance for Microservices Utilizing a Write-Ahead Log |
CN110888675B (zh) * | 2018-09-11 | 2021-04-06 | 深圳云天励飞技术有限公司 | 硬件系统和电子设备 |
TWI684915B (zh) * | 2018-11-28 | 2020-02-11 | 智微科技股份有限公司 | 記憶體區塊大小判定方法 |
US10521383B1 (en) * | 2018-12-17 | 2019-12-31 | Micron Technology, Inc. | Handling operation collisions in a non-volatile memory |
KR102450133B1 (ko) * | 2019-04-04 | 2022-10-05 | 한국전자통신연구원 | 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법 |
US11151055B2 (en) * | 2019-05-10 | 2021-10-19 | Google Llc | Logging pages accessed from I/O devices |
US11436139B2 (en) | 2019-05-10 | 2022-09-06 | Microsoft Technology Licensing, Llc | Object storage change-events |
US11288140B2 (en) | 2019-08-29 | 2022-03-29 | Microsoft Technology Licensing, Llc | Point in time blob restore |
US10942852B1 (en) * | 2019-09-12 | 2021-03-09 | Advanced New Technologies Co., Ltd. | Log-structured storage systems |
CN111026678B (zh) * | 2019-12-23 | 2021-11-16 | 深圳忆联信息系统有限公司 | 基于固态硬盘的缓存设计方法、装置及计算机设备 |
CN111666290A (zh) * | 2020-05-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 基于人工智能的数据替换方法、装置、计算机设备和介质 |
US11537569B2 (en) | 2020-09-01 | 2022-12-27 | Salesforce.Com, Inc. | Merges using key range data structures |
US11709814B2 (en) | 2020-10-23 | 2023-07-25 | Salesforce, Inc. | Building of tries over sorted keys |
US11816349B2 (en) | 2021-11-03 | 2023-11-14 | Western Digital Technologies, Inc. | Reduce command latency using block pre-erase |
US11995085B2 (en) * | 2022-02-25 | 2024-05-28 | Visa International Service Association | System, method, and computer program product for efficiently storing multi-threaded log data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002524801A (ja) * | 1998-09-08 | 2002-08-06 | オラクル コーポレーション | ユーザ定義データ型のデータ項目を扱うための方法 |
JP2007012061A (ja) * | 2005-06-27 | 2007-01-18 | Seagate Technology Llc | 記憶データ構造用の冗長性 |
US20080065670A1 (en) * | 2001-06-08 | 2008-03-13 | Sap Ag. | Cache-conscious concurrency control scheme for database systems |
US20090240664A1 (en) * | 2008-03-20 | 2009-09-24 | Schooner Information Technology, Inc. | Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory |
US20100191713A1 (en) * | 2009-01-29 | 2010-07-29 | Microsoft Corporation | Unbundled storage transaction services |
JP2010218529A (ja) * | 2009-03-18 | 2010-09-30 | Korea Advanced Inst Of Science & Technol | ページ−ディファレンシャルを使用して、dbmsに独立的な方法でフラッシュメモリーにデータを格納する方法 |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4945474A (en) | 1988-04-08 | 1990-07-31 | Internatinal Business Machines Corporation | Method for restoring a database after I/O error employing write-ahead logging protocols |
US5043866A (en) | 1988-04-08 | 1991-08-27 | International Business Machines Corporation | Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery |
US5123104A (en) | 1988-04-08 | 1992-06-16 | International Business Machines Corporation | Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations |
US5247672A (en) | 1990-02-15 | 1993-09-21 | International Business Machines Corporation | Transaction processing system and method with reduced locking |
US5212788A (en) | 1990-05-22 | 1993-05-18 | Digital Equipment Corporation | System and method for consistent timestamping in distributed computer databases |
EP0465018B1 (en) | 1990-06-29 | 1997-05-14 | Oracle Corporation | Method and apparatus for optimizing undo log usage |
US5317731A (en) | 1991-02-25 | 1994-05-31 | International Business Machines Corporation | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor |
US5440727A (en) | 1991-12-18 | 1995-08-08 | International Business Machines Corporation | Asynchronous replica management in shared nothing architectures |
US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
US5335343A (en) | 1992-07-06 | 1994-08-02 | Digital Equipment Corporation | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force |
US5546579A (en) * | 1994-05-02 | 1996-08-13 | International Business Machines Corporation | Page refreshing procedure using two locking granularities to ensure cache coherency in a multisystem database processing environment having a high-speed shared electronic store |
KR0169420B1 (ko) * | 1995-10-17 | 1999-02-01 | 김광호 | 불 휘발성 반도체 메모리의 데이타 리드 방법 및 그에 따른 회로 |
US5870758A (en) | 1996-03-11 | 1999-02-09 | Oracle Corporation | Method and apparatus for providing isolation levels in a database system |
US5781910A (en) | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
US6052699A (en) * | 1996-12-11 | 2000-04-18 | Lucent Technologies Inc. | Garbage collection without fine-grain synchronization |
US5845292A (en) | 1996-12-16 | 1998-12-01 | Lucent Technologies Inc. | System and method for restoring a distributed checkpointed database |
US5966706A (en) | 1997-02-19 | 1999-10-12 | At&T Corp | Local logging in a distributed database management computer system |
US5870763A (en) | 1997-03-10 | 1999-02-09 | Microsoft Corporation | Database computer system with application recovery and dependency handling read cache |
US6067550A (en) | 1997-03-10 | 2000-05-23 | Microsoft Corporation | Database computer system with application recovery and dependency handling write cache |
US5983015A (en) * | 1997-10-31 | 1999-11-09 | Oracle Corporation | Latch-free sequence generation for high concurrency systems |
WO1999031592A1 (fr) * | 1997-12-16 | 1999-06-24 | Tdk Corporation | Systeme de memoire flash |
US6085200A (en) | 1997-12-23 | 2000-07-04 | Unisys Corporation | System and method for arranging database restoration data for efficient data recovery in transaction processing systems |
US6185699B1 (en) | 1998-01-05 | 2001-02-06 | International Business Machines Corporation | Method and apparatus providing system availability during DBMS restart recovery |
US7941647B2 (en) * | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US6282605B1 (en) * | 1999-04-26 | 2001-08-28 | Moore Computer Consultants, Inc. | File system for non-volatile computer memory |
US6385712B1 (en) * | 1999-10-25 | 2002-05-07 | Ati International Srl | Method and apparatus for segregation of virtual address space |
KR100390853B1 (ko) * | 2000-06-07 | 2003-07-10 | 차상균 | 주 메모리 트랜잭션 처리 시스템에서 병렬적 회복 연산을 위한 디퍼런셜 로깅 방법 및 장치 |
US20020138446A1 (en) | 2000-09-14 | 2002-09-26 | Thierry Antonin | System and method for providing security for financial services terminals with a document driven interface |
KR100832222B1 (ko) * | 2001-06-09 | 2008-05-23 | 자프 아게 | 메인 메모리 데이터베이스 시스템의 색인 구조를 위한캐쉬에 최적화된 동시성 제어방법 |
US7305421B2 (en) * | 2001-07-16 | 2007-12-04 | Sap Ag | Parallelized redo-only logging and recovery for highly available main memory database systems |
CA2370601A1 (en) | 2002-02-05 | 2003-08-05 | Ibm Canada Limited-Ibm Canada Limitee | Optimizing log usage for temporary objects |
CA2384185A1 (en) | 2002-04-29 | 2003-10-29 | Ibm Canada Limited-Ibm Canada Limitee | Resizable cache sensitive hash table |
US7426559B2 (en) | 2002-05-09 | 2008-09-16 | International Business Machines Corporation | Method for sequential coordination of external database application events with asynchronous internal database events |
US7039773B2 (en) | 2003-04-29 | 2006-05-02 | Oracle International Corporation | Method and mechanism for efficient implementation of ordered records |
US7139781B2 (en) * | 2003-04-29 | 2006-11-21 | International Business Machines Corporation | Managing filesystem versions |
US7412460B2 (en) | 2003-06-19 | 2008-08-12 | International Business Machines Corporation | DBMS backup without suspending updates and corresponding recovery using separately stored log and data files |
US7269708B2 (en) * | 2004-04-20 | 2007-09-11 | Rambus Inc. | Memory controller for non-homogenous memory system |
US7383389B1 (en) * | 2004-04-28 | 2008-06-03 | Sybase, Inc. | Cache management system providing improved page latching methodology |
JP2006004031A (ja) | 2004-06-16 | 2006-01-05 | Hitachi Ltd | データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム |
US7822727B1 (en) | 2004-07-02 | 2010-10-26 | Borland Software Corporation | System and methodology for performing read-only transactions in a shared cache |
US8150893B2 (en) | 2004-12-29 | 2012-04-03 | Alcatel Lucent | Method and apparatus for incremental evaluation of schema-directed XML publishing |
US7424499B2 (en) | 2005-01-21 | 2008-09-09 | Microsoft Corporation | Lazy timestamping in transaction time database |
WO2006119323A2 (en) | 2005-05-03 | 2006-11-09 | Palomar Technology, Llc | Trusted monitoring system and method |
US8145686B2 (en) | 2005-05-06 | 2012-03-27 | Microsoft Corporation | Maintenance of link level consistency between database and file system |
US20070130114A1 (en) * | 2005-06-20 | 2007-06-07 | Xiao-Feng Li | Methods and apparatus to optimize processing throughput of data structures in programs |
WO2007059534A2 (en) | 2005-11-17 | 2007-05-24 | 3N1 Solutions, Inc. | Distributed transaction history management system |
JP4839091B2 (ja) | 2006-01-27 | 2011-12-14 | 株式会社日立製作所 | データベース回復方法及び計算機システム |
US7801846B2 (en) | 2006-04-04 | 2010-09-21 | Computer Associates Think, Inc. | Generating log sequence identifiers to apply a transaction to a storage system |
US7475078B2 (en) | 2006-05-30 | 2009-01-06 | Microsoft Corporation | Two-way synchronization of media data |
US8028148B2 (en) * | 2006-09-06 | 2011-09-27 | Microsoft Corporation | Safe and efficient allocation of memory |
US8589341B2 (en) | 2006-12-04 | 2013-11-19 | Sandisk Il Ltd. | Incremental transparent file updating |
US20080313364A1 (en) | 2006-12-06 | 2008-12-18 | David Flynn | Apparatus, system, and method for remote direct memory access to a solid-state storage device |
US7747589B2 (en) | 2007-03-12 | 2010-06-29 | Microsoft Corporation | Transaction time indexing with version compression |
US7873779B2 (en) * | 2007-05-14 | 2011-01-18 | Qualcomm Incorporated | Memory page size auto detection |
US7895151B2 (en) | 2008-06-23 | 2011-02-22 | Teradata Us, Inc. | Fast bulk loading and incremental loading of data into a database |
US8244667B1 (en) | 2007-10-18 | 2012-08-14 | Google Inc. | Querying multidimensional data with independent fact and dimension pipelines combined at query time |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US20100030818A1 (en) | 2008-07-31 | 2010-02-04 | Yahoo! Inc. | System and method for applying once a transaction delivered in a message published asynchronously in a distributed database |
KR20100021868A (ko) * | 2008-08-18 | 2010-02-26 | 삼성전자주식회사 | 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법 |
JP4352156B1 (ja) * | 2008-08-25 | 2009-10-28 | 兵庫県 | 地図情報処理装置、ナビゲーションシステム、およびプログラム |
US8347050B2 (en) * | 2009-01-27 | 2013-01-01 | Microsoft Corporation | Append-based shared persistent storage |
KR101001143B1 (ko) * | 2009-04-30 | 2010-12-17 | 주식회사 하이닉스반도체 | 비휘발성 메모리장치 및 이의 동작방법 |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8595425B2 (en) * | 2009-09-25 | 2013-11-26 | Nvidia Corporation | Configurable cache for multiple clients |
US9235531B2 (en) * | 2010-03-04 | 2016-01-12 | Microsoft Technology Licensing, Llc | Multi-level buffer pool extensions |
US9251214B2 (en) | 2010-04-08 | 2016-02-02 | Microsoft Technology Licensing, Llc | In-memory database system |
US8935487B2 (en) * | 2010-05-05 | 2015-01-13 | Microsoft Corporation | Fast and low-RAM-footprint indexing for data deduplication |
US8930321B2 (en) | 2010-06-30 | 2015-01-06 | Microsoft Corporation | Logical recovery with unbundled transaction services |
US9009125B2 (en) * | 2010-10-13 | 2015-04-14 | International Business Machiness Corporation | Creating and maintaining order of a log stream |
US8819056B2 (en) * | 2010-11-19 | 2014-08-26 | International Business Machines Corporation | Facilitation of search, list, and retrieval operations on persistent data set using distributed shared memory |
US8868514B2 (en) | 2011-01-07 | 2014-10-21 | Microsoft Corporation | Transaction support for distributed data |
US11099982B2 (en) * | 2011-03-31 | 2021-08-24 | Oracle International Corporation | NUMA-aware garbage collection |
US10140208B2 (en) * | 2011-03-31 | 2018-11-27 | Oracle International Corporation | NUMA-aware garbage collection |
US8725782B2 (en) * | 2011-04-25 | 2014-05-13 | Microsoft Corporation | Virtual disk storage techniques |
JP2013033412A (ja) * | 2011-08-03 | 2013-02-14 | Internatl Business Mach Corp <Ibm> | メモリ管理方法、プログラム及びシステム |
US20130110767A1 (en) | 2011-10-26 | 2013-05-02 | Nec Laboratories America, Inc. | Online Transaction Processing |
US9483512B2 (en) * | 2011-11-07 | 2016-11-01 | Sap Se | Columnar database using virtual file data objects |
US9053153B2 (en) | 2012-06-18 | 2015-06-09 | Sap Se | Inter-query parallelization of constraint checking |
US9003162B2 (en) | 2012-06-20 | 2015-04-07 | Microsoft Technology Licensing, Llc | Structuring storage based on latch-free B-trees |
US9635093B2 (en) | 2012-11-28 | 2017-04-25 | Sap Ag | Slave side transaction ID buffering for efficient distributed transaction management |
US9519591B2 (en) | 2013-06-22 | 2016-12-13 | Microsoft Technology Licensing, Llc | Latch-free, log-structured storage for multiple access methods |
US9514211B2 (en) | 2014-07-20 | 2016-12-06 | Microsoft Technology Licensing, Llc | High throughput data modifications using blind update operations |
US9928264B2 (en) | 2014-10-19 | 2018-03-27 | Microsoft Technology Licensing, Llc | High performance transactions in database management systems |
-
2013
- 2013-06-22 US US13/924,567 patent/US9519591B2/en active Active
-
2014
- 2014-06-20 CA CA2913589A patent/CA2913589A1/en not_active Abandoned
- 2014-06-20 AU AU2014281290A patent/AU2014281290A1/en not_active Abandoned
- 2014-06-20 BR BR112015031627A patent/BR112015031627A2/pt not_active Application Discontinuation
- 2014-06-20 CN CN201480035652.7A patent/CN105408895A/zh active Pending
- 2014-06-20 KR KR1020167002031A patent/KR20160023871A/ko not_active Application Discontinuation
- 2014-06-20 RU RU2015154744A patent/RU2672719C2/ru not_active IP Right Cessation
- 2014-06-20 WO PCT/US2014/043299 patent/WO2014205298A1/en active Application Filing
- 2014-06-20 JP JP2016521827A patent/JP6408568B2/ja not_active Expired - Fee Related
- 2014-06-20 EP EP14740034.5A patent/EP3011480A1/en not_active Withdrawn
- 2014-06-20 MX MX2015017630A patent/MX352867B/es active IP Right Grant
-
2016
- 2016-12-07 US US15/372,381 patent/US10216629B2/en active Active
-
2018
- 2018-12-19 US US16/226,466 patent/US11210220B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002524801A (ja) * | 1998-09-08 | 2002-08-06 | オラクル コーポレーション | ユーザ定義データ型のデータ項目を扱うための方法 |
US20080065670A1 (en) * | 2001-06-08 | 2008-03-13 | Sap Ag. | Cache-conscious concurrency control scheme for database systems |
JP2007012061A (ja) * | 2005-06-27 | 2007-01-18 | Seagate Technology Llc | 記憶データ構造用の冗長性 |
US20090240664A1 (en) * | 2008-03-20 | 2009-09-24 | Schooner Information Technology, Inc. | Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory |
US20100191713A1 (en) * | 2009-01-29 | 2010-07-29 | Microsoft Corporation | Unbundled storage transaction services |
JP2010218529A (ja) * | 2009-03-18 | 2010-09-30 | Korea Advanced Inst Of Science & Technol | ページ−ディファレンシャルを使用して、dbmsに独立的な方法でフラッシュメモリーにデータを格納する方法 |
Non-Patent Citations (1)
Title |
---|
JUSTIN J LEVANDOSKI; DAVID B LOMET; SUDIPTA SENGUPTA: "THE BW-TREE: A B-TREE FOR NEW HARDWARE PLATFORMS", DATA ENGINEERING (ICDE), 2013 IEEE 29TH INTERNATIONAL CONFERENCE ON, [ONLINE], JPN5016007700, 8 April 2013 (2013-04-08), pages 302 - 313, XP032430874, ISSN: 0003790243, DOI: 10.1109/ICDE.2013.6544834 * |
Also Published As
Publication number | Publication date |
---|---|
RU2672719C2 (ru) | 2018-11-19 |
MX2015017630A (es) | 2016-04-15 |
JP6408568B2 (ja) | 2018-10-17 |
RU2015154744A (ru) | 2017-06-28 |
CN105408895A (zh) | 2016-03-16 |
US20190146917A1 (en) | 2019-05-16 |
US20140379991A1 (en) | 2014-12-25 |
US10216629B2 (en) | 2019-02-26 |
US20170199818A1 (en) | 2017-07-13 |
KR20160023871A (ko) | 2016-03-03 |
MX352867B (es) | 2017-12-13 |
RU2015154744A3 (ja) | 2018-06-14 |
AU2014281290A1 (en) | 2015-12-17 |
US9519591B2 (en) | 2016-12-13 |
CA2913589A1 (en) | 2014-12-24 |
EP3011480A1 (en) | 2016-04-27 |
US11210220B2 (en) | 2021-12-28 |
BR112015031627A2 (pt) | 2017-07-25 |
WO2014205298A1 (en) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210220B2 (en) | Log-structured storage for data access | |
CN107077495B (zh) | 数据库管理系统中的高性能事务 | |
EP3170106B1 (en) | High throughput data modifications using blind update operations | |
EP3304298B1 (en) | Controlling atomic updates of indexes using hardware transactional memory | |
US9003162B2 (en) | Structuring storage based on latch-free B-trees | |
US10599485B2 (en) | Index structure using atomic multiword update operations | |
Levandoski et al. | LLAMA: A cache/storage subsystem for modern hardware | |
Shukla et al. | Schema-agnostic indexing with Azure DocumentDB | |
EP4028901B1 (en) | A persistent memory file store for directly mapped persistent memory database | |
US10185630B2 (en) | Failure recovery in shared storage operations | |
Forfang | Evaluation of High Performance Key-Value Stores | |
Arulraj et al. | Indexing | |
BR112017005899B1 (pt) | Sistema e método implementado por computador para transações de alto desempenho em sistemas de gerenciamento de banco de dados |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170613 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170613 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180806 |
|
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: 20180822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6408568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |