JP2001504971A - データ・ブロックを圧縮するメモリ管理 - Google Patents
データ・ブロックを圧縮するメモリ管理Info
- Publication number
- JP2001504971A JP2001504971A JP51409599A JP51409599A JP2001504971A JP 2001504971 A JP2001504971 A JP 2001504971A JP 51409599 A JP51409599 A JP 51409599A JP 51409599 A JP51409599 A JP 51409599A JP 2001504971 A JP2001504971 A JP 2001504971A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- blocks
- memory
- free
- 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.)
- Ceased
Links
- 230000015654 memory Effects 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000007906 compression Methods 0.000 claims abstract description 25
- 230000006835 compression Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004581 coalescence Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001279686 Allium moly Species 0.000 description 1
- 241000286819 Malo Species 0.000 description 1
- 241000555745 Sciuridae Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010971 suitability test Methods 0.000 description 1
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/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time 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/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/0253—Garbage collection, i.e. reclamation of unreferenced 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (1)
- 【特許請求の範囲】 1. 固定サイズ・メモリ内で空きブロックが点在するデータ・ブロックの形態 で格納されたデータの管理方法であって、圧縮手順が定期的に適用され、そ の間に前記メモリ内の空きブロックの連続性の程度を増加させるように、前 記データ・ブロックを移動させるデータの管理方法において、前記データ・ ブロックのいくつかは、メモリ位置内に固定されていてかつ前記圧縮手順に より移動されず、そして残りのブロックは、空きブロックの位置がそのブロ ックに対し利用可能であるか否かを決定するために順番にテストされ、ある 空きブロックが、前記データ・ブロック・サイズに等しいかまたはそれより 大で、かつ前記元のデータ・ブロックの位置に隣接する如何なる空きブロッ クのサイズに加えられても、前記データ・ブロックのサイズに等しいかまた はそれより小である場合、そのデータ・ブロックは、空きブロックに移動さ れることを特徴とする、格納されたデータの管理方法。 2. 少なくとも1個の空きブロックが隣接していない如何なるデータ・ブロッ クも、メモリ位置内で固定されているものとして扱う請求項1に記載の方法 。 3. データ・ブロックの移動後、前記新しいデータ・ブロック位置に先行する 前記ブロックが、空きブロックであるか否かを決定し、かつ空きブロックで ある場合には、前記データ・ブロックを下に前記先行空きブロックの位置ま で移動させるステップを、さらに、有する請求項1に記載の方法。 4. 当該先行空きブロックが、当該データ・ブロックより小である場合には、 データ・ブロックを先行空きブロックの位置まで下に移動させない請求項3 に記載の方法。 5. 空きブロックが点在する複数のデータ・オブジェクトを含むランダム・ア クセス・メモリに結合されたデータ・プロセッサを有するデータ処理装置で あって、各当該データ・オブジェクトと空きブロックとが前記メモリ内で各 々既知の位置に在り、圧縮手順を定期的に適用させ、その間に空き ブロックの連続性の程度を増加させるように、前記データ・ブロックの少な くともいくつかが前記メモリ内に再配置されるように構成されているデータ 処理装置において、前記データ・ブロックのいくつかがメモリ位置内に固定 されていて、前記装置が、固定されたブロックを識別しかつそれらを前記圧 縮手順から排除するすることが出来る手段と、前記残りのデータ・ブロック の各々に対し、空きブロックの位置が、全体的な分布を改良するためにその ブロックに対し利用可能であるか否かを、決定するように構成されているサ ーチ手段とを有し、前記空きブロックが、前記データ・ブロック・サイズに 等しいかまたはそれより大で、かつ前記元のデータ・ブロックの位置に隣接 する如何なる空きブロックのサイズに加えられても、前記データ・ブロック のサイズ以下である場合、当該サーチ手段が、データ・ブロックを空きブロ ックに移動させることを特徴とするデータ処理装置。 6. 前記サーチ手段に結合されていて、かつ前記ランダム・アクセス・メモリ 内の空きブロックの各サイズに対し、少なくとも1個の空きブロックのラン ダム・アクセス・メモリのアドレスを保持する、空きブロックメモリを有す る請求項5に記載の装置。 7. 共通のサイズのすべての空きブロックのアドレスを、前記空きブロックメ モリ内にリンクされたリストとして格納する請求項6に記載の装置。 8. 前記リンクされたリストのエントリが、前記リスト・ヘッダを形成する最 も低いランダム・アクセス・メモリのアドレスから最も高いアドレスの順に 格納されている請求項7に記載の装置。 9. 前記リスト・ヘッダが、バイナリ・ツリー構造のノードとして空きブロッ クのメモリ内で参照され、前記サーチ手段が、選択されたサイズの空きブロ ックを識別するために、当該ツリー構造を調査するように構成されている請 求項8に記載の装置。 10.前記空きブロックのメモリが、各々が、空きブロック・サイズの異なった 範囲を参照する複数の当該バイナリ・ツリー構造と、各バイナリ・ツリーの ヘッダ・ノードの当該空きブロックのメモリの位置を識別するヘッ ダ・アレイとを有している請求項9に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9717718.2 | 1997-08-22 | ||
GBGB9717718.2A GB9717718D0 (en) | 1997-08-22 | 1997-08-22 | Memory management with compaction of data blocks |
PCT/IB1998/001088 WO1999010812A1 (en) | 1997-08-22 | 1998-07-16 | Memory management with compaction of data blocks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001504971A true JP2001504971A (ja) | 2001-04-10 |
Family
ID=10817823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51409599A Ceased JP2001504971A (ja) | 1997-08-22 | 1998-07-16 | データ・ブロックを圧縮するメモリ管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6237072B1 (ja) |
EP (1) | EP0934564A1 (ja) |
JP (1) | JP2001504971A (ja) |
KR (1) | KR100528278B1 (ja) |
GB (1) | GB9717718D0 (ja) |
WO (1) | WO1999010812A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007531114A (ja) * | 2004-03-26 | 2007-11-01 | キョウセラ ワイヤレス コープ. | メモリ割り当てのためのフックした複製値を有するバイナリサーチツリー |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434714B1 (en) | 1999-02-04 | 2002-08-13 | Sun Microsystems, Inc. | Methods, systems, and articles of manufacture for analyzing performance of application programs |
US6378066B1 (en) | 1999-02-04 | 2002-04-23 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications |
US6934795B2 (en) * | 1999-09-23 | 2005-08-23 | Netlogic Microsystems, Inc. | Content addressable memory with programmable word width and programmable priority |
US7035989B1 (en) * | 2000-02-16 | 2006-04-25 | Sun Microsystems, Inc. | Adaptive memory allocation |
US6546359B1 (en) | 2000-04-24 | 2003-04-08 | Sun Microsystems, Inc. | Method and apparatus for multiplexing hardware performance indicators |
US6629227B1 (en) * | 2000-05-04 | 2003-09-30 | Scientific-Atlanta, Inc. | System and method for a communication terminal to manage memory and maintain a current application version for multiple applications |
US6877081B2 (en) * | 2001-02-13 | 2005-04-05 | International Business Machines Corporation | System and method for managing memory compression transparent to an operating system |
KR100451179B1 (ko) * | 2001-11-24 | 2004-10-02 | 엘지전자 주식회사 | 휴대폰의 메모리 관리방법 |
WO2003085527A1 (fr) * | 2002-04-09 | 2003-10-16 | Matsushita Electric Industrial Co., Ltd. | Systeme de notification d'arrivee de courrier et appareil de distribution de courrier |
KR100503066B1 (ko) * | 2002-09-14 | 2005-07-21 | 삼성전자주식회사 | 음악 파일 저장 및 재생 장치와 그 방법 |
TW200407704A (en) * | 2002-11-13 | 2004-05-16 | Mediatek Inc | Memory data managing method and allocation thereof |
US6907478B2 (en) * | 2003-02-18 | 2005-06-14 | Adaptec, Inc. | Systems and methods optimizing data transfer throughput of a system on chip |
WO2004083951A1 (en) * | 2003-03-18 | 2004-09-30 | Canon Kabushiki Kaisha | Reflective electrophoretic display device with improved contrast |
US7272698B2 (en) * | 2003-03-19 | 2007-09-18 | Autodesk, Inc. | Heap memory management |
US20060041938A1 (en) * | 2004-08-20 | 2006-02-23 | Axalto Inc. | Method of supporting SSL/TLS protocols in a resource-constrained device |
US7546588B2 (en) * | 2004-09-09 | 2009-06-09 | International Business Machines Corporation | Self-optimizable code with code path selection and efficient memory allocation |
EP1903442A1 (de) * | 2006-09-21 | 2008-03-26 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Automatisierungssystems |
KR100791325B1 (ko) | 2006-10-27 | 2008-01-03 | 삼성전자주식회사 | 비휘발성 메모리를 관리하는 장치 및 방법 |
US8200999B2 (en) * | 2008-08-11 | 2012-06-12 | International Business Machines Corporation | Selective power reduction of memory hardware |
DE102009036095A1 (de) * | 2009-08-04 | 2011-02-10 | Giesecke & Devrient Gmbh | Verfahren zum Verwalten von Speicherressourcen in einem portablen Datenträger |
US8275968B2 (en) * | 2009-11-30 | 2012-09-25 | Red Hat, Inc. | Managing unallocated storage space using extents and bitmaps |
US8521972B1 (en) | 2010-06-30 | 2013-08-27 | Western Digital Technologies, Inc. | System and method for optimizing garbage collection in data storage |
US9189392B1 (en) | 2011-06-30 | 2015-11-17 | Western Digital Technologies, Inc. | Opportunistic defragmentation during garbage collection |
US10754813B1 (en) | 2011-06-30 | 2020-08-25 | Amazon Technologies, Inc. | Methods and apparatus for block storage I/O operations in a storage gateway |
US8639989B1 (en) | 2011-06-30 | 2014-01-28 | Amazon Technologies, Inc. | Methods and apparatus for remote gateway monitoring and diagnostics |
US8832039B1 (en) * | 2011-06-30 | 2014-09-09 | Amazon Technologies, Inc. | Methods and apparatus for data restore and recovery from a remote data store |
US8706834B2 (en) | 2011-06-30 | 2014-04-22 | Amazon Technologies, Inc. | Methods and apparatus for remotely updating executing processes |
US8806588B2 (en) | 2011-06-30 | 2014-08-12 | Amazon Technologies, Inc. | Storage gateway activation process |
US9294564B2 (en) | 2011-06-30 | 2016-03-22 | Amazon Technologies, Inc. | Shadowing storage gateway |
US8639921B1 (en) | 2011-06-30 | 2014-01-28 | Amazon Technologies, Inc. | Storage gateway security model |
US8601134B1 (en) | 2011-06-30 | 2013-12-03 | Amazon Technologies, Inc. | Remote storage gateway management using gateway-initiated connections |
US8793343B1 (en) | 2011-08-18 | 2014-07-29 | Amazon Technologies, Inc. | Redundant storage gateways |
US8789208B1 (en) | 2011-10-04 | 2014-07-22 | Amazon Technologies, Inc. | Methods and apparatus for controlling snapshot exports |
US8819375B1 (en) | 2011-11-30 | 2014-08-26 | Western Digital Technologies, Inc. | Method for selective defragmentation in a data storage device |
US9635132B1 (en) | 2011-12-15 | 2017-04-25 | Amazon Technologies, Inc. | Service and APIs for remote volume-based block storage |
KR101997572B1 (ko) | 2012-06-01 | 2019-07-09 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법 |
US8788778B1 (en) | 2012-06-04 | 2014-07-22 | Western Digital Technologies, Inc. | Garbage collection based on the inactivity level of stored data |
US10235079B2 (en) * | 2016-02-03 | 2019-03-19 | Toshiba Memory Corporation | Cooperative physical defragmentation by a file system and a storage device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4660130A (en) * | 1984-07-24 | 1987-04-21 | Texas Instruments Incorporated | Method for managing virtual memory to separate active and stable memory blocks |
US5109336A (en) * | 1989-04-28 | 1992-04-28 | International Business Machines Corporation | Unified working storage management |
US5479656A (en) * | 1992-05-13 | 1995-12-26 | Rawlings, Iii; Joseph H. | Method and system for maximizing data files stored in a random access memory of a computer file system and optimization therefor |
CA2119788C (en) * | 1992-07-24 | 1996-12-31 | Peter L. Morse | Computer method and system for allocating and freeing memory |
US5623654A (en) * | 1994-08-31 | 1997-04-22 | Texas Instruments Incorporated | Fast fragmentation free memory manager using multiple free block size access table for a free list |
US5604902A (en) * | 1995-02-16 | 1997-02-18 | Hewlett-Packard Company | Hole plugging garbage collection for a data storage system |
US5784699A (en) * | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
US5848423A (en) * | 1997-04-23 | 1998-12-08 | Sun Microsystems, Inc. | Garbage collection system and method for locating root set pointers in method activation records |
-
1997
- 1997-08-22 GB GBGB9717718.2A patent/GB9717718D0/en not_active Ceased
-
1998
- 1998-07-16 EP EP98929600A patent/EP0934564A1/en not_active Withdrawn
- 1998-07-16 WO PCT/IB1998/001088 patent/WO1999010812A1/en not_active Application Discontinuation
- 1998-07-16 JP JP51409599A patent/JP2001504971A/ja not_active Ceased
- 1998-07-16 KR KR10-1999-7003520A patent/KR100528278B1/ko not_active IP Right Cessation
- 1998-08-24 US US09/139,203 patent/US6237072B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007531114A (ja) * | 2004-03-26 | 2007-11-01 | キョウセラ ワイヤレス コープ. | メモリ割り当てのためのフックした複製値を有するバイナリサーチツリー |
Also Published As
Publication number | Publication date |
---|---|
EP0934564A1 (en) | 1999-08-11 |
KR100528278B1 (ko) | 2005-11-15 |
GB9717718D0 (en) | 1997-10-29 |
WO1999010812A1 (en) | 1999-03-04 |
US6237072B1 (en) | 2001-05-22 |
KR20000068817A (ko) | 2000-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001504971A (ja) | データ・ブロックを圧縮するメモリ管理 | |
US8521790B2 (en) | Increasing efficiency of data storage in a file system | |
US6654772B1 (en) | Multi-volume extent based file system | |
AU694386B2 (en) | System and method for locating pages on the world wide web and for locating documents from a network of computers | |
US6567905B2 (en) | Generational garbage collector with persistent object cache | |
US6301646B1 (en) | Pointer verification system and method | |
US8375065B2 (en) | Method for cataloging and storing data in a control system | |
US6928460B2 (en) | Method and apparatus for performing generational garbage collection in a segmented heap | |
EP0993634B1 (en) | Method and apparatus for managing hashed objects | |
US7249235B2 (en) | Architecture for a scalable and user-extensible heap dump analysis tool | |
KR20010007010A (ko) | 컴퓨터 메모리에서 데이터 관리 방법, 장치 및 프로그램제품 | |
US7225314B1 (en) | Automatic conversion of all-zero data storage blocks into file holes | |
US6804761B1 (en) | Memory allocation system and method | |
US20110153677A1 (en) | Apparatus and method for managing index information of high-dimensional data | |
US7991976B2 (en) | Permanent pool memory management method and system | |
JPH0358249A (ja) | フアイルのアクセス方法 | |
EP2531939B1 (en) | Method and system for compressing data records and for processing compressed data records | |
Martin et al. | A case study of caching strategies for a distributed full text retrieval system | |
Hasan et al. | A tunable hybrid memory allocator | |
US7603568B1 (en) | Method and apparatus for self-validating checksums in a file system | |
Botelho et al. | An approach for minimal perfect hash functions for very large databases | |
KR100256678B1 (ko) | 분할 시그너춰 파일을 위한 디렉토리 관리 방법 | |
CN113505101A (zh) | 一种基于vfs的内核文件系统 | |
Karabiber et al. | Dynamic memory allocator algorithms simulation and performance analysis | |
JPH08328946A (ja) | 2次記憶領域の管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050705 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080304 |
|
A313 | Final decision of rejection without a dissenting response from the applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A313 Effective date: 20080805 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090121 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090121 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
A313 | Final decision of rejection without a dissenting response from the applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A313 Effective date: 20090720 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090820 |