RU2010112956A - Способ оптимизации твердотельного накопителя и оптимизатор - Google Patents

Способ оптимизации твердотельного накопителя и оптимизатор Download PDF

Info

Publication number
RU2010112956A
RU2010112956A RU2010112956/08A RU2010112956A RU2010112956A RU 2010112956 A RU2010112956 A RU 2010112956A RU 2010112956/08 A RU2010112956/08 A RU 2010112956/08A RU 2010112956 A RU2010112956 A RU 2010112956A RU 2010112956 A RU2010112956 A RU 2010112956A
Authority
RU
Russia
Prior art keywords
ssd
threshold
free space
fragment
fragment size
Prior art date
Application number
RU2010112956/08A
Other languages
English (en)
Other versions
RU2479013C2 (ru
Inventor
Бэсил ТОМАС (US)
Бэсил ТОМАС
Крейг ДЖЕНСЕН (US)
Крейг ДЖЕНСЕН
Эндрю СТАФФЕР (US)
Эндрю СТАФФЕР
Сантош РАМАНКУТТИ (US)
Сантош РАМАНКУТТИ
Original Assignee
Дискипер Корпорейшн (Us)
Дискипер Корпорейшн
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Дискипер Корпорейшн (Us), Дискипер Корпорейшн filed Critical Дискипер Корпорейшн (Us)
Publication of RU2010112956A publication Critical patent/RU2010112956A/ru
Application granted granted Critical
Publication of RU2479013C2 publication Critical patent/RU2479013C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Abstract

1. Способ оптимизации твердотельного накопителя, содержащий следующие стадии: ! получение порогового размера фрагмента, в котором пороговый размер фрагмента вычисляется на основании, по меньшей мере, одной или нескольких скоростей последовательной записи твердотельного накопителя (SSD) или скорости ввода-вывода (I/O) в/из SSD в секунду; ! определение, является ли фрагмент свободного пространства на диске SSD меньше порогового размера фрагмента; ! если фрагмент свободного пространства на диске SSD меньше порогового размера фрагмента, удаление фрагмента свободного пространства; и ! если фрагмент свободного пространства на диске SSD не меньше порогового размера фрагмента, фрагмент свободного пространства используется для хранения данных. ! 2. Способ по п.1, в котором пороговый размер фрагмента вычисляется на основании, по меньшей мере, скорости последовательной записи SSD. ! 3. Способ по п.1, в котором пороговый размер фрагмента вычисляется, используя одну или несколько стадий, включающих деление скорости последовательной записи SSD на скорость ввода-вывода SSD в секунду. ! 4. Способ по п.1, в котором удаление фрагмента свободного пространства содержит: ! определение, когда использование одного или нескольких ресурсов, требуемых для удаления фрагмента свободного пространства, отвечает критериям бездействия; и ! отклик на использование одного или некоторого количества ресурсов, отвечающих критериям бездействия, для удаления фрагмента свободного пространства. ! 5. Способ по п.1, в котором удаление фрагмента свободного пространства содержит: ! наполнение фрагмента свободного пространства, по меньшей мере, частью файла. ! 6. Спо

Claims (17)

1. Способ оптимизации твердотельного накопителя, содержащий следующие стадии:
получение порогового размера фрагмента, в котором пороговый размер фрагмента вычисляется на основании, по меньшей мере, одной или нескольких скоростей последовательной записи твердотельного накопителя (SSD) или скорости ввода-вывода (I/O) в/из SSD в секунду;
определение, является ли фрагмент свободного пространства на диске SSD меньше порогового размера фрагмента;
если фрагмент свободного пространства на диске SSD меньше порогового размера фрагмента, удаление фрагмента свободного пространства; и
если фрагмент свободного пространства на диске SSD не меньше порогового размера фрагмента, фрагмент свободного пространства используется для хранения данных.
2. Способ по п.1, в котором пороговый размер фрагмента вычисляется на основании, по меньшей мере, скорости последовательной записи SSD.
3. Способ по п.1, в котором пороговый размер фрагмента вычисляется, используя одну или несколько стадий, включающих деление скорости последовательной записи SSD на скорость ввода-вывода SSD в секунду.
4. Способ по п.1, в котором удаление фрагмента свободного пространства содержит:
определение, когда использование одного или нескольких ресурсов, требуемых для удаления фрагмента свободного пространства, отвечает критериям бездействия; и
отклик на использование одного или некоторого количества ресурсов, отвечающих критериям бездействия, для удаления фрагмента свободного пространства.
5. Способ по п.1, в котором удаление фрагмента свободного пространства содержит:
наполнение фрагмента свободного пространства, по меньшей мере, частью файла.
6. Способ по п.5, в котором файл представляет собой один или несколько:
временных файлов наполнителя или
редко используемый файл.
7. Способ по п.1, в котором пороговый размер фрагмента вычисляется на основании, по меньшей мере, скорости ввода-вывода в/из SSD в секунду.
8. Способ по п.1, в котором пороговый размер фрагмента определяется путем:
получения порогового размера фрагмента от пользователя;
вычисления порогового размера фрагмента;
получения порогового размера фрагмента от аппаратно зашитого элемента в SSD;
определения порогового размера фрагмента, проверяя различные значения порогового размера фрагмента и выбирая пороговый размер фрагмента, обеспечивающий оптимальные рабочие характеристики.
9. Оптимизатор твердотельного накопителя (SSD), содержащий:
средство для получения порогового размера фрагмента, в котором пороговый размер фрагмента вычисляется на основании, по меньшей мере, одной или нескольких скоростей последовательной записи SSD или скорости ввода-вывода (I/O) в/из SSD в секунду;
средство для определения, является ли фрагмент свободного пространства на диске SSD меньше порогового размера фрагмента;
средство для удаления фрагмента свободного пространства, если фрагмент свободного пространства на диске SSD меньше порогового размера фрагмента; и
средство для сохранения фрагмента свободного пространства для хранения данных, если фрагмент свободного пространства на диске SSD не меньше порогового размера фрагмента.
10. Оптимизатор SSD по п.9, дополнительно содержащий средство для вычисления порогового размера фрагмента на основании, по меньшей мере, скорости последовательное записи SSD.
11. Оптимизатор SSD по п.9, дополнительно содержащий средство для вычисления порогового размера фрагмента, сконфигурированный для определения порогового размера фрагмента путем деления, по меньшей мере, скорости последовательной записи SSD на скорость ввода-вывода SSD.
12. Оптимизатор SSD по п.9, в котором средство для удаления фрагмента свободного пространства содержит:
средство для определения, когда использование одного или нескольких ресурсов, требуемых для удаления фрагмента свободного пространства, отвечает критериям бездействия.
13. Оптимизатор SSD по п.9, в котором средство для удаления фрагмента свободного пространства содержит:
средство для заполнения фрагмента свободного пространства, по меньшей мере, частью файла.
14. Оптимизатор SSD по п.13, в котором файл представляет собой один или несколько:
временных файлов наполнителя или
редко используемый файл.
15. Оптимизатор SSD по п.9, дополнительно содержащий средство для вычисления порогового размера фрагмента на основании, по меньшей мере, скорости ввода-вывода SSD в секунду.
16. Оптимизатор SSD по п.9, в котором средство для получения пороговых фрагментов дополнительно содержит:
средство для получения порогового размера фрагмента от пользователя;
средство для получения порогового размера фрагмента от аппаратно зашитого элемента в SSD или
средство для определения порогового размера фрагмента, проверяя различные значения порогового фрагмента,
и выбор порогового размера фрагмента, обеспечивающий оптимальные рабочие характеристики.
17. Машиносчитываемый носитель данных, содержащий одну или несколько последовательностей команд, при выполнении которых одним или несколькими процессорами процессоры реализуют способ, согласно любому из пп.1-8.
RU2010112956/08A 2007-10-05 2008-10-03 Способ оптимизации твердотельного накопителя и оптимизатор RU2479013C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US97808607P 2007-10-05 2007-10-05
US60/978,086 2007-10-05
PCT/US2008/078823 WO2009046353A1 (en) 2007-10-05 2008-10-03 Solid state drive optimizer

Publications (2)

Publication Number Publication Date
RU2010112956A true RU2010112956A (ru) 2011-10-10
RU2479013C2 RU2479013C2 (ru) 2013-04-10

Family

ID=40097481

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010112956/08A RU2479013C2 (ru) 2007-10-05 2008-10-03 Способ оптимизации твердотельного накопителя и оптимизатор

Country Status (10)

Country Link
US (1) US8086819B2 (ru)
EP (1) EP2195730A1 (ru)
JP (1) JP2010541107A (ru)
KR (1) KR20100071063A (ru)
CN (1) CN102203717A (ru)
AU (1) AU2008308549B9 (ru)
CA (1) CA2700872A1 (ru)
RU (1) RU2479013C2 (ru)
TW (1) TW200937276A (ru)
WO (1) WO2009046353A1 (ru)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875033B2 (en) * 2009-05-12 2018-01-23 International Business Machines Corporation Apparatus and method for minimizing data storage media fragmentation
US8285955B2 (en) * 2009-10-16 2012-10-09 Lenovo (Singapore) Pte. Ltd. Method and apparatus for automatic solid state drive performance recovery
KR101638061B1 (ko) * 2009-10-27 2016-07-08 삼성전자주식회사 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
US8638010B2 (en) * 2010-02-17 2014-01-28 Integrated Device Technology, Inc. Systems, devices, and methods for providing backup power to a load
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices
US8615640B2 (en) 2011-03-17 2013-12-24 Lsi Corporation System and method to efficiently schedule and/or commit write data to flash based SSDs attached to an array controller
US8639900B2 (en) * 2011-05-25 2014-01-28 International Business Machines Corporation Defragmentation of data storage pools
JP5579135B2 (ja) * 2011-07-29 2014-08-27 株式会社東芝 データ記憶装置、メモリ制御装置及びメモリ制御方法
US9026503B2 (en) * 2012-02-29 2015-05-05 Netapp, Inc. Fragmentation control for performing deduplication operations
US8990477B2 (en) * 2012-04-19 2015-03-24 Sandisk Technologies Inc. System and method for limiting fragmentation
US9218281B2 (en) 2012-05-04 2015-12-22 Seagate Technology Llc Maintaining ordering via a multi-level map of a solid-state media
US9443591B2 (en) 2013-01-23 2016-09-13 Seagate Technology Llc Storage device out-of-space handling
US8918583B2 (en) * 2012-12-20 2014-12-23 Virtium Technology, Inc. Adapting behavior of solid-state drive using real usage model
US20140359196A1 (en) * 2013-05-31 2014-12-04 Daniel J. Ragland On-the-fly performance adjustment for solid state storage devices
CN103631940B (zh) * 2013-12-09 2017-02-08 中国联合网络通信集团有限公司 一种应用于hbase数据库的数据写入方法及系统
JP6289128B2 (ja) * 2014-01-30 2018-03-07 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US10621041B2 (en) * 2016-03-25 2020-04-14 Intel Corporation Methods and apparatus to assign indices and relocate object fragments in distributed storage systems
US9747106B1 (en) * 2016-09-30 2017-08-29 International Business Machines Corporation Allocating multiple operand data areas of a computer instruction within a program buffer
US11029856B2 (en) * 2018-03-02 2021-06-08 Qualcomm Incorporated Flash memory device with data fragment function
TWI687921B (zh) * 2019-02-01 2020-03-11 宏碁股份有限公司 主機、疊瓦式磁記錄硬碟及其運作方法
US11520663B2 (en) * 2019-09-04 2022-12-06 Waters Technologies Ireland Limited Techniques for analytical application installation optimization

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675790A (en) * 1993-04-23 1997-10-07 Walls; Keith G. Method for improving the performance of dynamic memory allocation by removing small memory fragments from the memory pool
US6330583B1 (en) 1994-09-09 2001-12-11 Martin Reiffin Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks
JP4110593B2 (ja) * 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
US5987479A (en) * 1997-09-24 1999-11-16 Sony Corporation, Inc. Large block allocation for disk-based file systems
US6226728B1 (en) * 1998-04-21 2001-05-01 Intel Corporation Dynamic allocation for efficient management of variable sized data within a nonvolatile memory
US7268774B2 (en) * 1998-08-18 2007-09-11 Candledragon, Inc. Tracking motion of a writing instrument
US6591287B1 (en) 1999-09-08 2003-07-08 Lucent Technologies Inc. Method to increase the efficiency of job sequencing from sequential storage
US7096327B2 (en) * 2000-03-24 2006-08-22 Koninklijke Philips Electronics N.V. System for and method of accessing blocks on a storage medium
US7170891B2 (en) * 2001-08-30 2007-01-30 Messenger Terabit Networks, Inc. High speed data classification system
US7076781B2 (en) 2002-05-31 2006-07-11 International Business Machines Corporation Resource reservation for large-scale job scheduling
US7451704B1 (en) * 2003-03-20 2008-11-18 The United States Of America As Represented By The Secretary Of The Army Multifunctional explosive fragmentation airburst munition
RU2280273C2 (ru) * 2003-07-16 2006-07-20 Открытое акционерное общество "Научно-производственное объединение "Прибор" Способ структурирования и записи цифровой информации и устройство для его осуществления
JP2005050192A (ja) * 2003-07-30 2005-02-24 Matsushita Electric Ind Co Ltd 情報記録システム
US20050240934A1 (en) 2004-04-21 2005-10-27 Hewlett-Packard Development Company, L.P. Task management based on system utilization
JP2006113938A (ja) * 2004-10-18 2006-04-27 Ricoh Co Ltd データの再配置方法と追加記録方法およびプログラム
CN101268449B (zh) * 2005-09-22 2012-04-04 松下电器产业株式会社 数据记录装置以及数据记录方法
US20070143759A1 (en) 2005-12-15 2007-06-21 Aysel Ozgur Scheduling and partitioning tasks via architecture-aware feedback information
GB2439577B (en) * 2006-06-30 2011-12-14 Data Equation Ltd Data processing

Also Published As

Publication number Publication date
EP2195730A1 (en) 2010-06-16
CN102203717A (zh) 2011-09-28
RU2479013C2 (ru) 2013-04-10
US20090094433A1 (en) 2009-04-09
US8086819B2 (en) 2011-12-27
TW200937276A (en) 2009-09-01
AU2008308549A2 (en) 2010-06-24
JP2010541107A (ja) 2010-12-24
AU2008308549A1 (en) 2009-04-09
AU2008308549B9 (en) 2012-10-18
KR20100071063A (ko) 2010-06-28
WO2009046353A1 (en) 2009-04-09
CA2700872A1 (en) 2009-04-09
AU2008308549B2 (en) 2012-08-09

Similar Documents

Publication Publication Date Title
RU2010112956A (ru) Способ оптимизации твердотельного накопителя и оптимизатор
US11093502B2 (en) Table partitioning and storage in a database
Lu et al. Wisckey: Separating keys from values in ssd-conscious storage
JP2010541107A5 (ru)
KR101505263B1 (ko) 데이터 중복 제거 방법 및 장치
CN108319654B (zh) 计算系统、冷热数据分离方法及装置、计算机可读存储介质
US10809928B2 (en) Efficient data deduplication leveraging sequential chunks or auxiliary databases
WO2013080464A1 (en) Optimizing migration/copy of de-duplicated data
RU2009129412A (ru) Продление срока службы флэш-памяти
US20100293354A1 (en) Apparatus and method for minimizing data storage media fragmentation
JP2010520568A5 (ru)
CN103019887A (zh) 数据备份方法及装置
CN105224237A (zh) 一种数据存储方法及装置
US9274865B2 (en) Implementing enhanced buffer management for data storage devices
US10282126B2 (en) Information processing apparatus and method for deduplication
CN104516824B (zh) 数据存储系统中的存储管理方法和系统
CN108845768A (zh) 一种数据存储方法、装置、设备及存储介质
US8255406B2 (en) Data management using multi-state bloom filter
CN102982122A (zh) 一种适用于海量存储系统的重复数据删除方法
CN106126731B (zh) 一种获取Elasticsearch分页数据的方法及装置
CN103324699A (zh) 一种适应大数据应用的快速重复数据删除方法
US20100191717A1 (en) Optimization of query processing with top operations
CN103150260A (zh) 重复数据删除方法和装置
US9892004B2 (en) Space efficient persistence of an in-memory table
CN109614045A (zh) 一种元数据落盘方法、装置及相关设备

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20131004