FR3020885B1 - Systeme et procede de mise en memoire cache des resultats de requete de lecture de dispositif a etat solide - Google Patents

Systeme et procede de mise en memoire cache des resultats de requete de lecture de dispositif a etat solide Download PDF

Info

Publication number
FR3020885B1
FR3020885B1 FR1554092A FR1554092A FR3020885B1 FR 3020885 B1 FR3020885 B1 FR 3020885B1 FR 1554092 A FR1554092 A FR 1554092A FR 1554092 A FR1554092 A FR 1554092A FR 3020885 B1 FR3020885 B1 FR 3020885B1
Authority
FR
France
Prior art keywords
solid state
state device
caching
data segment
request
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.)
Active
Application number
FR1554092A
Other languages
English (en)
Other versions
FR3020885A1 (fr
Inventor
Lee Anton Sendelbach
Jeffrey S. Werning
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
HGST Netherlands BV
Western Digital Technologies Inc
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 HGST Netherlands BV, Western Digital Technologies Inc filed Critical HGST Netherlands BV
Publication of FR3020885A1 publication Critical patent/FR3020885A1/fr
Application granted granted Critical
Publication of FR3020885B1 publication Critical patent/FR3020885B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F3/064Management of blocks
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

La présente invention concerne des techniques de mise en mémoire cache des résultats d'une requête de lecture à un dispositif à état solide. Dans certains modes de réalisation, les techniques peuvent être réalisées comme un procédé de mise en mémoire cache des résultats de requête de lecture de dispositif à état solide comprenant la réception, au niveau d'un dispositif à état solide, d'une requête de données provenant d'un dispositif hébergeur couplé en communication au dispositif à état solide et la récupération, à l'aide d'un dispositif de commande du dispositif à état solide, d'un segment de données compressé provenant du dispositif à état solide en réponse à la requête de données. Les techniques peuvent en outre comprendre la décompression du segment de données compressé, le renvoi, au dispositif hébergeur, d'un bloc de segment de données en réponse à la requête de données et la mise en mémoire cache d'un ou de plusieurs blocs supplémentaires de segment de données dans un tampon de données pour les requêtes de lecture ultérieures.
FR1554092A 2014-05-12 2015-05-07 Systeme et procede de mise en memoire cache des resultats de requete de lecture de dispositif a etat solide Active FR3020885B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14275468 2014-05-12
US14/275,468 US9990298B2 (en) 2014-05-12 2014-05-12 System and method for caching solid state device read request results

Publications (2)

Publication Number Publication Date
FR3020885A1 FR3020885A1 (fr) 2015-11-13
FR3020885B1 true FR3020885B1 (fr) 2019-05-31

Family

ID=53489071

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1554092A Active FR3020885B1 (fr) 2014-05-12 2015-05-07 Systeme et procede de mise en memoire cache des resultats de requete de lecture de dispositif a etat solide

Country Status (4)

Country Link
US (1) US9990298B2 (fr)
DE (1) DE102015005817B4 (fr)
FR (1) FR3020885B1 (fr)
GB (1) GB2528534B (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10503443B2 (en) * 2016-09-13 2019-12-10 Netapp, Inc. Systems and methods for allocating data compression activities in a storage system
US10719462B2 (en) * 2018-09-25 2020-07-21 Intel Corporation Technologies for computational storage via offload kernel extensions
US11537440B2 (en) * 2019-12-19 2022-12-27 Hewlett Packard Enterprise Development Lp Infrastructure adaptive consistency level mechanism
US11360669B2 (en) * 2020-04-01 2022-06-14 Hitachi, Ltd. Storage device accelerator providing aggregation of divided plaintext data
JP7197541B2 (ja) * 2020-04-01 2022-12-27 株式会社日立製作所 ストレージ装置
CN111651396B (zh) * 2020-04-26 2021-08-10 尧云科技(西安)有限公司 一种优化的pcie完成包乱序管理电路实现方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481701A (en) 1991-09-13 1996-01-02 Salient Software, Inc. Method and apparatus for performing direct read of compressed data file
US5778411A (en) * 1995-05-16 1998-07-07 Symbios, Inc. Method for virtual to physical mapping in a mapped compressed virtual storage subsystem
US5946276A (en) * 1996-11-15 1999-08-31 Rimage Corporation Data flow management system for recordable media
US6105080A (en) * 1997-12-30 2000-08-15 Lsi Logic Corporation Host adapter DMA controller with automated host reply capability
US6243767B1 (en) * 1998-06-02 2001-06-05 Adaptec, Inc. System for register partitioning in multi-tasking host adapters by assigning a register set and a unique identifier in each of a plurality of hardware modules
US6889256B1 (en) * 1999-06-11 2005-05-03 Microsoft Corporation System and method for converting and reconverting between file system requests and access requests of a remote transfer protocol
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6952797B1 (en) * 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
SE0004839D0 (sv) * 2000-12-22 2000-12-22 Ericsson Telefon Ab L M Method and communication apparatus in a communication system
US6754735B2 (en) * 2001-12-21 2004-06-22 Agere Systems Inc. Single descriptor scatter gather data transfer to or from a host processor
US6877059B2 (en) * 2002-03-29 2005-04-05 Emc Corporation Communications architecture for a high throughput storage processor
US6795897B2 (en) * 2002-05-15 2004-09-21 International Business Machines Corporation Selective memory controller access path for directory caching
JP4186602B2 (ja) * 2002-12-04 2008-11-26 株式会社日立製作所 ジャーナルログを利用した更新データ書込方法
US7493450B2 (en) * 2003-04-14 2009-02-17 Hewlett-Packard Development Company, L.P. Method of triggering read cache pre-fetch to increase host read throughput
JP2007501473A (ja) * 2003-05-26 2007-01-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置
US6954450B2 (en) * 2003-11-26 2005-10-11 Cisco Technology, Inc. Method and apparatus to provide data streaming over a network connection in a wireless MAC processor
US7522623B2 (en) * 2004-09-01 2009-04-21 Qlogic, Corporation Method and system for efficiently using buffer space
US7392340B1 (en) * 2005-03-21 2008-06-24 Western Digital Technologies, Inc. Disk drive employing stream detection engine to enhance cache management policy
US8407428B2 (en) * 2010-05-20 2013-03-26 Hicamp Systems, Inc. Structured memory coprocessor
US8387073B1 (en) * 2007-03-23 2013-02-26 Qlogic, Corporation Method and system for processing network packets
US7996599B2 (en) * 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US8615496B2 (en) * 2007-10-19 2013-12-24 Apple Inc. File system reliability using journaling on a storage medium
TWI375953B (en) * 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US7966455B2 (en) * 2008-03-04 2011-06-21 International Business Machines Corporation Memory compression implementation in a multi-node server system with directly attached processor memory
US8429351B1 (en) * 2008-03-28 2013-04-23 Emc Corporation Techniques for determining an amount of data to prefetch
US8954654B2 (en) 2008-06-18 2015-02-10 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
US8307044B2 (en) * 2008-08-28 2012-11-06 Netapp, Inc. Circuits, systems, and methods to integrate storage virtualization in a storage controller
US8645337B2 (en) * 2009-04-30 2014-02-04 Oracle International Corporation Storing compression units in relational tables
US8321648B2 (en) * 2009-10-26 2012-11-27 Netapp, Inc Use of similarity hash to route data for improved deduplication in a storage server cluster
US9189385B2 (en) * 2010-03-22 2015-11-17 Seagate Technology Llc Scalable data structures for control and management of non-volatile storage
US20120089781A1 (en) * 2010-10-11 2012-04-12 Sandeep Ranade Mechanism for retrieving compressed data from a storage cloud
US8527693B2 (en) 2010-12-13 2013-09-03 Fusion IO, Inc. Apparatus, system, and method for auto-commit memory
US9497466B2 (en) * 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
WO2012116369A2 (fr) * 2011-02-25 2012-08-30 Fusion-Io, Inc. Appareil, système et procédé de gestion du contenu d'une antémémoire
KR101720101B1 (ko) 2011-03-18 2017-03-28 삼성전자주식회사 메모리 시스템에 데이터를 쓰는 쓰기 방법 및 메모리 시스템의 데이터 쓰기 방법
US8966059B2 (en) * 2011-04-06 2015-02-24 Microsoft Technology Licensing, Llc Cached data detection
KR101833416B1 (ko) * 2011-04-27 2018-04-13 시게이트 테크놀로지 엘엘씨 데이터 리드 방법 및 이를 적용한 저장 장치
WO2013022915A1 (fr) 2011-08-09 2013-02-14 Lsi Corporation Interfonctionnement d'un dispositif e/s et d'un hôte informatique
EP2764516A4 (fr) 2011-10-05 2015-07-08 Lsi Corp Auto-journalisation et cohérence hiérarchique pour stockage non volatil
US20130117744A1 (en) 2011-11-03 2013-05-09 Ocz Technology Group, Inc. Methods and apparatus for providing hypervisor-level acceleration and virtualization services
US8725939B1 (en) * 2011-11-30 2014-05-13 Emc Corporation System and method for improving cache performance
US9251086B2 (en) * 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8687902B2 (en) * 2012-03-29 2014-04-01 Intel Corporation System, method, and computer program product for decompression of block compressed images
US9235346B2 (en) * 2012-05-04 2016-01-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic map pre-fetching for improved sequential reads of a solid-state media
JP5944502B2 (ja) 2012-06-11 2016-07-05 株式会社日立製作所 計算機システム及び制御方法
US20150193342A1 (en) 2012-09-25 2015-07-09 Hitachi, Ltd. Storage apparatus and method of controlling the same
US9400744B2 (en) * 2012-10-30 2016-07-26 Mangstor, Inc. Magnetic random access memory journal for multi-level cell flash memory
US9274951B2 (en) * 2013-05-31 2016-03-01 Altera Corporation Cache memory controller for accelerated data transfer
US20150074355A1 (en) * 2013-09-12 2015-03-12 Lsi Corporation Efficient caching of file system journals
US9110786B2 (en) * 2013-11-07 2015-08-18 Sandisk Technologies Inc. Read operation prior to retrieval of scatter gather list
WO2015121912A1 (fr) * 2014-02-12 2015-08-20 株式会社日立製作所 Dispositif de mémoire de données
US9612833B2 (en) * 2014-02-28 2017-04-04 Intel Corporation Handling compressed data over distributed cache fabric

Also Published As

Publication number Publication date
GB201507569D0 (en) 2015-06-17
FR3020885A1 (fr) 2015-11-13
DE102015005817A1 (de) 2015-11-12
GB2528534A (en) 2016-01-27
US9990298B2 (en) 2018-06-05
US20150324134A1 (en) 2015-11-12
GB2528534B (en) 2017-02-15
DE102015005817B4 (de) 2020-10-29

Similar Documents

Publication Publication Date Title
FR3020885B1 (fr) Systeme et procede de mise en memoire cache des resultats de requete de lecture de dispositif a etat solide
EP2713569A3 (fr) Assurance de localisation physique d'entités partageant des données
BR112016022636A2 (pt) Sistema distribuído de armazenamento, método de gerenciamento de sessão em sistema distribuído de armazenamento, e, meio de armazenamento acessível por computador não transitório
FR3033061B1 (fr) Systeme et procede de copie a l'ecriture sur un ssd
EP3817291A4 (fr) Procédé et dispositif de maintenance de chaîne de blocs, serveur et support d'enregistrement lisible par ordinateur
GB201307556D0 (en) Caching adapted for mobile application behavior and network conditions
CL2018000122A1 (es) Predicción de vistas futuras de segmentos de video para optimizar la utilización de recursos del sistema
EA201791544A1 (ru) Обновление системной информации
EP2933663A3 (fr) Dissémination de données météorologiques
EP2513779A4 (fr) Mécanismes accélérant les transactions par le biais de mémoires tamponnées
EP2592436A3 (fr) Positionnement de dispositif par l'évaluation de données sensibles au dispositif
WO2014117022A3 (fr) Architecture pour partager des historiques de session de navigation
WO2014022555A3 (fr) Systèmes et procédés de référentiel d'images
MX2017016542A (es) Encabezados de derechos de contenido.
BRPI0518185A (pt) método e equipamento para aumentar comprimento de integração coerente enquanto recebe um sinal de posicionamento
EP4361824A3 (fr) Mémoire cache distribuée en mémoire
MX2018014627A (es) Reutilización de datos almacenados en memoria caché.
CN107408079A8 (zh) 带有一致单元的多级别系统存储器的存储器控制器
WO2012048118A3 (fr) Procédé et appareil de recherche adaptative d'ensembles de données répartis
MX2018014628A (es) Estructura de memoria caché de varios niveles.
BRPI0721454A2 (pt) Métodos para transmitir um sinal através de uma rede e para processar um sinal em um terminal, programa de computador, e, dispositivo arranjado para receber um sinal transmitido através de uma rede
WO2016077784A3 (fr) Système de sonorisation (pa) compatible avec un dispositif de communication personnel sensible à la localisation
BR112016023955A2 (pt) sistema e método para cálculo do parâmetro de lagrange para compressão do fluxo de exibição (dsc)
SG11202011176WA (en) Method for harq buffer clearing, device and computer storage medium
WO2011145046A3 (fr) Mise en cache de base de données intelligente

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLFP Fee payment

Year of fee payment: 3

PLSC Publication of the preliminary search report

Effective date: 20180330

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

TP Transmission of property

Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., US

Effective date: 20200319

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

TP Transmission of property

Owner name: SANDISK TECHNOLOGIES, INC., US

Effective date: 20240619

CD Change of name or company name

Owner name: SANDISK TECHNOLOGIES, INC., US

Effective date: 20240723