+

WO2002001364A2 - Memoire cache non volatile integree a un dispositif de stockage de masse - Google Patents

Memoire cache non volatile integree a un dispositif de stockage de masse Download PDF

Info

Publication number
WO2002001364A2
WO2002001364A2 PCT/US2001/017845 US0117845W WO0201364A2 WO 2002001364 A2 WO2002001364 A2 WO 2002001364A2 US 0117845 W US0117845 W US 0117845W WO 0201364 A2 WO0201364 A2 WO 0201364A2
Authority
WO
WIPO (PCT)
Prior art keywords
volatile
data
mass storage
storage device
cache
Prior art date
Application number
PCT/US2001/017845
Other languages
English (en)
Other versions
WO2002001364A3 (fr
Inventor
Richard Coulson
Original Assignee
Intel Corporation
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 Intel Corporation filed Critical Intel Corporation
Priority to GB0228874A priority Critical patent/GB2380031B/en
Priority to JP2002506433A priority patent/JP2004502237A/ja
Priority to DE10196383T priority patent/DE10196383T1/de
Priority to AU2001266657A priority patent/AU2001266657A1/en
Publication of WO2002001364A2 publication Critical patent/WO2002001364A2/fr
Publication of WO2002001364A3 publication Critical patent/WO2002001364A3/fr

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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device

Definitions

  • Embodiments of the present invention relate to data storage. More particularly, embodiments of the present invention relate to a mass storage device having a non- volatile cache.
  • a computer can store data both in a volatile memory and a non-volatile mass storage device.
  • volatile memory include, but are not limited to, dynamic random access memory (DRAM), static random access memory (SRAM), Rambus dynamic random access memory (RDRAM), etc.
  • Examples of a non-volatile mass storage device include, but are not limited to, a hard disk drive, a 3.5-inch diskette, a 5.25-inch floppy diskette, a ZIP® disk (e.g., manufactured by Iomega Corporation of Roy, Utah), a Jaz® disk (e.g., manufactured by Iomega Corporation), an LS-120 Superdisk (e.g., manufactured by Imation Corporation of Oakdale, Minnesota), a rewritable Digital Versatile Disc (DVD-RAM), a Read/ Write Compact Disk (CD-RW), a magnetic mass storage device, an optical mass storage device, a magneto-optical mass storage device, a holographic storage device, etc.
  • Examples of data stored in a non-volatile memory of a computer include computer instructions (e.g., an operating system, one or application programs, etc.) and data that is accessed by computer instructions.
  • Non-volatile mass storage devices such as hard disk drives, typically do not lose the data stored thereon when the non-volatile mass storage device loses power (e.g., when power to the computer is turned off, due to a power outage, etc.).
  • Non-volatile memory generally has significantly greater access times for retrieval and storage of data as compared to volatile memory.
  • Non-volatile memory is also typically less expensive per storage unit (e.g., per megabyte, per gigabyte, etc.) than certain volatile memory such as DRAM, SRAM, RDRAM, etc.
  • a computer typically includes a processor that can perform operations based on instructions and data. Instructions and data to be operated on by the processor can be copied from the slower, non-volatile mass storage device (e.g., a hard disk drive, etc.) to the faster, volatile memory (e.g., a DRAM main memory, an SRAM cache, etc.) because the faster, volatile memory typically has a significantly lesser memory access time than the non-volatile mass storage device. Processor performance and computer performance can be enhanced when memory access times are reduced.
  • non-volatile mass storage device e.g., a hard disk drive, etc.
  • volatile memory e.g., a DRAM main memory, an SRAM cache, etc.
  • non- volatile mass storage device e.g., disk drive
  • volatile memory e.g., DRAM main memory, SRAM cache, etc.
  • the non-volatile mass storage device is often a performance bottleneck.
  • Known disk drives include a volatile cache (e.g., a DRAM cache, an SRAM cache), but such volatile caches are typically part of the disk drive's microcontoUer's main memory address space and thereby byte addressed.
  • FIG. 1 shows an illustration a computer system in accordance with an embodiment of the present invention.
  • FIG. 2 shows an illustration of the organization of a non-volatile cache in accordance with an embodiment of the present invention.
  • FIG. 3 shows a method in accordance with an embodiment of the present invention.
  • FIG. 4 shows a method in accordance with an embodiment of the present invention.
  • a non- volatile mass storage device includes a non-volatile cache.
  • the non-volatile cache can store information that is written to, or can be read from, the main mass storage medium of the non-volatile mass storage device.
  • the non-volatile cache can have a lesser access time with respect to a data read as compared to the access time of a data read from the main mass storage medium of the non-volatile mass storage device.
  • a computer system incorporating an embodiment of the present invention can have increased system performance when data stored on the nonvolatile mass storage device is read from the non-volatile cache instead of from the main mass storage medium of the non-volatile mass storage device.
  • FIG. 1 shows an illustration a computer system ("computer") in accordance with an embodiment of the present invention.
  • Computer 110 can include a processor 120 coupled to a memory 130.
  • the term “coupled” encompasses a direct connection, an indirect connection, a direct communication, an indirect communication, etc.
  • Processor 120 can be, for example, a Pentium® III processor manufactured by Intel Corporation of Santa Clara, California, an application specific integrated circuit (ASIC), a microcontroller, etc.
  • Memory 130 encompasses devices that store digital information such as DRAM, RDRAM, SRAM, read only memory (ROM), flash memory, etc.
  • a system bus can provide a communication path between the processor 120 and system components.
  • the system bus can be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture Bus (EISA), etc.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture Bus
  • a chipset can be coupled to, and manages interaction between, the processor 120 and other system components, such as the memory 130, mass storage device 140, peripheral components attached to an expansion bus, etc.
  • the term chipset encompasses a group of one or more integrated circuit chips that acts as a hub (or core) to transfer data between the processor and other system components. Examples of a chipset include the 820 and 810E chipsets made by Intel Corporation.
  • a chipset can be a single integrated circuit chip or can comprise two or more integrated circuit chips.
  • a chipset can include a memory control hub. In an embodiment including a PCI bus, a memory control hub can perform functionality known as "northbridge functionality.”
  • a chipset can include an input/output controller hub.
  • an input/output controller hub can perform functionality known as "southbridge functionality.”
  • Processor 120 is also coupled to mass storage device 140 via a communication path 135.
  • communication path 135 can be an Integrated Device Electronics (IDE) bus, an Enhanced IDE (EIDE) bus, an AT Attachment (ATA) bus, etc.
  • the communication path 135 can be an expansion bus such as a small computer system interface (SCSI) bus, an IEEE 1394 bus, a Universal Serial Bus (USB), etc.
  • mass storage device 140 examples include a hard disk drive, a ZIP ® drive, a Jaz ® drive, a CD-RW drive, a DVD-RAM drive, an LS-120 Superdisk drive, a magnetic storage device, an optical storage device, a magneto-optical storage device, a holographic storage device, etc.
  • a hard disk drive is the Cheetah 18XL hard disk drive manufactured by Seagate Technology Inc. of Scotts Valley, California.
  • Mass storage device 140 can include a mass storage device controller 141, a main mass storage medium 148, and a non- volatile cache 149.
  • the mass storage device controller 141 can include a microcontroller 142, a memory 143, interface logic 144, main mass storage medium ECC (error control and checking) logic 145, and non-volatile cache ECC logic 146.
  • mass storage device controller 141 can include one or more ASICs implementing functions to operate mass storage device 140 (e.g., a first ASIC incorporating a processor, a memory and interface logic and a second ASIC implementing ECC logic, etc.).
  • Microcontroller 142 can execute instructions stored in memory 143 to control the operations of mass storage device 140 (e.g., memory 143 can include read only memory that stores program instructions to initialize and operate mass storage device 140 upon power up, memory 143 can store instructions to perform reads of data from mass storage device 140, memory 143 can store instructions to control formatting of and/or writing data to mass storage device 140, etc.).
  • the memory 143 can also include a buffer (e.g., a volatile memory buffer, etc.) that can temporarily hold data that is being written to, or read from, mass storage device 140.
  • Microcontroller 142 and interface logic 144 can process requests from processor 120 to read data from, or write data to, mass storage device 140.
  • mass storage device 140 is a hard disk drive and interface logic 144 can be IDE interface logic, EIDE interface logic, ATA interface logic, SCSI interface logic, Fibre Channel interface logic, InfiniBand interface logic, etc.
  • mass storage device 140 is a CD-RW drive or a DVD-RAM drive and interface logic 144 is ATA Packet Interface (ATAPI) logic.
  • ATAPI ATA Packet Interface
  • logic encompasses hardware, firmware, software, a combination thereof, etc.
  • the mass storage device 140 is a hard disk drive
  • the main mass storage medium 148 includes one or more platters.
  • Each platter can have one or more recordable surfaces, and each recordable surface can be read/written by a particular read/write head.
  • Each surface can be divided into a plurality of tracks; and each track can be divided into a plurality of physical sectors.
  • a hard disk drive has a plurality of recordable surfaces, the collection of all the tracks at the same radial location on all recordable surfaces is called a cylinder.
  • the location of each physical sector of a hard disk drive can be specified by a physical address specifying the cylinder, head (surface), and physical sector.
  • Logical addresses of hard disk data can include logical sector addresses, logical block addresses, etc.
  • the hard disk drive controller of the hard disk drive can organize all of physical sectors into logical sectors (e.g., assigning each physical sector a logical sector address, etc.), and a mapping algorithm can map each logical sector address to a particular physical address.
  • the hard disk drive can be considered sector- oriented (i.e., sector addressable).
  • a hard disk drive controller can also map collections of physical sectors into particular logical block addresses.
  • the hard disk drive can be considered block-oriented (i.e., block addressable).
  • Non- volatile cache 149 can cache data that is typically stored on main mass storage medium 148.
  • Non-volatile cache 149 can cache data read from, and written to, main mass storage medium 148.
  • Non-volatile cache 149 can have a faster access time as compared to the access time of main mass storage medium 148. Accordingly, data reads from, and data writes to, mass storage device 140 can be completed faster as compared to data read/writes to main mass storage medium 148.
  • data read/writes to non-volatile cache 149 require less power as compared to data read/writes.
  • Write-back algorithms i.e., write backs from the non-volatile cache 149 to the main mass storage medium 148) can be implemented to increase cache performance. In another embodiment, write-through caching is implemented.
  • Non- volatile cache 149 can store a duplicate copy of frequently used mass storage device data and provide reduced access times for that frequently used data.
  • a copy of the data can be stored in non-volatile cache 149;
  • the data can be written to non-volatile cache 149 and written to main mass storage medium 148 according to a write-back algorithm, a write-through protocol, etc.
  • Non-volatile cache 149 is a non-volatile memory
  • the data saved in the non-volatile cache is typically not lost when the power (e.g., power to the mass storage device 140, power to the computer 110, etc.) is turned off.
  • Non-volatile cache 149 can be any type of memory that can be read from/written to and retain its data when power external to the non-volatile cache 149 is removed or turned off.
  • Non-volatile cache 149 can be, for example, a flash memory, a battery backed-up DRAM, a battery backed-up SRAM, an atomic force probe memory, a magnetic RAM, a ferro-electric RAM, a holographic memory, a storage array, etc.
  • reads from non-volatile cache 149 can be destructive reads.
  • Non-volatile cache 149 can be a block-oriented cache where data is accessed (e.g., written, read, etc.) in logical blocks.
  • mass storage device 140 when mass storage device 140 receives a data request (e.g., a data request to read data from mass storage device 140 onto communications path 135, a data request to write data to the mass storage device 140 from communications path 135, etc.), the data request can contain an address that is a logical block address, a logical sector address, etc.
  • each of the data entries stored in non-volatile cache 149 corresponds to data stored at a logical address of main mass storage medium 148.
  • a nonvolatile cache 149 can increase system perform because data reads/writes from the nonvolatile cache 149 do not require the warm-up time incidental in writing/reading data from hard disk drive platters (e.g., spinning the platters up to operational speed, positioning read/write heads, etc.). For example, the time required for system boot-up of computer 110 can be reduced when boot-up information (e.g., operating system data, device drivers, application data, etc.) is read from a non-volatile cache 149 as opposed to hard disk drive platters. Keystroke/mouseclick latency experienced by a user of computer 110 can also be reduced.
  • boot-up information e.g., operating system data, device drivers, application data, etc.
  • cache management instructions can manage data reads from/writes to non-volatile cache 149.
  • the cache management instructions can be stored in memory 143, can be part of a mass storage device driver, etc.
  • Cache management instructions can make decisions regarding what data can be cached, what data can be evicted from the cache, what data can be written back to the main mass storage medium, when data write-backs occur, etc.
  • Cache management instructions can also determine what data can be pre-fetched into the non-volatile cache 149. Cache management determinations, such as whether certain data should be cached in non- volatile cache 149, can be made using known cache management algorithms.
  • cache management instructions can determine which data to write back using, for example, a least recently used (LRU) algorithm, a random replacement algorithm, etc.
  • LRU least recently used
  • a mass storage device driver for the mass storage device 140 can be a typical mass storage device driver (e.g., AT API. SYS in a WIN98 environment, etc.), and the cache management instructions can be stored in memory 143.
  • the existence of non-volatile cache can be transparent to the operating system.
  • the cache management instructions can be part of cache management logic of mass storage device controller 141.
  • FIG. 2 shows an illustration of the organization of a non-volatile cache in accordance with an embodiment of the present invention.
  • a non-volatile cache 200 (e.g., non- volatile cache 149 of FIG.1) may store a plurality of cache entries 205. Each cache entry 205 can include a table entry field 210 and a data entry 220.
  • Data entry 220 can include a valid field 222, a modified field 224, an address field 226, a data field 228, and an ECC field 229.
  • the table entry field 210 of a cache entry 205 can correspond to tag/index information for each data entry 220 of the cache entry 205.
  • the plurality of table entry fields 210 can comprise a cache directory table 215, and the cache directory can be accessed to determine whether a specific set of data of a mass storage device (e.g., a disk sector of a hard disk drive, a logical block of a hard disk drive, etc.) is present in the non- volatile cache.
  • a mass storage device e.g., a disk sector of a hard disk drive, a logical block of a hard disk drive, etc.
  • the table entry field 210 of a cache entry 205 can store an address (e.g., a logical sector address, a logic block address, etc.) of the data entry 220 of the cache entry 205.
  • the cache directory table 215 can be searched using, for example, a known search algorithm. Alternatively, the cache directory can be sorted using a hashing algorithm.
  • the mass storage device is a hard disk drive
  • the presence of a requested disk sector in a non-volatile cache can be confirmed by comparing the sector address of the requested disk against the sector addresses stored in the cache directory table 215.
  • a non-volatile cache can be a fully associative cache.
  • a non-volatile cache can be a set associative cache.
  • each of the cache entries 205 stored in a non-volatile cache of a mass storage device corresponds to a logical block of a mass storage device. In another embodiment, each of the cache entries 205 stored in a non-volatile cache of a mass storage device corresponds to a sector (e.g., a physical sector, a logical sector) of a mass storage device.
  • each table entry of the cache directory table 215 can be four bytes long, and the cache directory table 215 can use eight megabytes of non-volatile memory.
  • the size of a cache directory table 215 can be reduced (and thus the speed of the average cache access increased) by including a block of multiple disk sectors in each cache entry.
  • a data entry 220 of a cache entry 205 may have a valid field 222, a modified field 224, an address field 226, a data field 228, and an ECC field 229.
  • Valid field 222 may be set to "valid” (e.g., one of a logical one and a logical zero, etc.) when cache entry 205 contains valid data and may be set to "invalid" (e.g., the other of a logical one and a logical zero, etc.) when cache entry 205 does not contain valid data.
  • valid fields of the evicted data entries can be changed from
  • Modified field 224 can be set to "modified” if the data in cache entry 205 is not identical to the data stored in the corresponding location on the main mass storage medium of the mass storage device. For example, and referring to FIGS. 1 and 2, when data corresponding to a logical address of the mass storage device 140 is written back to the mass storage device 140 and stored in the non-volatile cache 149, and that data was modified after having been read from the main mass storage medium 140, then the modified field 224 for the non-volatile cache entry 205 can be set to "modified" to indicate that the copy of the data corresponding to that logical address stored in the non-volatile cache 149 is different than the data corresponding to that logical address stored on the main mass storage medium 148.
  • Modified field 224 can be referred to as a "dirty bit" and can be cleared when the data is successfully written-back to the main mass storage medium 148 and retained in the non- volatile cache 149.
  • Address field 226 can contain the address (e.g., logical address, physical address) for the data stored in the cache entry 205.
  • the address field 226 can store the sector address and can be referred to as a "sector identifier.”
  • address field 226 can contain the starting sector address of the logical block where each logical block has a known fixed size.
  • Data field 228 can store the data of cache entry 205.
  • data field 228 can contain a disk sector of data (e.g., 512 bytes), a logical block of data, etc.
  • ECC field 229 can stores error correcting codes for the data of the cache entry 205.
  • each logical block of data is associated with an error correcting code.
  • FIG. 3 shows a method in accordance with an embodiment of the present invention.
  • a mass storage device receives a request for data (e.g., a request from processor 120, a request from an operating system of computer 110, a request from an application being executed on computer 110, etc.) (box 310). Whether the requested data is stored in a non-volatile cache of the mass storage device is determined (box 320).
  • the request for data includes an address, and that address is used to generate a cache hit or cache miss indication.
  • a cache directory includes addresses of the data cached in the nonvolatile cache, and an indication that the requested data is cached in the non-volatile cache can be generated based on the cache directory and the address of the requested data.
  • the data is read from the nonvolatile cache (box 330), error checking and correction can be performed upon the read data (box 335), and the data can be sent from the mass storage device (box 340).
  • FIG. 4 shows a method in accordance with an embodiment of the present invention.
  • a request to store data in non-volatile mass storage device is received (box 410).
  • a user editing a document in a word processing program can instruct the word processing program to save the document.
  • the word processing program can include an auto save feature that causes the document to be saved periodically.
  • an operating system can instruct that data stored in main memory (e.g., DRAM) be stored to a hard disk drive or other non-volatile memory
  • instructions adapted to be executed by a processor to perform a method are stored on a computer-readable medium.
  • the computer-readable medium can be a device that stores digital information.
  • a computer-readable medium includes a ROM as is known in the art for storing software and/or firmware (e.g., microcode).
  • the computer-readable medium can be accessed by a processor suitable for executing instructions adapted to be executed.
  • the term "adapted to be executed" is meant to encompass any instructions that are ready to be executed in their present form (e.g., machine code) by a processor, or require further manipulation (e.g., compilation, decryption, or provided with an access code, etc.) to be ready to be executed by a processor.
  • Methods and apparatus in accordance with embodiments of the present invention can advantageously cache data read from, or written to, a mass storage device in a nonvolatile cache.
  • the non-volatile cache can retain its data even when external power to the non-volatile cache and the mass storage device is turned off.
  • Embodiments of the present invention can reduce the access time for data read from, or written to, a mass storage device and thereby increase system performance of a system having a mass storage device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

L'invention concerne un appareil et des procédés associés à un dispositif de stockage de masse non volatile comprenant une mémoire cache non volatile.
PCT/US2001/017845 2000-06-23 2001-06-01 Memoire cache non volatile integree a un dispositif de stockage de masse WO2002001364A2 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
GB0228874A GB2380031B (en) 2000-06-23 2001-06-01 Non-volatile cache integrated with mass storage device
JP2002506433A JP2004502237A (ja) 2000-06-23 2001-06-01 大容量ストレージ装置に集積された不揮発性キャッシュ
DE10196383T DE10196383T1 (de) 2000-06-23 2001-06-01 In eine Massenspeichereinrichtung integrierter nicht-flüchtiger Cache
AU2001266657A AU2001266657A1 (en) 2000-06-23 2001-06-01 Non-volatile cache integrated with mass storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60201100A 2000-06-23 2000-06-23
US09/602,011 2000-06-23

Publications (2)

Publication Number Publication Date
WO2002001364A2 true WO2002001364A2 (fr) 2002-01-03
WO2002001364A3 WO2002001364A3 (fr) 2002-04-04

Family

ID=24409616

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/017845 WO2002001364A2 (fr) 2000-06-23 2001-06-01 Memoire cache non volatile integree a un dispositif de stockage de masse

Country Status (7)

Country Link
JP (1) JP2004502237A (fr)
CN (1) CN1465009A (fr)
AU (1) AU2001266657A1 (fr)
DE (1) DE10196383T1 (fr)
GB (1) GB2380031B (fr)
TW (1) TW576966B (fr)
WO (1) WO2002001364A2 (fr)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1612656A2 (fr) * 2004-07-01 2006-01-04 e-Storage Networks, Inc. Dispositif de transmission de données avec la forme d'un disque dur 3.5" standard
US7103724B2 (en) 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data
EP1710674A1 (fr) * 2003-12-25 2006-10-11 Kabushiki Kaisha Toshiba Dispositif de stockage et systeme de traitement d'informations
US7275135B2 (en) 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
WO2008076205A2 (fr) * 2006-12-14 2008-06-26 Emc Corporation Système de stockage de données ayant une mémoire cache globale répartie parmi des mémoires non volatiles dans des lecteurs de disque système
FR2924836A1 (fr) * 2007-12-11 2009-06-12 Commissariat Energie Atomique Dispositif de service de fiabilite, systeme et procede electroniques mettant en oeuvre au moins un tel dispositif et produit de programme informatique permettant de mettre en oeuvre un tel procede.
EP2254022A1 (fr) * 2004-02-04 2010-11-24 SanDisk Corporation Dispositif de stockage a deux supports
US20110276743A1 (en) * 2004-10-21 2011-11-10 Microsoft Corporation Using external memory devices to improve system performance
US8086788B2 (en) 2004-02-05 2011-12-27 Research In Motion Limited Memory controller interface
US8255645B2 (en) 2004-05-03 2012-08-28 Microsoft Corporation Non-volatile memory cache performance improvement
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
JP2006155434A (ja) * 2004-12-01 2006-06-15 Nec Engineering Ltd Pciバスコントローラ及びその動作制御方法並びにプログラム
US8301195B2 (en) * 2006-07-05 2012-10-30 Agere Systems Inc. Systems and methods for mobile data storage and acquisition
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
JP4972064B2 (ja) * 2008-09-25 2012-07-11 シャープ株式会社 光ディスク駆動制御装置
CN102521147B (zh) * 2011-11-17 2015-03-25 曙光信息产业(北京)有限公司 一种使用高速非易失介质做缓存的管理方法
JP5803614B2 (ja) * 2011-11-29 2015-11-04 ソニー株式会社 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム
US9842128B2 (en) * 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
CN107533528B (zh) * 2015-05-22 2020-12-04 惠普发展公司有限责任合伙企业 数据通道分配

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594885A (en) * 1991-03-05 1997-01-14 Zitel Corporation Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry
JPH06236241A (ja) * 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
JPH0883148A (ja) * 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275135B2 (en) 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US7103724B2 (en) 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data
EP1710674A1 (fr) * 2003-12-25 2006-10-11 Kabushiki Kaisha Toshiba Dispositif de stockage et systeme de traitement d'informations
EP1710674A4 (fr) * 2003-12-25 2009-03-25 Toshiba Kk Dispositif de stockage et systeme de traitement d'informations
EP2254022A1 (fr) * 2004-02-04 2010-11-24 SanDisk Corporation Dispositif de stockage a deux supports
US8086788B2 (en) 2004-02-05 2011-12-27 Research In Motion Limited Memory controller interface
US8347025B2 (en) 2004-02-05 2013-01-01 Research In Motion Limited Memory controller interface
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US9405693B2 (en) 2004-05-03 2016-08-02 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US8255645B2 (en) 2004-05-03 2012-08-28 Microsoft Corporation Non-volatile memory cache performance improvement
EP1612656A3 (fr) * 2004-07-01 2007-04-04 e-Storage Networks, Inc. Dispositif de transmission de données avec la forme d'un disque dur 3.5" standard
EP1612656A2 (fr) * 2004-07-01 2006-01-04 e-Storage Networks, Inc. Dispositif de transmission de données avec la forme d'un disque dur 3.5" standard
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US20110276743A1 (en) * 2004-10-21 2011-11-10 Microsoft Corporation Using external memory devices to improve system performance
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US8909861B2 (en) * 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
WO2008076205A3 (fr) * 2006-12-14 2008-08-14 Emc Corp Système de stockage de données ayant une mémoire cache globale répartie parmi des mémoires non volatiles dans des lecteurs de disque système
US8762636B2 (en) 2006-12-14 2014-06-24 Emc Corporation Data storage system having a global cache memory distributed among non-volatile memories within system disk drives
WO2008076205A2 (fr) * 2006-12-14 2008-06-26 Emc Corporation Système de stockage de données ayant une mémoire cache globale répartie parmi des mémoires non volatiles dans des lecteurs de disque système
FR2924836A1 (fr) * 2007-12-11 2009-06-12 Commissariat Energie Atomique Dispositif de service de fiabilite, systeme et procede electroniques mettant en oeuvre au moins un tel dispositif et produit de programme informatique permettant de mettre en oeuvre un tel procede.
WO2009074556A1 (fr) * 2007-12-11 2009-06-18 Commissariat A L'energie Atomique Dispositif de service de fiabilite, systeme et procede electroniques mettant en oeuvre au moins un tel dispositif et produit de programme informatique permettant de mettre en œuvre un tel procede
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store

Also Published As

Publication number Publication date
DE10196383T1 (de) 2003-07-03
CN1465009A (zh) 2003-12-31
JP2004502237A (ja) 2004-01-22
TW576966B (en) 2004-02-21
GB2380031B (en) 2004-09-29
GB2380031A (en) 2003-03-26
AU2001266657A1 (en) 2002-01-08
WO2002001364A3 (fr) 2002-04-04
GB0228874D0 (en) 2003-01-15

Similar Documents

Publication Publication Date Title
US6725342B1 (en) Non-volatile mass storage cache coherency apparatus
WO2002001364A2 (fr) Memoire cache non volatile integree a un dispositif de stockage de masse
JP3951918B2 (ja) 不揮発性キャッシュ
US10761777B2 (en) Tiered storage using storage class memory
KR101702201B1 (ko) 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭
US8327076B2 (en) Systems and methods of tiered caching
US8898371B2 (en) Accessing logical-to-physical address translation data for solid state disks
US8122193B2 (en) Storage device and user device including the same
KR101347285B1 (ko) 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치
US20130198439A1 (en) Non-volatile storage
US20110055458A1 (en) Page based management of flash storage
US9804786B2 (en) Sector translation layer for hard disk drives
US20100185806A1 (en) Caching systems and methods using a solid state disk
EP0574531A1 (fr) Systeme d'antememoire et procede d'exploitation de ce systeme
JP2013242908A (ja) ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
JPH096540A (ja) 直接アクセス記憶装置のデータ圧縮用組込みディレクトリ方法及びディレクトリ・レコード
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
US9189392B1 (en) Opportunistic defragmentation during garbage collection
JP2014174981A (ja) データストレージデバイス及び方法
US11275684B1 (en) Media read cache
US20110167214A1 (en) Method And Apparatus To Manage Non-Volatile Disk Cache
JPH0519981A (ja) 光デイスク装置のデータ書込み正常終了判定方法
GB2403834A (en) Non-volatile ferro-electric RAM cache
CN115079934A (zh) 一种延长固态硬盘寿命的管理方法
JP6027479B2 (ja) 半導体メモリ装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: GB0228874.4

Country of ref document: GB

ENP Entry into the national phase

Ref document number: 2002 506433

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 01814277X

Country of ref document: CN

RET De translation (de og part 6b)

Ref document number: 10196383

Country of ref document: DE

Date of ref document: 20030703

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10196383

Country of ref document: DE

122 Ep: pct application non-entry in european phase
REG Reference to national code

Ref country code: DE

Ref legal event code: 8607

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载