This patent application is assigned to
The following quote was obtained by the news editors from the background information supplied by the inventors: "Data storage commands often originate in applications that either make incorrect assumptions or are limited in their ability to make assumptions about the behavior or limitations of the underlying hardware and storage busses that hold the applications' data. These data storage commands are often decomposed into a series of hardware media commands that are interwoven with other hardware media commands over a period of time and passed to storage devices. As used herein, data storage commands are commands that request some operation on stored data. Examples of data storage commands include, but are not limited to, read commands, write commands, etc. A hardware media command is a type of data storage command that requests an operation on hardware storage media at either a source data location or a destination data location, but not both. Examples of hardware media commands include reading data from the media, writing data to the media, and finalizing data that has been written to the media. As an example of decomposition of a data storage command into hardware media commands, a copy storage operation may be decomposed into access hardware media commands that requests existing data from a source data location in a storage device, a write hardware media command that requests the storage device to write the data to a destination data location in the storage device, and another access hardware media command that requests the storage device to finalize the data written to the permanent media. Other related or unrelated hardware media commands may be interwoven between these three commands in ways that are unknown to the application and often unknown to the underlying operating system."
In addition to the background information obtained for this patent application, VerticalNews journalists also obtained the inventors' summary information for this patent application: "Whatever the advantages of previous storage tools and techniques, they have neither recognized the packed storage command and storage command stream tools and techniques described and claimed herein, nor the advantages produced by such tools and techniques.
"In one embodiment, the tools and techniques can include receiving a packed command at a storage device. As used herein, a packed command is a command that indicates a data source data location and a data destination data location. The source and destination data locations may be expressed in different ways and may be translated between different namespaces in different levels of a computing system. For example, source data locations and destination data locations may be expressed in terms of directories and filenames, in terms of logical block addresses, in terms of physical block addresses, etc. The packed command may also indicate an operation to be performed on data between the source and destination data locations, or such an operation may be implied (e.g., from the context of the command or from default settings). For example, a packed copy command can request that data be copied from the source data location to the destination data location, a packed move command can request that data be moved from the source data location to the destination data location, and a packed soft link command can request that an additional storage map table entry link to the data. Other packed commands could also be used, such as packed compression commands, packed encryption commands, and packed RAID p and q calculation commands. In response to receiving the packed command at the storage device, a storage map table in the storage device can be updated. The term storage map table is used herein broadly to refer to any data structure that associates logical location addresses to physical media locations. In addition to storage map table updating, other operations may also be performed in response to the command. For example, these other operations could include reading stored data from the source data location, writing data to new physical locations, etc.
"In another embodiment of the tools and techniques, a processing guide can be sent to a storage device. The processing guide can include a stream indicator associating the processing guide with a storage command stream. As used herein, a processing guide is a set of information, which requests that one or more storage commands be processed in a particular way. A stream is an identified set of one or more storage commands, which can be a subset of commands sent to a storage device. One or more of the commands in the set can include a stream indicator that matches the stream indicator in the processing guide and identifies the command with the stream. As used herein, one stream indicator matches another if the two stream indicators can be identified with each other (and with the associated stream) by comparing the indicators, and possibly by performing some calculations on the indicators, but without reference to the positions or order of the commands and guides as they are transmitted to the storage device.
"As an example, a processing guide may be a flush processing guide that identifies a subset of storage commands sent to a storage device to be flushed to permanent storage. For example, the subset may be all pending write operations (e.g., simple write operations, packed commands including write operations, etc.) identified with one or more streams.
"This Summary is provided to introduce a selection of concepts in a simplified form. The concepts are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Similarly, the invention is not limited to implementations that address the particular techniques, tools, environments, disadvantages, or advantages discussed in the Background, the Detailed Description, or the attached drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
"FIG. 1 is a block diagram of a suitable computing environment in which one or more of the described embodiments may be implemented.
"FIG. 2 is schematic diagram of a storage environment.
"FIG. 3 is a block diagram of a packed storage command.
"FIG. 4 is a block diagram of a set of storage commands and processing guides.
"FIG. 5 is a flow diagram of a packed storage command technique.
"FIG. 6 is a flow diagram of a storage command stream technique.
"FIG. 7 is a flow diagram of a targeted flush technique."
URL and more information on this patent application, see: Obr,
Keywords for this news article include:
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- Criminal Investigation Opened Into James Foley's Death
- Swiss Suicide Tourism Doubled Since 2009
- Florida's Largest Insurer Says 'Bailout' Attacks Unfair
- Wealth Gap Widened in Past Decade: Census
- Gap Reports Higher Profits, India Plans
- International Revulsion Grows Over James Foley Death
- James Foley Beheading Sparks Anger, Little Action
- Beyonce, Jay-Z Cuba Trip Was Legal After All
- Chinese Stock Funds Are a Late-summer Bloomer
- Sears Holdings Loses $573 Million