JP2008525915A - メモリフラグメンテーションの低減 - Google Patents
メモリフラグメンテーションの低減 Download PDFInfo
- Publication number
- JP2008525915A JP2008525915A JP2007549494A JP2007549494A JP2008525915A JP 2008525915 A JP2008525915 A JP 2008525915A JP 2007549494 A JP2007549494 A JP 2007549494A JP 2007549494 A JP2007549494 A JP 2007549494A JP 2008525915 A JP2008525915 A JP 2008525915A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- firmware
- firmware module
- merging
- computer system
- 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
- 238000013467 fragmentation Methods 0.000 title claims abstract description 48
- 238000006062 fragmentation reaction Methods 0.000 title claims abstract description 48
- 239000012634 fragment Substances 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 14
- 239000000872 buffer Substances 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
Description
Claims (20)
- コンピュータシステムのプレブート段階中にファームウェアモジュールにメモリを割り当て、前記メモリは複数のメモリ形式に基づいて割り当てられ、
メモリのフラグメンテーションを決定し、フラグメントは同じ形式のメモリの連続ブロックを有し、
前記フラグメンテーションが閾値より大きい場合に、前記複数のメモリ形式に基づいて前記ファームウェアモジュールに割り当てられたメモリの少なくとも一部を併合し、
前記コンピュータシステムによりオペレーティングシステムをブートすることを有する方法。 - 前記ファームウェアモジュールに割り当てられたメモリを併合することと、前記オペレーティングシステムをブートすることとの間に、前記コンピュータシステムはリセットされない請求項1に記載の方法。
- 前記ファームウェアモジュールに割り当てられたメモリは、前記ファームウェアモジュールが併合をサポートする場合に併合される請求項1に記載の方法。
- 前記ファームウェアモジュールが併合をサポートする場合に、前記ファームウェアモジュールをディスパッチャに登録することを更に有し、前記ディスパッチャは、併合をサポートするファームウェアモジュールを追跡する請求項3に記載の方法。
- 前記併合は、前記ファームウェアモジュールと前記ディスパッチャとのうち1つにより起動される請求項3に記載の方法。
- 前記ファームウェアモジュールに割り当てられたメモリの少なくとも一部を併合することは、
ファームウェアメモリマネージャにより前記併合を起動し、
前記併合の結果として、前記ファームウェアモジュールの少なくとも一部の新しいメモリ位置を、前記メモリマネージャにより前記ファームウェアモジュールに通知する請求項1に記載の方法。 - 前記複数のメモリ形式は、ACPI(Advanced Configuration and Power Interface)メモリ形式を有する請求項1に記載の方法。
- 前記ファームウェアモジュールに割り当てられたメモリの少なくとも一部を併合することは、前記ファームウェアモジュールによりデータバッファとして使用されるメモリを併合することを有する請求項1に記載の方法。
- 実行されたときに、
コンピュータシステムのプレブート段階中にファームウェアメモリマネージャによりファームウェアモジュールにメモリを割り当て、前記メモリは複数のメモリ形式に基づいて割り当てられ、
フラグメンテーション検索プロトコルを起動し、プレブート・メモリマップにより記述されるメモリのフラグメンテーションを決定し、フラグメントは同じ形式のメモリの連続ブロックを有し、
前記フラグメンテーションが閾値より大きい場合に、併合プロトコルを起動し、前記複数のメモリ形式に基づいて前記ファームウェアモジュールに割り当てられたメモリの少なくとも一部を併合し、
前記コンピュータシステムでオペレーティングシステムをブートすることを有する動作を実行する複数の命令を有する機械アクセス可能媒体を有する製造物。 - 前記併合プロトコルを起動することと、前記オペレーティングシステムをブートすることとの間に、前記コンピュータシステムはリセットされない請求項9に記載の製造物。
- 前記ファームウェアモジュールは、命令部分とデータバッファ部分とを有し、
前記併合プロトコルは、前記データバッファ部分を併合する請求項9に記載の製造物。 - 前記ファームウェアモジュールが前記併合プロトコルをサポートするようにコード化される場合に、前記ファームウェアモジュールに割り当てられたメモリは併合される請求項9に記載の製造物。
- 前記複数の命令の実行は、前記ファームウェアモジュールが前記併合プロトコルをサポートするようにコード化されている場合に、前記ファームウェアモジュールをディスパッチャに登録することを有する動作を更に実行する請求項12に記載の製造物。
- 前記併合プロトコルを起動することは、
前記ファームウェアメモリマネージャにより前記併合プロトコルを起動し、
併合の結果としての前記ファームウェアメモリマネージャによる前記ファームウェアモジュールの少なくとも一部の新しいメモリ位置を、前記ファームウェアモジュールに通知することを有し、
前記ファームウェアメモリマネージャは、前記ファームウェアモジュールから受信したファームウェアモジュールインタフェースを使用して、前記新しいメモリ位置を前記ファームウェアモジュールに通知する請求項9に記載の製造物。 - 前記複数のメモリ形式は、ACPI(Advanced Configuration and Power Interface)メモリ形式を有する請求項9に記載の製造物。
- 前記複数の命令は、実質的にEFI(Extensible Firmware Interface)仕様に準拠する請求項9に記載の製造物。
- プロセッサと、
前記プロセッサに結合されたSDRAM(Synchronized Dynamic Random Access Memory)ユニットと、
前記プロセッサに結合された記憶ユニットと
を有するコンピュータシステムであって、
前記記憶ユニットは、前記プロセッサにより実行されたときに、
前記コンピュータシステムのプレブート段階中にファームウェアモジュールにSDRAMを割り当て、前記SDRAMは複数のACPI(Advanced Configuration and Power Interface)メモリ形式に基づいて割り当てられ、
フラグメンテーション検索プロトコルを起動し、プレブート・メモリマップにより記述された前記SDRAMのフラグメンテーションを決定し、フラグメントは、同じACPIメモリ形式のSDRAMの連続ブロックを有し、
前記フラグメンテーションが閾値より大きい場合に、併合プロトコルを起動し、前記複数のACPIメモリ形式に基づいて前記ファームウェアモジュールに割り当てられたSDRAMの少なくとも一部を併合し、
前記コンピュータシステムでオペレーティングシステムをブートすることを有する動作を前記プロセッサが実行する複数の命令を有するコンピュータシステム。 - 前記併合プロトコルを起動することと、前記オペレーティングシステムをブートすることとの間に、前記コンピュータシステムはリセットされない請求項17に記載のシステム。
- 前記ファームウェアモジュールが前記併合プロトコルをサポートする場合に、前記ファームウェアモジュールに割り当てられたSDRAMは併合される請求項17に記載のシステム。
- 前記併合プロトコルを起動することは、
前記ファームウェアメモリマネージャにより前記併合プロトコルを起動し、
前記併合プロトコルによる前記併合の結果としての前記ファームウェアモジュールの少なくとも一部の新しいメモリ位置を前記ファームウェアモジュールに通知することを有する請求項17に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/027,715 US7278006B2 (en) | 2004-12-30 | 2004-12-30 | Reducing memory fragmentation |
US11/027,715 | 2004-12-30 | ||
PCT/US2005/046576 WO2006073864A1 (en) | 2004-12-30 | 2005-12-21 | Reducing memory fragmentation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011145502A Division JP5167387B2 (ja) | 2004-12-30 | 2011-06-30 | メモリフラグメンテーションの低減 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008525915A true JP2008525915A (ja) | 2008-07-17 |
JP4802197B2 JP4802197B2 (ja) | 2011-10-26 |
Family
ID=36284019
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007549494A Expired - Fee Related JP4802197B2 (ja) | 2004-12-30 | 2005-12-21 | メモリフラグメンテーションの低減 |
JP2011145502A Expired - Fee Related JP5167387B2 (ja) | 2004-12-30 | 2011-06-30 | メモリフラグメンテーションの低減 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011145502A Expired - Fee Related JP5167387B2 (ja) | 2004-12-30 | 2011-06-30 | メモリフラグメンテーションの低減 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7278006B2 (ja) |
EP (1) | EP1839140B1 (ja) |
JP (2) | JP4802197B2 (ja) |
KR (1) | KR100907722B1 (ja) |
CN (1) | CN100583035C (ja) |
WO (1) | WO2006073864A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620769B2 (en) * | 2000-01-06 | 2009-11-17 | Super Talent Electronics, Inc. | Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory |
US20040078539A1 (en) * | 2002-10-18 | 2004-04-22 | Fulghum Patrick W. | De-fragmenting memory by re-booting based on time |
US7702757B2 (en) | 2004-04-07 | 2010-04-20 | Xiotech Corporation | Method, apparatus and program storage device for providing control to a networked storage architecture |
US7278006B2 (en) | 2004-12-30 | 2007-10-02 | Intel Corporation | Reducing memory fragmentation |
KR101355193B1 (ko) * | 2007-12-11 | 2014-01-27 | 삼성전자주식회사 | 실시간 임베디드 시스템의 메모리 관리 장치 및 메모리할당/해제/관리 방법 |
US20100011176A1 (en) * | 2008-07-11 | 2010-01-14 | Burkey Todd R | Performance of binary bulk IO operations on virtual disks by interleaving |
US9792451B2 (en) * | 2011-12-09 | 2017-10-17 | Echarge2 Corporation | System and methods for using cipher objects to protect data |
US12072989B2 (en) | 2011-12-09 | 2024-08-27 | Sertainty Corporation | System and methods for using cipher objects to protect data |
US9811472B2 (en) | 2012-06-14 | 2017-11-07 | International Business Machines Corporation | Radix table translation of memory |
US9753860B2 (en) * | 2012-06-14 | 2017-09-05 | International Business Machines Corporation | Page table entry consolidation |
US9092359B2 (en) * | 2012-06-14 | 2015-07-28 | International Business Machines Corporation | Identification and consolidation of page table entries |
US9292337B2 (en) * | 2013-12-12 | 2016-03-22 | International Business Machines Corporation | Software enabled and disabled coalescing of memory transactions |
US9146774B2 (en) * | 2013-12-12 | 2015-09-29 | International Business Machines Corporation | Coalescing memory transactions |
US9348523B2 (en) * | 2013-12-12 | 2016-05-24 | International Business Machines Corporation | Code optimization to enable and disable coalescing of memory transactions |
US9348522B2 (en) * | 2013-12-12 | 2016-05-24 | International Business Machines Corporation | Software indications and hints for coalescing memory transactions |
KR102586628B1 (ko) | 2015-06-05 | 2023-10-11 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 메모리 관리 방법 |
WO2017152037A1 (en) | 2016-03-04 | 2017-09-08 | 1Usf, Inc. | Systems and methods for media codecs and containers |
US10303487B2 (en) * | 2016-05-18 | 2019-05-28 | Dell Products, L.P. | System and method for booting an information handling system |
US11113188B2 (en) | 2019-08-21 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data preservation using memory aperture flush order |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59146355A (ja) * | 1983-02-09 | 1984-08-22 | Hitachi Ltd | 直接アクセス記憶装置のデ−タセツト再編成方法 |
JPS6362053A (ja) * | 1986-09-03 | 1988-03-18 | Fujitsu Ltd | ガ−ベジコレクシヨン処理方式 |
JPH09231069A (ja) * | 1996-02-22 | 1997-09-05 | Canon Inc | 情報処理方法及び装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963982A (en) * | 1997-07-02 | 1999-10-05 | Webtv Networks, Inc. | Defragmentation of stored data without pointer indirection |
US6324631B1 (en) * | 1999-06-17 | 2001-11-27 | International Business Machines Corporation | Method and system for detecting and coalescing free areas during garbage collection |
US6496913B1 (en) | 2000-02-22 | 2002-12-17 | Hewlett-Packard Company | System and method for detecting and correcting fragmentation on optical storage media |
US6832303B2 (en) * | 2002-01-03 | 2004-12-14 | Hewlett-Packard Development Company, L.P. | Method and system for managing an allocation of a portion of a memory |
US7100009B2 (en) * | 2003-09-18 | 2006-08-29 | International Business Machines Corporation | Method and system for selective memory coalescing across memory heap boundaries |
US7278006B2 (en) | 2004-12-30 | 2007-10-02 | Intel Corporation | Reducing memory fragmentation |
-
2004
- 2004-12-30 US US11/027,715 patent/US7278006B2/en active Active
-
2005
- 2005-12-21 KR KR1020077014867A patent/KR100907722B1/ko not_active IP Right Cessation
- 2005-12-21 WO PCT/US2005/046576 patent/WO2006073864A1/en active Application Filing
- 2005-12-21 CN CN200580044889A patent/CN100583035C/zh not_active Expired - Fee Related
- 2005-12-21 JP JP2007549494A patent/JP4802197B2/ja not_active Expired - Fee Related
- 2005-12-21 EP EP05855182.1A patent/EP1839140B1/en not_active Not-in-force
-
2011
- 2011-06-30 JP JP2011145502A patent/JP5167387B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59146355A (ja) * | 1983-02-09 | 1984-08-22 | Hitachi Ltd | 直接アクセス記憶装置のデ−タセツト再編成方法 |
JPS6362053A (ja) * | 1986-09-03 | 1988-03-18 | Fujitsu Ltd | ガ−ベジコレクシヨン処理方式 |
JPH09231069A (ja) * | 1996-02-22 | 1997-09-05 | Canon Inc | 情報処理方法及び装置 |
Non-Patent Citations (2)
Title |
---|
CSND200401684010, 白崎博生, "「連載 FreeBSDのブートプロセスをみる 7 getmemsize」", UNIX MAGAZINE, 20040501, 2004年5月号(第19巻第5号), 第163〜173頁, JP, 株式会社アスキー * |
CSND200500037007, "「今回の目からウロコ その2 インテルが新BIOS構想? BIOSの問題点と未来」", DOS/V magazine, 20040715, 第13巻第13号(通巻第257号), 第206〜207頁, JP, ソフトバンクパブリッシング(株) * |
Also Published As
Publication number | Publication date |
---|---|
JP2011238265A (ja) | 2011-11-24 |
KR20070086786A (ko) | 2007-08-27 |
US7278006B2 (en) | 2007-10-02 |
WO2006073864A1 (en) | 2006-07-13 |
EP1839140A1 (en) | 2007-10-03 |
CN101088069A (zh) | 2007-12-12 |
CN100583035C (zh) | 2010-01-20 |
EP1839140B1 (en) | 2013-08-07 |
KR100907722B1 (ko) | 2009-07-14 |
JP4802197B2 (ja) | 2011-10-26 |
JP5167387B2 (ja) | 2013-03-21 |
US20060149913A1 (en) | 2006-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5167387B2 (ja) | メモリフラグメンテーションの低減 | |
US7082509B2 (en) | Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time | |
JP4831759B2 (ja) | Dmaアドレス空間を割当てるための方法、システム、およびコンピュータ・プログラム | |
EP2259181A1 (en) | Methods and systems for providing a level of access to a computing device | |
US8539214B1 (en) | Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware | |
US10318460B2 (en) | UMA-aware root bus selection | |
JP5011584B2 (ja) | ハードウェアデバイスをヘテロジニアス処理ユニット間でバインドし移行するためのチップセットサポート | |
US11263019B2 (en) | Method for converting device tree data into ACPI data for edge device operating in a network | |
US7840792B2 (en) | Utilizing hand-off blocks in system management mode to allow independent initialization of SMBASE between PEI and DXE phases | |
JP3327827B2 (ja) | コンピュータ・システム内でバス・アドレスを動的に変換する方法及びシステム | |
US6868507B1 (en) | Operating system independent | |
US7873807B1 (en) | Relocating a program module from NVRAM to RAM during the PEI phase of an EFI-compatible firmware | |
US20050283599A1 (en) | Exposing BIOS information to an ACPI aware operating system | |
US7577814B1 (en) | Firmware memory management | |
US7103767B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
US20040123301A1 (en) | Method and system for minimizing memory access latency in a computer system | |
US6832304B2 (en) | System, method and computer program product for mapping system memory in a multiple node information handling system | |
US10185571B2 (en) | Intelligent UEFI run-time services address space management | |
US8813075B2 (en) | Virtual computer system and method of installing virtual computer system | |
US7240187B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
JP3693240B2 (ja) | 異なる操作モードを利用してアダプタ構成ルーチンを実行する方法およびシステム | |
US11853799B2 (en) | Initialization data memory space allocation system | |
US20090216987A1 (en) | Method and apparatus for allocating host memory for a memory-less add-on devices | |
KR20050079579A (ko) | 컴퓨터 부팅 속도 향상 방법 및 이를 이용한 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110630 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110705 |
|
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: 20110726 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110808 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4802197 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |