US20090172048A1 - Memory storage of file fragments - Google Patents

Memory storage of file fragments Download PDF

Info

Publication number
US20090172048A1
US20090172048A1 US11/968,033 US96803307A US2009172048A1 US 20090172048 A1 US20090172048 A1 US 20090172048A1 US 96803307 A US96803307 A US 96803307A US 2009172048 A1 US2009172048 A1 US 2009172048A1
Authority
US
United States
Prior art keywords
disk drive
file fragment
drive file
beginning portion
memory
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.)
Abandoned
Application number
US11/968,033
Inventor
R. Scott Tetrick
Glenn Hinton
Dale Juenemann
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.)
Intel Corp
Original Assignee
Intel Corp
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 Corp filed Critical Intel Corp
Priority to US11/968,033 priority Critical patent/US20090172048A1/en
Priority to PCT/US2008/085147 priority patent/WO2009088580A1/en
Priority to DE112008003516T priority patent/DE112008003516T5/en
Priority to GB1010828.0A priority patent/GB2468455B/en
Priority to CN2008801239972A priority patent/CN101911195A/en
Priority to TW097148739A priority patent/TWI549122B/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HINTON, GLENN, JUENEMANN, DALE, TETRICK, R. S.
Publication of US20090172048A1 publication Critical patent/US20090172048A1/en
Abandoned legal-status Critical Current

Links

Images

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/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/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/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads

Definitions

  • the inventions generally relate to memory storage of file fragments.
  • each fragment in the file means that a disk seek must be performed. Once the seek is completed, the data may be transferred from the disk.
  • a heavily fragmented system impacts a user's response time. Therefore, in many systems using Windows Operating System, for example, there is a need to manually invoke a “DEFRAG” utility once in a while in order to defragment the fragmented files. File fragments can result in additional seek times and also in additional rotations of the disk drive. Therefore, a need has arisen to reduce the negative delays associated with file fragments on a disk drive.
  • FIG. 1 illustrates a disk drive according to some embodiments of the inventions.
  • FIG. 2 illustrates a system according to some embodiments of the inventions.
  • Some embodiments of the inventions relate to memory storage of file fragments.
  • a beginning portion of a disk drive file fragment is stored in a memory, and the beginning portion of the disk drive file fragment is accessed from the memory (for example, in response to a disk access request to access the file fragment from the disk drive).
  • an article includes a computer readable medium having instructions thereon which when executed cause a computer to store a beginning portion of a disk drive file fragment in a memory, and to access the beginning portion of the disk drive file fragment from the memory.
  • a memory is to store a beginning portion of a disk drive file fragment
  • a processor is to access the beginning portion of the disk drive file fragment from the memory.
  • FIG. 1 illustrates a disk drive 100 according to some embodiments.
  • disk drive 100 has a file stored thereon in three file fragments 102 , 104 , and 106 .
  • FIG. 1 illustrates the fragments 102 , 104 , and 106 as they are laid out on the disk 100 .
  • Arrow 108 illustrates a direction of rotation of the disk during disk access activities.
  • Each of the fragments 102 , 104 , and 106 represents a portion of the disk track that makes up a portion of the file.
  • the file is to be accessed in order from fragment 102 , then fragment 104 , and then fragment 106 .
  • a disk seek is necessary to find the fragment.
  • the disk 100 cannot start accessing and transferring fragment 104 because of the latency associated with moving the disk head. This requires the disk 100 to rotate until the beginning of fragment 104 is under the disk head. Similarly, moving access from fragment 104 to fragment 106 requires a full rotation of the disk 100 . In a fragmented file situation where the file fragments 102 , 104 , and 106 must be accessed, due to the requirement for head movement, three seeks and three full rotations are required to complete the task of accessing the entire fragmented file.
  • FIG. 2 illustrates a system 200 according to some embodiments.
  • system 200 includes a disk drive 202 , a controller 204 , and a memory 206 .
  • memory 206 is a non-volatile memory such as, for example, a flash memory.
  • memory 206 is non-volatile memory provided on a platform including the controller 204 .
  • controller 204 stores a beginning portion of some or all fragments occurring on disk drive 202 . When controller 204 is waiting for disk drive 202 to begin accessing a file fragment the controller 204 can access the memory 206 to obtain access to the beginning portion of that file fragment.
  • the beginning portion of the file fragment stored in memory 206 is large enough so that once the beginning portion has been accessed by controller 204 from memory 206 then the disk drive 202 is ready to provide the remainder of the file fragment (if any) to the controller 204 .
  • memory 206 can be used along with knowledge of file fragmentation to obtain smooth disk access and meet all isochronous requirements. If the beginning portion of each fragment is stored (or cached) into memory 206 and that beginning portion is a big enough portion, the need for waiting for extraneous rotations can be reduced and/or eliminated and a user's needs are better satisfied.
  • n is the number of sectors to store in the memory (or cache)
  • S is the number of bytes per sector (this number is usually 512 )
  • t seek is the seek time estimated for the disk (this should include any disk revolution times needed to cover the latency)
  • bdisk is the data bandwidth of the disk
  • b isoch is the desired isochronous rate.
  • n approximately greater than or equal to 133.6 sectors. Therefore, in some embodiments, data rate requirements covering all disk fragmentation may be met by storing (or caching) the beginning 134 sectors of each file fragment. In some embodiments, it is noted that for file fragments shorter than n (or shorter than 134 in this case) the entire file fragment should be stored (or cached).
  • such an entirely stored (or cached) file fragment may be deducted from the storage (or cache) requirements for the next file fragment.
  • benefits include a faster application launch, for example.
  • a better isochronous experience may be obtained. Glitches in audio and video may be minimized or eliminated, and a user experience similar to a consumer electric (CE) device is possible using typical personal computer (PC) components.
  • CE consumer electric
  • PC personal computer
  • controller may in some embodiments be a processor (for example, a Central Processing Unit or CPU of a computer or some other processor).
  • implementations may include a controller (and/or processor) within a chipset.
  • implementations of the controller may include driver software.
  • Some embodiments may include a controller implemented in hardware, software, and/or firmware.
  • the elements in some cases may each have a same reference number or a different reference number to suggest that the elements represented could be different and/or similar.
  • an element may be flexible enough to have different implementations and work with some or all of the systems shown or described herein.
  • the various elements shown in the figures may be the same or different. Which one is referred to as a first element and which is called a second element is arbitrary.
  • Coupled may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
  • An algorithm is here, and generally, considered to be a self-consistent sequence of acts or operations leading to a desired result. These include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers or the like. It should be understood, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
  • Some embodiments may be implemented in one or a combination of hardware, firmware, and software. Some embodiments may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by a computing platform to perform the operations described herein.
  • a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer).
  • a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, the interfaces that transmit and/or receive signals, etc.), and others.
  • An embodiment is an implementation or example of the inventions.
  • Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the inventions.
  • the various appearances “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.

Abstract

In some embodiments a beginning portion of a disk drive file fragment is stored in a memory, and the beginning portion of the disk drive file fragment is accessed from the memory. Other embodiments are described and claimed.

Description

    TECHNICAL FIELD
  • The inventions generally relate to memory storage of file fragments.
  • BACKGROUND
  • Physical files stored on a hard disk drive are not always contiguous on the disk drive even though a user is not typically aware of it. In fact, physical files are often split up into file fragments on the disk drive. Such file fragments add to the uncertainty of accesses from the disk, and may cause isochronous deadlines to be missed. This can result in non-desired results such as screen flicker or sound pops. The file system of the Operating System (OS) is responsible for the allocation of files to specific sectors on the hard disk drive. Changes in the file system can cause multiple file fragments to occur. A sample file and its fragmentation are shown below:
  • File 2303
    \Windows\System32\LogFiles\Scm\SCM.EVM
      $STANDARD_INFORMATION (resident)
      $FILE_NAME (resident)
      $DATA (nonresident)
        logical sectors 11004712-11004775 (0xa7eb28-0xa7eb67)
        logical sectors 11045440-11045567 (0xa88a40-0xa88abf)
        logical sectors 27538272-27538527 (0x1a43360-0x1a4345f)
        logical sectors 26954584-26955095 (0x19b4b58-0x19b4d57)
  • If such a fragmented file is accessed, each fragment in the file means that a disk seek must be performed. Once the seek is completed, the data may be transferred from the disk. A heavily fragmented system impacts a user's response time. Therefore, in many systems using Windows Operating System, for example, there is a need to manually invoke a “DEFRAG” utility once in a while in order to defragment the fragmented files. File fragments can result in additional seek times and also in additional rotations of the disk drive. Therefore, a need has arisen to reduce the negative delays associated with file fragments on a disk drive.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The inventions will be understood more fully from the detailed description given below and from the accompanying drawings of some embodiments of the inventions which, however, should not be taken to limit the inventions to the specific embodiments described, but are for explanation and understanding only.
  • FIG. 1 illustrates a disk drive according to some embodiments of the inventions.
  • FIG. 2 illustrates a system according to some embodiments of the inventions.
  • DETAILED DESCRIPTION
  • Some embodiments of the inventions relate to memory storage of file fragments.
  • In some embodiments a beginning portion of a disk drive file fragment is stored in a memory, and the beginning portion of the disk drive file fragment is accessed from the memory (for example, in response to a disk access request to access the file fragment from the disk drive).
  • In some embodiments an article includes a computer readable medium having instructions thereon which when executed cause a computer to store a beginning portion of a disk drive file fragment in a memory, and to access the beginning portion of the disk drive file fragment from the memory.
  • In some embodiments a memory is to store a beginning portion of a disk drive file fragment, and a processor is to access the beginning portion of the disk drive file fragment from the memory.
  • FIG. 1 illustrates a disk drive 100 according to some embodiments. In some embodiments disk drive 100 has a file stored thereon in three file fragments 102, 104, and 106. FIG. 1 illustrates the fragments 102, 104, and 106 as they are laid out on the disk 100. Arrow 108 illustrates a direction of rotation of the disk during disk access activities. Each of the fragments 102, 104, and 106 represents a portion of the disk track that makes up a portion of the file. The file is to be accessed in order from fragment 102, then fragment 104, and then fragment 106. At the beginning of fragment 102 a disk seek is necessary to find the fragment. Then when the access to fragment 102 is completed, the disk 100 cannot start accessing and transferring fragment 104 because of the latency associated with moving the disk head. This requires the disk 100 to rotate until the beginning of fragment 104 is under the disk head. Similarly, moving access from fragment 104 to fragment 106 requires a full rotation of the disk 100. In a fragmented file situation where the file fragments 102, 104, and 106 must be accessed, due to the requirement for head movement, three seeks and three full rotations are required to complete the task of accessing the entire fragmented file.
  • FIG. 2 illustrates a system 200 according to some embodiments. In some embodiments, system 200 includes a disk drive 202, a controller 204, and a memory 206. In some embodiments, memory 206 is a non-volatile memory such as, for example, a flash memory. In some embodiments, memory 206 is non-volatile memory provided on a platform including the controller 204. In some embodiments controller 204 stores a beginning portion of some or all fragments occurring on disk drive 202. When controller 204 is waiting for disk drive 202 to begin accessing a file fragment the controller 204 can access the memory 206 to obtain access to the beginning portion of that file fragment. In some embodiments the beginning portion of the file fragment stored in memory 206 is large enough so that once the beginning portion has been accessed by controller 204 from memory 206 then the disk drive 202 is ready to provide the remainder of the file fragment (if any) to the controller 204.
  • In some embodiments, memory 206 can be used along with knowledge of file fragmentation to obtain smooth disk access and meet all isochronous requirements. If the beginning portion of each fragment is stored (or cached) into memory 206 and that beginning portion is a big enough portion, the need for waiting for extraneous rotations can be reduced and/or eliminated and a user's needs are better satisfied.
  • In some embodiments, for a fragment (and/or for each fragment on a disk drive) the following equation applies:
  • n × S t seek + n × S b disk b isoch
  • In the above equation, n is the number of sectors to store in the memory (or cache), S is the number of bytes per sector (this number is usually 512), tseek is the seek time estimated for the disk (this should include any disk revolution times needed to cover the latency), bdisk is the data bandwidth of the disk, and bisoch is the desired isochronous rate. Solving this equation for n, the following is obtained:
  • n b isoch × t seek S ( 1 - b isoch d disk )
  • For example, solving this for the typical parameters for current disk drives, where S=512, tseek=0.015+0.01 seconds (seek time plus one rotation), bdisk=50 MB/sec, bisoch=2.5 MB/sec (20 Mbit/sec is equivalent to high definition TV), a value for n of approximately greater than or equal to 133.6 sectors is obtained. Therefore, in some embodiments, data rate requirements covering all disk fragmentation may be met by storing (or caching) the beginning 134 sectors of each file fragment. In some embodiments, it is noted that for file fragments shorter than n (or shorter than 134 in this case) the entire file fragment should be stored (or cached). In some embodiments, such an entirely stored (or cached) file fragment may be deducted from the storage (or cache) requirements for the next file fragment. In some embodiments, if the first fragment of a file is stored (or cached) in this manner benefits include a faster application launch, for example.
  • In some embodiments, a better isochronous experience may be obtained. Glitches in audio and video may be minimized or eliminated, and a user experience similar to a consumer electric (CE) device is possible using typical personal computer (PC) components.
  • Some embodiments have been described herein as being implemented using a controller. It is noted that the controller may in some embodiments be a processor (for example, a Central Processing Unit or CPU of a computer or some other processor). For example, in some embodiments, implementations may include a controller (and/or processor) within a chipset. In some embodiments, implementations of the controller may include driver software. Some embodiments may include a controller implemented in hardware, software, and/or firmware.
  • Although some embodiments have been described in reference to particular implementations, other implementations are possible according to some embodiments. Additionally, the arrangement and/or order of circuit elements or other features illustrated in the drawings and/or described herein need not be arranged in the particular way illustrated and described. Many other arrangements are possible according to some embodiments.
  • In each system shown in a figure, the elements in some cases may each have a same reference number or a different reference number to suggest that the elements represented could be different and/or similar. However, an element may be flexible enough to have different implementations and work with some or all of the systems shown or described herein. The various elements shown in the figures may be the same or different. Which one is referred to as a first element and which is called a second element is arbitrary.
  • In the description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
  • An algorithm is here, and generally, considered to be a self-consistent sequence of acts or operations leading to a desired result. These include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers or the like. It should be understood, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
  • Some embodiments may be implemented in one or a combination of hardware, firmware, and software. Some embodiments may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by a computing platform to perform the operations described herein. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, the interfaces that transmit and/or receive signals, etc.), and others.
  • An embodiment is an implementation or example of the inventions. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the inventions. The various appearances “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.
  • Not all components, features, structures, characteristics, etc. described and illustrated herein need be included in a particular embodiment or embodiments. If the specification states a component, feature, structure, or characteristic “may”, “might”, “can” or “could” be included, for example, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
  • Although flow diagrams and/or state diagrams may have been used herein to describe embodiments, the inventions are not limited to those diagrams or to corresponding descriptions herein. For example, flow need not move through each illustrated box or state or in exactly the same order as illustrated and described herein.
  • The inventions are not restricted to the particular details listed herein. Indeed, those skilled in the art having the benefit of this disclosure will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present inventions. Accordingly, it is the following claims including any amendments thereto that define the scope of the inventions.

Claims (24)

1. A method comprising:
storing a beginning portion of a disk drive file fragment in a memory; and
accessing the beginning portion of the disk drive file fragment from the memory.
2. The method of claim 1, further comprising after accessing the beginning portion of the disk drive file fragment from the memory, then accessing a remaining portion of the disk drive file fragment from a disk drive.
3. The method of claim 1, further comprising calculating a size of the beginning portion to avoid isochronous issues of the data according to disk characteristics and a required isochronous data rate.
4. The method of claim 1, further comprising storing for each of a plurality of file fragments on a disk drive a beginning portion of that disk drive file fragment in the memory.
5. The method of claim 1, wherein the accessing is performed while waiting to access a remaining portion of the disk drive file fragment from a disk drive.
6. The method of claim 1, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than a certain size.
7. The method of claim 1, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than a calculated number of sectors to maintain isochronous performance.
8. The method of claim 3, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than the calculated size.
9. An article comprising:
a computer readable medium having instructions thereon which when executed cause a computer to:
store a beginning portion of a disk drive file fragment in a memory; and
access the beginning portion of the disk drive file fragment from the memory.
10. The article of claim 9, the computer readable medium further having instructions thereon which when executed cause a computer to:
after accessing the beginning portion of the disk drive file fragment from the memory, then access a remaining portion of the disk drive file fragment from a disk drive.
11. The article of claim 9, the computer readable medium further having instructions thereon which when executed cause a computer to calculate a size of the beginning portion to avoid isochronous issues of the data according to disk characteristics and a required isochronous data rate.
12. The article of claim 9, the computer readable medium further having instructions thereon which when executed cause a computer to store for each of a plurality of file fragments on a disk drive a beginning portion of that disk drive file fragment in the memory.
13. The article of claim 9, wherein the access is performed while waiting to access a remaining portion of the disk drive file fragment from a disk drive.
14. The article of claim 9, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than a certain size.
15. The article of claim 9, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than a calculated number of sectors to maintain isochronous performance.
16. The article of claim 11, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than the calculated size.
17. An apparatus comprising:
a memory to store a beginning portion of a disk drive file fragment; and
a controller to access the beginning portion of the disk drive file fragment from the memory.
18. The apparatus of claim 17, the controller further to access a remaining portion of the disk drive file fragment from a disk drive after accessing the beginning portion of the disk drive file fragment from the memory.
19. The apparatus of claim 17, the controller further to calculate a size of the beginning portion to avoid isochronous issues of the data according to disk characteristics and a required isochronous data rate.
20. The apparatus of claim 17, the memory further to store for each of a plurality of file fragments on a disk drive a beginning portion of that disk drive file fragment.
21. The apparatus of claim 17, the controller to access the beginning portion from the memory while waiting to access a remaining portion of the disk drive file fragment from a disk drive.
22. The apparatus of claim 17, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than a certain size.
23. The apparatus of claim 17, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than a calculated number of sectors to maintain isochronous performance.
24. The apparatus of claim 19, wherein the beginning portion is the entire disk drive file fragment if a size of the entire disk drive file fragment is less than the calculated size.
US11/968,033 2007-12-31 2007-12-31 Memory storage of file fragments Abandoned US20090172048A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US11/968,033 US20090172048A1 (en) 2007-12-31 2007-12-31 Memory storage of file fragments
PCT/US2008/085147 WO2009088580A1 (en) 2007-12-31 2008-12-01 Memory storage of file fragments
DE112008003516T DE112008003516T5 (en) 2007-12-31 2008-12-01 Storage of file fragments in a memory
GB1010828.0A GB2468455B (en) 2007-12-31 2008-12-01 Memory storage of file fragments
CN2008801239972A CN101911195A (en) 2007-12-31 2008-12-01 Memory storage of file fragments
TW097148739A TWI549122B (en) 2007-12-31 2008-12-15 Memory storage of file fragments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/968,033 US20090172048A1 (en) 2007-12-31 2007-12-31 Memory storage of file fragments

Publications (1)

Publication Number Publication Date
US20090172048A1 true US20090172048A1 (en) 2009-07-02

Family

ID=40799852

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/968,033 Abandoned US20090172048A1 (en) 2007-12-31 2007-12-31 Memory storage of file fragments

Country Status (6)

Country Link
US (1) US20090172048A1 (en)
CN (1) CN101911195A (en)
DE (1) DE112008003516T5 (en)
GB (1) GB2468455B (en)
TW (1) TWI549122B (en)
WO (1) WO2009088580A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336673A (en) * 2013-07-10 2013-10-02 中国建设银行股份有限公司 Method and device for repeatedly storing massive files in self-service device
US20230128741A1 (en) * 2021-10-27 2023-04-27 Red Hat, Inc. Determining weights for cache storage of fragmented data

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930828A (en) * 1997-03-26 1999-07-27 Executive Software International Real-time apparatus and method for minimizing disk fragmentation in a computer system
US5987479A (en) * 1997-09-24 1999-11-16 Sony Corporation, Inc. Large block allocation for disk-based file systems
US20030061352A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Optimized file cache organization in a network server
US20030120797A1 (en) * 2001-12-26 2003-06-26 Ar Card Apparatus and method for reassembling fragments of a data packet
US6646948B1 (en) * 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time
US20040252397A1 (en) * 2003-06-16 2004-12-16 Apple Computer Inc. Media player with acceleration protection
US20050172067A1 (en) * 2004-02-04 2005-08-04 Sandisk Corporation Mass storage accelerator
US20060136507A1 (en) * 2004-12-22 2006-06-22 Bangalore Kiran K G Methods and apparatus to write a file to a nonvolatile memory
US7143433B1 (en) * 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20060288156A1 (en) * 2005-06-16 2006-12-21 Seagate Technology Llc OSD deterministic object fragmentation optimization in a disc drive
US20070198614A1 (en) * 2006-02-14 2007-08-23 Exavio, Inc Disk drive storage defragmentation system
US20080172430A1 (en) * 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
US8468334B1 (en) * 2011-01-28 2013-06-18 American Megatrends, Inc. Efficient initial RAM disk creation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933603A (en) * 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location
JP4106702B2 (en) * 2002-05-30 2008-06-25 ソニー株式会社 Information processing apparatus, data recording / reproducing method, program for data recording / reproducing method, and recording medium recording program for data recording / reproducing method

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930828A (en) * 1997-03-26 1999-07-27 Executive Software International Real-time apparatus and method for minimizing disk fragmentation in a computer system
US5987479A (en) * 1997-09-24 1999-11-16 Sony Corporation, Inc. Large block allocation for disk-based file systems
US7143433B1 (en) * 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20030061352A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Optimized file cache organization in a network server
US20030120797A1 (en) * 2001-12-26 2003-06-26 Ar Card Apparatus and method for reassembling fragments of a data packet
US6646948B1 (en) * 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time
US20040252397A1 (en) * 2003-06-16 2004-12-16 Apple Computer Inc. Media player with acceleration protection
US7127549B2 (en) * 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
US20050172067A1 (en) * 2004-02-04 2005-08-04 Sandisk Corporation Mass storage accelerator
US20070028040A1 (en) * 2004-02-04 2007-02-01 Sandisk Corporation Mass storage accelerator
US7310699B2 (en) * 2004-02-04 2007-12-18 Sandisk Corporation Mass storage accelerator
US20060136507A1 (en) * 2004-12-22 2006-06-22 Bangalore Kiran K G Methods and apparatus to write a file to a nonvolatile memory
US20060288156A1 (en) * 2005-06-16 2006-12-21 Seagate Technology Llc OSD deterministic object fragmentation optimization in a disc drive
US7590799B2 (en) * 2005-06-16 2009-09-15 Seagate Technology Llc OSD deterministic object fragmentation optimization in a disc drive
US20070198614A1 (en) * 2006-02-14 2007-08-23 Exavio, Inc Disk drive storage defragmentation system
US20080172430A1 (en) * 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
US8468334B1 (en) * 2011-01-28 2013-06-18 American Megatrends, Inc. Efficient initial RAM disk creation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336673A (en) * 2013-07-10 2013-10-02 中国建设银行股份有限公司 Method and device for repeatedly storing massive files in self-service device
US20230128741A1 (en) * 2021-10-27 2023-04-27 Red Hat, Inc. Determining weights for cache storage of fragmented data
US11947800B2 (en) * 2021-10-27 2024-04-02 Red Hat, Inc. Determining weights for cache storage of fragmented data

Also Published As

Publication number Publication date
CN101911195A (en) 2010-12-08
TW200941464A (en) 2009-10-01
GB2468455B (en) 2012-08-01
GB2468455A (en) 2010-09-08
TWI549122B (en) 2016-09-11
WO2009088580A1 (en) 2009-07-16
DE112008003516T5 (en) 2010-11-18
GB201010828D0 (en) 2010-08-11

Similar Documents

Publication Publication Date Title
US9563368B2 (en) Embedded multimedia card and method of operating the same
US9396133B2 (en) Caching scheme synergy for extent migration between tiers of a storage system
US7912994B2 (en) Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
US9483190B2 (en) Average response time improvement from a file system for a tape library
US9946495B2 (en) Dirty data management for hybrid drives
US9032167B2 (en) Write operations to and from multiple buffers
EP3647932B1 (en) Storage device processing stream data, system including the same, and operation method thereof
WO2017107415A1 (en) Application loading method and device
KR102387460B1 (en) Data storage device and method for operating thereof
WO2014106874A1 (en) Data storage mechanism using storage system determined write locations
US7096327B2 (en) System for and method of accessing blocks on a storage medium
US11132145B2 (en) Techniques for reducing write amplification on solid state storage devices (SSDs)
CN108959108B (en) Solid state disk access method and device using same
US20150277782A1 (en) Cache Driver Management of Hot Data
US9563376B2 (en) Low power storage array with metadata access
US9952770B2 (en) Responding to recall operations based on file migration time
JP2007179496A (en) Data recording device and fifo function attaining program
US20090172048A1 (en) Memory storage of file fragments
KR20060017816A (en) Method and device for transferring data between a main memory and a storage device
US10409748B2 (en) Bridge device with DMA data transferring to upstream device with reset and clear feature command
US8041847B1 (en) Periodic and conditional execution of DMA operations
US20160062925A1 (en) Method and system for managing storage device operations by a host device
US20120131236A1 (en) Communication between a computer and a data storage device
CN109271334B (en) Data access system and method
US20220269484A1 (en) Accumulation Systems And Methods

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TETRICK, R. S.;HINTON, GLENN;JUENEMANN, DALE;REEL/FRAME:022648/0877;SIGNING DATES FROM 20080509 TO 20080711

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION