US20180024742A1 - Storage media performance management - Google Patents
Storage media performance management Download PDFInfo
- Publication number
- US20180024742A1 US20180024742A1 US15/721,299 US201715721299A US2018024742A1 US 20180024742 A1 US20180024742 A1 US 20180024742A1 US 201715721299 A US201715721299 A US 201715721299A US 2018024742 A1 US2018024742 A1 US 2018024742A1
- Authority
- US
- United States
- Prior art keywords
- data
- certification
- storage
- media
- event notification
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
Definitions
- Data storage devices such as disc drives, solid state drives, solid state hybrid drives, etc.
- Disc drives are widely used as data storage device in computing systems.
- disc drives providers have traditionally increased the capacity of the disc drives by increasing the density of recording on the disc drives.
- storage device providers are under pressure to continue driving down the unit cost.
- a method or system for determining a required certification level of storage area for storing data of a write request based on a characteristic of the data selecting a target storage area based on a media certification table and the required determined required certification level of the media area and storing data at the target storage area.
- FIG. 1 discloses an example system that uses storage media with at least some sections that are partially certified.
- FIG. 2 an example flowchart of operations for storing the data based on the read heat and the write heat of the data.
- FIG. 3 illustrates an example flowchart of operations mirroring data based on the certification level of a target storage location.
- FIG. 4 illustrates an example flowchart for mirroring data or redirecting data to a new storage location.
- FIG. 5 illustrates an example flowchart for processing multiple concurrent, independently sortable, write operations.
- FIG. 6 illustrates an example flowchart for migrating data based on certification levels.
- Disc drives are widely used as data storage devices for computing systems. Such data storage devices, including hard disc drives and solid state hybrid drives, store data on magnetic media, as well as optical media, solid state media such as NAND, NVRAM, Resistive RAM (ReRAM), Magnetic RAM (MRAM), Phase Change Memory (PCM), and other advanced and staid memory technologies.
- data storage providers have to increase the size of the storage devices, as well as the density of the data on the various media. In some implementations, adding more heads and discs may increase the size of the storage devices, however, in other implementations the form factor size of the storage device is increased to achieve larger size.
- every byte of storage capacity that the storage providers provide to their clients has a production cost attached thereto.
- cost may be specified in terms of dollars earned per terabytes.
- disc drive providers and other storage capacity providers it costs more to produce more storage capacity for a given density.
- the price that the storage providers can extract from their clients is limited by market forces. Therefore, the storage providers have incentive to reduce the unit production cost of storage as sold to their clients to increase their profit margin and stay competitive.
- the production capacity of storage device manufacturers is inelastic and huge capital investments are needed to physically expand via new factories, therefore the storage device manufacturers have an incentive to maximize utilization of the existing factory capacity.
- storage device manufacturers are acutely interested in generating more storage capacity throughput per unit manufacturing space.
- One manner in which the storage device manufacturers can generate more storage capacity per unit manufacturing capacity is to reduce the factory time required to produce unit storage capacity. For example, the storage device manufacturers are interested in reducing the factory time per production of 1 TB of storage capacity.
- storage media is certified by the storage media manufacturers for a number of storage media physical properties. Such certification may involve multiple iterations of scanning the storage media for particle defects, manufacturing defects, abnormalities, etc. Such certification often takes a long time (increasing the factory time per TB produced), and of course as the total capacity produced per unit increases, the total certification process becomes commensurately longer per unit. As a result each drive consumes more factory bandwidth or factory throughput capacity.
- Implementations disclosed herein provide for reducing the per unit factory time by reducing the time spent on certification of a given storage capacity (TB).
- the implementations disclosed herein provide the storage media using partial certification (also known as finish-in-the-field) of the device capacity wherein a storage device is shipped to a client with less than the full capacity of the storage media having been fully being certified.
- partial certification also known as finish-in-the-field
- different sections of the storage media are certified to different levels.
- a first section of the storage media is certified at high certification level
- a second section of the storage media is certified at a medium certification level
- a third section of the storage media is certified at a low certification level, etc.
- the certification level may be based on or related to the predictability with which the data can be read from or written to a given section of the storage media (for a given level of reliability). For example, if for a given storage section, the predictability (alternatively reliability, speed, etc.) of writing the data accurately is low, the given section may be given a “low” certification level. Other criteria used to determine the certification level may be the time to write data with given reliability, the time to read data with given reliability, etc.
- the information about the level of certification of the different sections of the various storage media may be stored in a certification table (also referred to as media certification state table, media latency predictability table, media reliability table, etc.), which is also stored on the storage media.
- a certification table may be stored on the sections of the storage media that are certified at a very high level of predictability/reliability.
- sections of highly certified media may also be used for storing other critical system metadata or data such as recording subsystem (RSS) data, etc.
- RSS recording subsystem
- FIG. 1 discloses an example system 100 that uses storage media with at least some sections that are partially certified.
- the system 100 includes a computing device 102 having a processor 104 that is communicatively connected to a storage device 110 . While the system 100 is illustrated to have the storage device 110 external to the computing device 102 , in an alternative implementation, the storage device 110 may be internal to the computing device 102 .
- the storage device 110 may be, for example, a magnetic disc drive, an optical disc drive, a flash drive, other solid state media such as NAND, NVRAM, resistive RAM, mRAM, phase change memory (PCM), solid state hybrid drives, etc.
- the storage device 110 includes a storage controller 112 and storage media 114 .
- the storage controller 112 is configured to receive storage commands from the computing device 102 and process the storage commands to read data from the storage media 114 , write data to the storage media 114 , control movement of a read/write head (if necessary), etc.
- the storage controller 112 is also configured to control various data flow and data migration operations, data caching operations, data steering operations, etc. For example, the storage controller 112 steers data between the host computing device 102 and the storage media 114 , between the storage media 114 and one or more cache memories (not shown) external or internal to the storage device 110 , etc.
- the storage controller 112 also generates and stores the mapping of the storage regions 122 , 124 , 126 to logical block addresses (LBAs). Specifically, the usable storage regions of the storage media 114 are mapped to the LBA space.
- LBAs logical block addresses
- the storage media 114 shown here with an expanded view of a storage area 120 , may be divided into a number of sections such that the certification levels of the various sections are different. Specifically, the storage area 120 is divided into a high certification section 122 , a medium certification section 124 , a low certification section 126 , and an uncertified section (not shown). For example, during the manufacturing of the storage media 114 , the sections of the storage media 114 represented by the high certification section 122 may be scanned and rescanned a number of times to ensure that the number of defects to the media is substantially predictable.
- the sections of the storage media 114 represented by the medium certification section 124 may be scanned relatively few times and as a result, the confidence level of the medium certification section 124 having no defects is low. Finally, the low certification section 126 may be scanned even less number of times. Note that while the illustrated implementation of the storage area 120 is divided into only three sections, in an alternative implementation, a more or less number of sections may be provided.
- the high certification section 122 further includes a certification table 140 that includes information about the certification level of various sections of the storage media 114 .
- the certification table 140 is dynamically managed such that the certification level of various sections of the storage media 114 is updated in a dynamic manner during operation of the storage device 110 . For example, if attempts to write data to or to read data from a particular storage section of the storage media 114 encounters a number of errors above a threshold, that particular section may be associated with a predetermined level of certification and information about such predetermined level of certification may be stored in the certification table 140 to be referenced for later use. Furthermore, the information stored in the certification table 140 may also be copied locally to the storage controller 112 for fast access.
- the storage device 110 also includes a recording subsystem (RSS) section 116 that stores various recording subsystem data, which can be used by the storage controller 112 to reference the storage media 114 .
- RSS recording subsystem
- data stored in the RSS may include at what fly height a recording head of the storage device needs to be operated, how to manage a seek operation, whether defects exists on the storage media, the location of such defects, etc.
- the RSS 116 may be in the form of hardware, firmware, or software stored on the storage controller 112 .
- the manufacturer of the media provides the RSS data and it is supplemented dynamically with other data, such as the data from the certification table 140 , or other metadata from the storage controller 112 .
- the RSS data may also be stored on the storage media 114 .
- the storage controller 112 analyzes various requests received from the host computing device 102 and supplants this with the data from the certification table 140 to determine how to best serve the request. For example, the storage controller 112 may review the data properties of a write request to determine the desired level of certification of the sections where the data is to be stored. Thus, if the computing device 102 sends a write request for writing data with high data heat, the storage controller 112 writes such data to the high certification region 122 .
- the data heat may be determined, for example, based on the number of access requests made to certain part of the storage media per unit time, as determined by the LBA of the requests.
- the data that is directed to those sections, and any proximal data may be assigned a high read heat level.
- the data with high read heat is directed to storage sections with high read certification level.
- the storage controller 112 ascertains it to be cold data region and data for write requests directed to such LBA is directed to storage sections with low certification.
- data with high write heat level may be directed to storage sections with high write certification level, etc.
- some storage sections may be determined for both the read certification level and the write certification level.
- the information about the read certification levels and the write certification levels may be stored in a media certification table.
- the certification level of the target storage section may also be chosen/determined based on the data reliability requirements, compressibility, or other characteristics of the data.
- the computing device 102 sends a write request for writing data that can tolerate some loss, such as video data, high resolution image data, etc., such data may be stored in the medium certification region 124 , or even to the low certification region 126 .
- the storage controller 112 determines whether to mirror the data it is storing on a given section of the storage media 114 based on the known characteristics of the data and/or the certification level of the target storage section. Thus, if the storage controller determines that there is no space available in the high certification section 122 and it has to write some data with a high level of perceived importance to the medium or low certification section 124 , the storage controller 112 may also mirror the data at some other location on the storage device 110 , such a cache, or to another location that is off the storage device 110 . In one implementation, the destination where the mirror data is stored has high certification level for reliability.
- the certification of various data sections on the storage media 114 may also be determined based on the type of operation. For example, some sections of the storage media 114 may have high certification level for writing data where data can be written with high level of predictability. On the other hand, the same sections may have low read predictability, possibly persistent, resulting in predictability low, or low predictability, performance when reading data. Specifically, sections having low predictability are sections that been incompletely certified or never certified. On the other hand, sections having predictably low performance have been at least minimally certified or have had its certification process truncated or limited for various reasons and for which no additional certification is planned. As a result, such predictably low performance may be persistent for a long time, even forever in some circumstances.
- the certification table 140 may maintain the certification information for both read certification and the write certification.
- the storage controller 112 may use such operation specific certification information to direct read and write operations. For example, data directed to a read hot LBAs that is read often may be stored in storage sections with high level of read certification. On the other hand, data directed to write hot LBAs that is written to often is directed to storage sections with high level of write certification.
- FIG. 2 an example flowchart 200 of operations for storing the data based on the read heat (RH) and the write heat (WH) of the data.
- the operations of the flowchart 200 may be implemented, for example, on a storage controller of a storage device.
- An operation 202 receives a write request, such as a write request received at a storage controller from a host computing device.
- the write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data.
- An operation 204 determines the read heat and the write heat of the write data. For example, based on the LBA of the write data, the storage controller may determine the read heat of the write data to be high if there has been a lot of read request to the LBA. Similarly, the storage controller may also determine the write heat based on the number of write requests to the LBA.
- An operation 206 compares the read heat and the write heat of the write data to a read heat threshold (Tr) and a write heat threshold (Tw). Note that while the implementation of the flowchart 200 discloses comparison to only one threshold for each read heat and the write heat, in alternative implementation, a number of heat levels may be used to determine the storage location for the data. As illustrated by 208 , if the read heat is above the read heat threshold and the write heat is below the write heat threshold, the write data is stored to a section with high read heat predictability at operation 210 . On the other hand, if both the read heat is above the read heat threshold and the write heat is above the write heat threshold ( 212 ), the write data is stored to a section with high read heat and write heat certification at operation 214 .
- the write data is stored to a section with low read heat and write heat certification at operation 218 .
- the write data is stored to a section with high write heat certification at operation 222 .
- FIG. 3 illustrates an example flowchart 300 of operations mirroring data based on the certification level of a target storage location.
- An operation 302 receives a write request, such as a write request received at a storage controller from a host computing device.
- the write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data.
- An operation 304 determines the target location where the write data from the request is stored.
- a storage controller may use a table providing mapping of LBA to physical storage locations to determine the target location where the data is to be stored.
- An operation 306 determines values or weights related to various data properties.
- the determined values or weights are used by the storage controller to determine whether the write data should be mirrored or not.
- controller criteria may incorporate information such as the data heat, data compression levels, and other properties of the data, the certification levels of the available target storage location(s), workload rating, etc.
- the workload rating may be similar to the “duty cycle” and can be qualitatively stated as the amount of data moved to a location over lifetime of a drive, the amount of data moved to a location per day, etc.
- a determining operation 308 uses the metadata generated at the operation 306 to determine whether the write data is to be mirrored. For example, the storage controller may use a criteria where weights are given to the data heat levels and the certification levels and if the mirroring score calculated using a weighted combination of such values is above a threshold, the write data is mirrored. For example, if the data heat level is high and the certification level of the target storage location is low, the write data is mirrored.
- an operation 310 stores the data at the target location.
- an operation 312 stores the data at a location with high certification level as mirrored data and concurrently to a NAND, etc. Alternatively, the operation 312 may also mirror the data in other locations such as a cache, etc.
- another operation 314 writes the data to the target location. If the target location has a lower certification level, it may require more than one attempts to write data to the target location. Thus, a determining operation 316 determines whether the write operation was successful. If the write operation is not successful more attempts may be made to store the data at the target location.
- an operation 322 deletes the mirrored data, which, in this case may be stored at a high certification section, a cache, etc. If the write operation is not successful after a predetermined number of attempts, an operation 320 writes the data to a new location, in which case, the mirrored data is unmapped.
- An operation 324 collects the data related to the number of attempts required to store the data at the target location, the success rate for these attempts, etc.
- the operation 324 may also include a learning mechanism that determines and stores the current certification level of the target storage location based on the number of attempts.
- the operation 324 may also collect data from other operations related to the target storage location, such as the number of attempts to read data from the target storage location, etc., that may be used to determine the certification level of the target storage location.
- an operation 330 updates a certification table with the updated certification information, which may be used for subsequent access to the media.
- FIG. 4 illustrates an example flowchart 400 for mirroring data or redirecting data storage to a new storage location.
- An operation 402 receives a write request, such as a write request received at a storage controller from a host computing device.
- the write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data.
- An operation 404 determines the target location where the write data from the request is stored.
- a storage controller may use a table providing mapping of LBA to physical storage locations to determine the target location where the data is to be stored.
- An operation 406 performs a write operation based on the target location. Such as write operation may be a normal write operation or a dynamic write operation, etc. In one implementation, the operation 406 issues more than one concurrent write operation, each write operation directed to a different section of media. For example, the number of concurrent write operations initiated by the operation 406 may depend on data heat or other data property. Processing of such concurrent write operations is further described below in FIG. 5 .
- An operation 408 determines if there are any issues with the write operation. Such issues or troubles may be due to finishedness of the target location, etc. If it is determined that there were no issues or troubles writing the data, the write operation is complete. However, if an issue is detected that prevents the write operation from completion, a determining operation 420 determines whether to redirect the write operation to a different location and/or to mirror the data.
- an operation 422 redirects the write to a different location. Such selection of new location may be based on the certification levels of different storage locations or it may be selected based on some other criteria.
- an operation 424 mirrors the data to a location that has higher level of certification or to some other location, such as storage controller cache, etc.
- the determining operation 420 may decide to both direct the write operation to a new location and to mirror the data. For example, after the operation 424 for mirroring the data is completed, the storage controller may attempt to write the data to a different location, as illustrated by the line 426 . Yet alternatively, the operation 420 may determine that the data is going to be redirected to a different location and mirrored, in which case, an operation 428 for such redirection and mirroring is performed.
- a monitoring operation may monitor the various operations, various writing attempts, etc., of the flowchart 400 , collect data and learn from the operations to determine the certification level of various sections of the storage media. Such learning allows dynamic updating of the certification table as the storage drive is used in field.
- FIG. 5 illustrates an example flowchart 500 for processing multiple write operations.
- An operation 502 receives a write request, such as a write request received at a storage controller from a host computing device.
- the write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data.
- An operation 504 determines the target location where the write data from the request is stored.
- a storage controller may use a table providing mapping of LBA to physical storage locations to determine the target location where the data is to be stored.
- An operation 506 determines if multiple write operations are to be initiated. If it is determined that only one write operation is to be initiated, the control passes to the operation 508 (see operation 406 , FIG. 4 ). Otherwise, an operation 510 initiates more than one concurrent write operations. Subsequently, an operation 512 compares the results of the write operations to determine which operation completed first. In such as case, once at least one of the multiple concurrent write operations is complete, the other operations are canceled. Furthermore, an operation 514 updates the certification levels for the various target sectors where the multiple concurrent operations are directed, based on the response time for completion of such operations.
- FIG. 6 illustrates an example flowchart 600 for migrating data based on certification levels.
- flowchart 600 illustrates migrating data between media sections 652 , 654 , 656 having different certification levels.
- the section 656 may have very high certification level
- the section 654 may have medium level of certification
- the section 652 may have a low level of certification.
- FIG. 6 shows media certification chart 650 with only one certification level for each of the media sections 652 , 654 , 656 , in alternative implementation, each section may have a read certification, a write certification, a read-write certification, etc.
- the operations of the flowchart 600 migrates data between the various media sections 652 , 654 , 656 in response to a timer event 602 or a threshold event 604 .
- the timer event indicates periodic monitoring and analysis. The result of either an event or timer period is possibly the migration of already-stored data to a new storage media location.
- the timer event 602 may be generated by a timer at predetermined time periods.
- the threshold event 604 may be, for example, a signal that indicates that the available space in the high certification area 656 , as shown by the shaded section 670 , is low.
- Other events may be, for example, indication of idle time for a storage controller, receiving of a large data-write request, etc.
- an operation 606 performs data migration analysis. Such analysis may involve, for example, evaluating usage levels of the various media sections 652 , 654 , 656 , evaluating usage of the data stored in these sections, etc.
- the threshold event 604 may determine that certain data stored in the high certification level section 656 has not been used for a while, indicating low read heat for the data and it may designate such data for transfer to a section with lower certification level than the certification level of section 656 .
- the analysis operation 606 may decide that certain data stored in the low certification section 652 has been modified a high number of times and therefore, such data may be marked for migration to the high certification section 656 .
- an operation 608 determines if any data migration is to be performed. If such data migrations are to be performed, migration operation such as 660 - 666 may be performed by an operation 610 .
- migration 660 may be migration of data from high certification level section 656 to medium certification level section 654
- migration 666 may be migration of data from low certification level section 652 to medium certification level section 654 , etc.
- the implementations described herein may be implemented as logical steps in one or more computer systems.
- the logical operations of the various implementations described herein are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems.
- the implementation is a matter of choice, dependent on the performance requirements of the computer system. Accordingly, the logical operations making up the implementations of the implementations described herein are referred to variously as operations, steps, objects, or modules.
- logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
Abstract
A method or system for determining a required certification level of storage area for storing data of a write request based on a characteristic of the data, selecting a target storage area based on a media certification table and the required determined certification level of the media area and storing data at the target storage area.
Description
- This application is a continuation application of U.S. application Ser. No. 14/226,265 filed Mar. 26, 2014, now issued as U.S. Pat. No. ______, the entire disclosures of which are incorporated herein by reference for all purposes.
- The requirements for data storage, retrieval, and analysis have increased along with the need for cheaper and faster data storage devices. Data storage devices, such as disc drives, solid state drives, solid state hybrid drives, etc., store data to various different recording media. This requires various non-volatile storage methods. Disc drives are widely used as data storage device in computing systems. To meet the increasing needs, disc drives providers have traditionally increased the capacity of the disc drives by increasing the density of recording on the disc drives. At the same time, given the vast amount of data being stored and processed by users as well as the competitiveness of the industry, storage device providers are under pressure to continue driving down the unit cost.
- This Summary is provided to introduce a selection of concepts in a simplified form that 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. Other features, details, utilities, and advantages of the claimed subject matter will be apparent from the following, more particular written Detailed Description of various implementations and implementations as further illustrated in the accompanying drawings and defined in the appended claims.
- A method or system for determining a required certification level of storage area for storing data of a write request based on a characteristic of the data, selecting a target storage area based on a media certification table and the required determined required certification level of the media area and storing data at the target storage area.
- These and various other features and advantages will be apparent from a reading of the following detailed description.
- The described technology is best understood from the following Detailed Description describing various implementations read in connection with the accompanying drawings.
-
FIG. 1 discloses an example system that uses storage media with at least some sections that are partially certified. -
FIG. 2 an example flowchart of operations for storing the data based on the read heat and the write heat of the data. -
FIG. 3 illustrates an example flowchart of operations mirroring data based on the certification level of a target storage location. -
FIG. 4 illustrates an example flowchart for mirroring data or redirecting data to a new storage location. -
FIG. 5 illustrates an example flowchart for processing multiple concurrent, independently sortable, write operations. -
FIG. 6 illustrates an example flowchart for migrating data based on certification levels. - In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various implementations described herein. While various features are ascribed to particular implementations, it should be appreciated that the features described with respect to one implementation may be incorporated with other implementations as well. By the same token, however, no single feature or features of any described implementation should be considered essential, as other implementations may omit such features.
- As the requirements for data storage, retrieval, and analysis increases, the need for cheaper and faster data storage devices also increases. Disc drives are widely used as data storage devices for computing systems. Such data storage devices, including hard disc drives and solid state hybrid drives, store data on magnetic media, as well as optical media, solid state media such as NAND, NVRAM, Resistive RAM (ReRAM), Magnetic RAM (MRAM), Phase Change Memory (PCM), and other advanced and staid memory technologies. To meet the increasing need, data storage providers have to increase the size of the storage devices, as well as the density of the data on the various media. In some implementations, adding more heads and discs may increase the size of the storage devices, however, in other implementations the form factor size of the storage device is increased to achieve larger size. Substantially, every byte of storage capacity that the storage providers provide to their clients has a production cost attached thereto. For example, such cost may be specified in terms of dollars earned per terabytes. Generally, for disc drive providers and other storage capacity providers, it costs more to produce more storage capacity for a given density. However, given the competitive nature of the storage industry, the price that the storage providers can extract from their clients is limited by market forces. Therefore, the storage providers have incentive to reduce the unit production cost of storage as sold to their clients to increase their profit margin and stay competitive.
- The production capacity of storage device manufacturers is inelastic and huge capital investments are needed to physically expand via new factories, therefore the storage device manufacturers have an incentive to maximize utilization of the existing factory capacity. In other words, storage device manufacturers are acutely interested in generating more storage capacity throughput per unit manufacturing space. One manner in which the storage device manufacturers can generate more storage capacity per unit manufacturing capacity (in terms of space, time, etc.) is to reduce the factory time required to produce unit storage capacity. For example, the storage device manufacturers are interested in reducing the factory time per production of 1 TB of storage capacity.
- During production of storage media, and during assembly of the storage device, storage media is certified by the storage media manufacturers for a number of storage media physical properties. Such certification may involve multiple iterations of scanning the storage media for particle defects, manufacturing defects, abnormalities, etc. Such certification often takes a long time (increasing the factory time per TB produced), and of course as the total capacity produced per unit increases, the total certification process becomes commensurately longer per unit. As a result each drive consumes more factory bandwidth or factory throughput capacity.
- Implementations disclosed herein provide for reducing the per unit factory time by reducing the time spent on certification of a given storage capacity (TB). Specifically, the implementations disclosed herein provide the storage media using partial certification (also known as finish-in-the-field) of the device capacity wherein a storage device is shipped to a client with less than the full capacity of the storage media having been fully being certified. In some implementations, different sections of the storage media are certified to different levels. Thus, for example, a first section of the storage media is certified at high certification level, a second section of the storage media is certified at a medium certification level, and a third section of the storage media is certified at a low certification level, etc. In some implementation, the certification level may be based on or related to the predictability with which the data can be read from or written to a given section of the storage media (for a given level of reliability). For example, if for a given storage section, the predictability (alternatively reliability, speed, etc.) of writing the data accurately is low, the given section may be given a “low” certification level. Other criteria used to determine the certification level may be the time to write data with given reliability, the time to read data with given reliability, etc.
- In one implementation, the information about the level of certification of the different sections of the various storage media may be stored in a certification table (also referred to as media certification state table, media latency predictability table, media reliability table, etc.), which is also stored on the storage media. Such a certification table may be stored on the sections of the storage media that are certified at a very high level of predictability/reliability. Furthermore, such sections of highly certified media may also be used for storing other critical system metadata or data such as recording subsystem (RSS) data, etc.
-
FIG. 1 discloses anexample system 100 that uses storage media with at least some sections that are partially certified. Specifically, thesystem 100 includes acomputing device 102 having aprocessor 104 that is communicatively connected to astorage device 110. While thesystem 100 is illustrated to have thestorage device 110 external to thecomputing device 102, in an alternative implementation, thestorage device 110 may be internal to thecomputing device 102. Thestorage device 110 may be, for example, a magnetic disc drive, an optical disc drive, a flash drive, other solid state media such as NAND, NVRAM, resistive RAM, mRAM, phase change memory (PCM), solid state hybrid drives, etc. Thestorage device 110 includes astorage controller 112 andstorage media 114. - The
storage controller 112 is configured to receive storage commands from thecomputing device 102 and process the storage commands to read data from thestorage media 114, write data to thestorage media 114, control movement of a read/write head (if necessary), etc. Thestorage controller 112 is also configured to control various data flow and data migration operations, data caching operations, data steering operations, etc. For example, thestorage controller 112 steers data between thehost computing device 102 and thestorage media 114, between thestorage media 114 and one or more cache memories (not shown) external or internal to thestorage device 110, etc. Furthermore, thestorage controller 112 also generates and stores the mapping of thestorage regions storage media 114 are mapped to the LBA space. - In one implementation, the
storage media 114, shown here with an expanded view of astorage area 120, may be divided into a number of sections such that the certification levels of the various sections are different. Specifically, thestorage area 120 is divided into ahigh certification section 122, amedium certification section 124, alow certification section 126, and an uncertified section (not shown). For example, during the manufacturing of thestorage media 114, the sections of thestorage media 114 represented by thehigh certification section 122 may be scanned and rescanned a number of times to ensure that the number of defects to the media is substantially predictable. On the other hand, the sections of thestorage media 114 represented by themedium certification section 124 may be scanned relatively few times and as a result, the confidence level of themedium certification section 124 having no defects is low. Finally, thelow certification section 126 may be scanned even less number of times. Note that while the illustrated implementation of thestorage area 120 is divided into only three sections, in an alternative implementation, a more or less number of sections may be provided. - In one implementation of the
storage device 110, thehigh certification section 122 further includes a certification table 140 that includes information about the certification level of various sections of thestorage media 114. In one implementation, the certification table 140 is dynamically managed such that the certification level of various sections of thestorage media 114 is updated in a dynamic manner during operation of thestorage device 110. For example, if attempts to write data to or to read data from a particular storage section of thestorage media 114 encounters a number of errors above a threshold, that particular section may be associated with a predetermined level of certification and information about such predetermined level of certification may be stored in the certification table 140 to be referenced for later use. Furthermore, the information stored in the certification table 140 may also be copied locally to thestorage controller 112 for fast access. - In one implementation, the
storage device 110 also includes a recording subsystem (RSS)section 116 that stores various recording subsystem data, which can be used by thestorage controller 112 to reference thestorage media 114. For example, such data stored in the RSS may include at what fly height a recording head of the storage device needs to be operated, how to manage a seek operation, whether defects exists on the storage media, the location of such defects, etc. TheRSS 116 may be in the form of hardware, firmware, or software stored on thestorage controller 112. In one implementation, the manufacturer of the media provides the RSS data and it is supplemented dynamically with other data, such as the data from the certification table 140, or other metadata from thestorage controller 112. Furthermore, the RSS data may also be stored on thestorage media 114. - In one implementation, the
storage controller 112 analyzes various requests received from thehost computing device 102 and supplants this with the data from the certification table 140 to determine how to best serve the request. For example, thestorage controller 112 may review the data properties of a write request to determine the desired level of certification of the sections where the data is to be stored. Thus, if thecomputing device 102 sends a write request for writing data with high data heat, thestorage controller 112 writes such data to thehigh certification region 122. The data heat may be determined, for example, based on the number of access requests made to certain part of the storage media per unit time, as determined by the LBA of the requests. - As an example, if a particular LBA block has received a large number of read requests in a predetermined time period, the data that is directed to those sections, and any proximal data, may be assigned a high read heat level. In such a case, the data with high read heat is directed to storage sections with high read certification level. Conversely, if a request to an LBA is rare, the
storage controller 112 ascertains it to be cold data region and data for write requests directed to such LBA is directed to storage sections with low certification. Similarly, data with high write heat level may be directed to storage sections with high write certification level, etc. Furthermore, some storage sections may be determined for both the read certification level and the write certification level. The information about the read certification levels and the write certification levels may be stored in a media certification table. - Furthermore, the certification level of the target storage section may also be chosen/determined based on the data reliability requirements, compressibility, or other characteristics of the data. Thus, for example, if the
computing device 102 sends a write request for writing data that can tolerate some loss, such as video data, high resolution image data, etc., such data may be stored in themedium certification region 124, or even to thelow certification region 126. - Yet alternatively, the
storage controller 112 determines whether to mirror the data it is storing on a given section of thestorage media 114 based on the known characteristics of the data and/or the certification level of the target storage section. Thus, if the storage controller determines that there is no space available in thehigh certification section 122 and it has to write some data with a high level of perceived importance to the medium orlow certification section 124, thestorage controller 112 may also mirror the data at some other location on thestorage device 110, such a cache, or to another location that is off thestorage device 110. In one implementation, the destination where the mirror data is stored has high certification level for reliability. - Furthermore, the certification of various data sections on the
storage media 114 may also be determined based on the type of operation. For example, some sections of thestorage media 114 may have high certification level for writing data where data can be written with high level of predictability. On the other hand, the same sections may have low read predictability, possibly persistent, resulting in predictability low, or low predictability, performance when reading data. Specifically, sections having low predictability are sections that been incompletely certified or never certified. On the other hand, sections having predictably low performance have been at least minimally certified or have had its certification process truncated or limited for various reasons and for which no additional certification is planned. As a result, such predictably low performance may be persistent for a long time, even forever in some circumstances. - The certification table 140 may maintain the certification information for both read certification and the write certification. In such a case, the
storage controller 112 may use such operation specific certification information to direct read and write operations. For example, data directed to a read hot LBAs that is read often may be stored in storage sections with high level of read certification. On the other hand, data directed to write hot LBAs that is written to often is directed to storage sections with high level of write certification. -
FIG. 2 anexample flowchart 200 of operations for storing the data based on the read heat (RH) and the write heat (WH) of the data. The operations of theflowchart 200 may be implemented, for example, on a storage controller of a storage device. Anoperation 202 receives a write request, such as a write request received at a storage controller from a host computing device. The write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data. An operation 204 determines the read heat and the write heat of the write data. For example, based on the LBA of the write data, the storage controller may determine the read heat of the write data to be high if there has been a lot of read request to the LBA. Similarly, the storage controller may also determine the write heat based on the number of write requests to the LBA. - An
operation 206 compares the read heat and the write heat of the write data to a read heat threshold (Tr) and a write heat threshold (Tw). Note that while the implementation of theflowchart 200 discloses comparison to only one threshold for each read heat and the write heat, in alternative implementation, a number of heat levels may be used to determine the storage location for the data. As illustrated by 208, if the read heat is above the read heat threshold and the write heat is below the write heat threshold, the write data is stored to a section with high read heat predictability at operation 210. On the other hand, if both the read heat is above the read heat threshold and the write heat is above the write heat threshold (212), the write data is stored to a section with high read heat and write heat certification atoperation 214. Similarly, if both the read heat is below the read heat threshold and the write heat is below the write heat threshold (216), the write data is stored to a section with low read heat and write heat certification atoperation 218. Finally, as illustrated by 220, if the read heat is below the read heat threshold and the write heat is above the write heat threshold, the write data is stored to a section with high write heat certification atoperation 222. -
FIG. 3 illustrates an example flowchart 300 of operations mirroring data based on the certification level of a target storage location. Anoperation 302 receives a write request, such as a write request received at a storage controller from a host computing device. The write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data. Anoperation 304 determines the target location where the write data from the request is stored. A storage controller may use a table providing mapping of LBA to physical storage locations to determine the target location where the data is to be stored. - An
operation 306 determines values or weights related to various data properties. The determined values or weights are used by the storage controller to determine whether the write data should be mirrored or not. Such controller criteria may incorporate information such as the data heat, data compression levels, and other properties of the data, the certification levels of the available target storage location(s), workload rating, etc. For example, the workload rating may be similar to the “duty cycle” and can be qualitatively stated as the amount of data moved to a location over lifetime of a drive, the amount of data moved to a location per day, etc. - A determining
operation 308 uses the metadata generated at theoperation 306 to determine whether the write data is to be mirrored. For example, the storage controller may use a criteria where weights are given to the data heat levels and the certification levels and if the mirroring score calculated using a weighted combination of such values is above a threshold, the write data is mirrored. For example, if the data heat level is high and the certification level of the target storage location is low, the write data is mirrored. - If it is determined that the data is not to be mirrored, an
operation 310 stores the data at the target location. On the other hand, if it is determined that the data is to be mirrored, anoperation 312 stores the data at a location with high certification level as mirrored data and concurrently to a NAND, etc. Alternatively, theoperation 312 may also mirror the data in other locations such as a cache, etc. Furthermore, another operation 314 writes the data to the target location. If the target location has a lower certification level, it may require more than one attempts to write data to the target location. Thus, a determiningoperation 316 determines whether the write operation was successful. If the write operation is not successful more attempts may be made to store the data at the target location. Once it is determined that the write operation was successful, anoperation 322 deletes the mirrored data, which, in this case may be stored at a high certification section, a cache, etc. If the write operation is not successful after a predetermined number of attempts, anoperation 320 writes the data to a new location, in which case, the mirrored data is unmapped. - An operation 324 collects the data related to the number of attempts required to store the data at the target location, the success rate for these attempts, etc. The operation 324 may also include a learning mechanism that determines and stores the current certification level of the target storage location based on the number of attempts. Furthermore, the operation 324 may also collect data from other operations related to the target storage location, such as the number of attempts to read data from the target storage location, etc., that may be used to determine the certification level of the target storage location. Subsequently, an
operation 330 updates a certification table with the updated certification information, which may be used for subsequent access to the media. -
FIG. 4 illustrates anexample flowchart 400 for mirroring data or redirecting data storage to a new storage location. Anoperation 402 receives a write request, such as a write request received at a storage controller from a host computing device. The write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data. Anoperation 404 determines the target location where the write data from the request is stored. A storage controller may use a table providing mapping of LBA to physical storage locations to determine the target location where the data is to be stored. - An
operation 406 performs a write operation based on the target location. Such as write operation may be a normal write operation or a dynamic write operation, etc. In one implementation, theoperation 406 issues more than one concurrent write operation, each write operation directed to a different section of media. For example, the number of concurrent write operations initiated by theoperation 406 may depend on data heat or other data property. Processing of such concurrent write operations is further described below inFIG. 5 . - An
operation 408 determines if there are any issues with the write operation. Such issues or troubles may be due to finishedness of the target location, etc. If it is determined that there were no issues or troubles writing the data, the write operation is complete. However, if an issue is detected that prevents the write operation from completion, a determiningoperation 420 determines whether to redirect the write operation to a different location and/or to mirror the data. - If it is determined that the write operation is to be redirected, an
operation 422 redirects the write to a different location. Such selection of new location may be based on the certification levels of different storage locations or it may be selected based on some other criteria. On the other hand, if it is decided that the data is to be mirrored, anoperation 424 mirrors the data to a location that has higher level of certification or to some other location, such as storage controller cache, etc. Furthermore, in an alternative implementation, the determiningoperation 420 may decide to both direct the write operation to a new location and to mirror the data. For example, after theoperation 424 for mirroring the data is completed, the storage controller may attempt to write the data to a different location, as illustrated by theline 426. Yet alternatively, theoperation 420 may determine that the data is going to be redirected to a different location and mirrored, in which case, anoperation 428 for such redirection and mirroring is performed. - Furthermore, a monitoring operation (not shown) may monitor the various operations, various writing attempts, etc., of the
flowchart 400, collect data and learn from the operations to determine the certification level of various sections of the storage media. Such learning allows dynamic updating of the certification table as the storage drive is used in field. -
FIG. 5 illustrates anexample flowchart 500 for processing multiple write operations. Anoperation 502 receives a write request, such as a write request received at a storage controller from a host computing device. The write request may specify the LBA of the write data attached to the write request or alternatively, the storage controller may determine the LBA of the write data. Anoperation 504 determines the target location where the write data from the request is stored. A storage controller may use a table providing mapping of LBA to physical storage locations to determine the target location where the data is to be stored. - An
operation 506 determines if multiple write operations are to be initiated. If it is determined that only one write operation is to be initiated, the control passes to the operation 508 (seeoperation 406,FIG. 4 ). Otherwise, anoperation 510 initiates more than one concurrent write operations. Subsequently, anoperation 512 compares the results of the write operations to determine which operation completed first. In such as case, once at least one of the multiple concurrent write operations is complete, the other operations are canceled. Furthermore, anoperation 514 updates the certification levels for the various target sectors where the multiple concurrent operations are directed, based on the response time for completion of such operations. -
FIG. 6 illustrates anexample flowchart 600 for migrating data based on certification levels. Specifically,flowchart 600 illustrates migrating data betweenmedia sections section 656 may have very high certification level, thesection 654 may have medium level of certification, and thesection 652 may have a low level of certification. Note thatFIG. 6 showsmedia certification chart 650 with only one certification level for each of themedia sections - The operations of the
flowchart 600 migrates data between thevarious media sections timer event 602 or athreshold event 604. Herein, the timer event indicates periodic monitoring and analysis. The result of either an event or timer period is possibly the migration of already-stored data to a new storage media location. Thetimer event 602 may be generated by a timer at predetermined time periods. On the other hand, thethreshold event 604 may be, for example, a signal that indicates that the available space in thehigh certification area 656, as shown by the shadedsection 670, is low. Other events may be, for example, indication of idle time for a storage controller, receiving of a large data-write request, etc. In response to the event from one of thetimer event 602 and thethreshold event 604, anoperation 606 performs data migration analysis. Such analysis may involve, for example, evaluating usage levels of thevarious media sections threshold event 604 may determine that certain data stored in the highcertification level section 656 has not been used for a while, indicating low read heat for the data and it may designate such data for transfer to a section with lower certification level than the certification level ofsection 656. Alternatively, theanalysis operation 606 may decide that certain data stored in thelow certification section 652 has been modified a high number of times and therefore, such data may be marked for migration to thehigh certification section 656. - Subsequently, an
operation 608 determines if any data migration is to be performed. If such data migrations are to be performed, migration operation such as 660-666 may be performed by anoperation 610. For example,migration 660 may be migration of data from highcertification level section 656 to mediumcertification level section 654,migration 666 may be migration of data from lowcertification level section 652 to mediumcertification level section 654, etc. - The implementations described herein may be implemented as logical steps in one or more computer systems. The logical operations of the various implementations described herein are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system. Accordingly, the logical operations making up the implementations of the implementations described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
- In the interest of clarity, not all of the routine functions of the implementations described herein are shown and described. It will be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions are made in order to achieve the developer's specific goals, such as compliance with application—and business-related constraints, and that those specific goals will vary from one implementation to another and from one developer to another.
- The above specification, examples, and data provide a complete description of the structure and use of example implementations. Because many alternate implementations can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended. Furthermore, structural features of the different implementations may be combined in yet another implementation without departing from the recited claims.
Claims (20)
1. A method comprising:
receiving a timer event notification;
in response to the timer event notification, determining if certain data is to be moved from a media section having a first certification level to a media section having a second certification level different than the first certification level; and
migrating the certain data.
2. The method of claim 1 , wherein the timer event notification is generated by a timer at predetermined time periods.
3. The method of claim 1 , wherein the timer event notification is generated in response to storage capacity being below a threshold level in a media section having a first certification level.
4. The method of claim 1 , wherein the timer event notification is generated by a signal that indicates that available space in a high certification area is low.
5. The method of claim 1 , wherein the timer event notification is generated by an indication of idle time for a storage controller.
6. The method of claim 1 , wherein the timer event notification is generated by receiving of a large data-write request.
7. The method of claim 1 , further comprising:
performing data migration analysis.
8. The method of claim 7 , wherein the data migration analysis includes evaluating usage levels of media sections.
9. The method of claim 7 , wherein the data migration analysis includes evaluating usage of data stored in media sections.
10. A method comprising:
receiving a timer event notification;
performing data migration analysis;
determining whether migrating data between media sections having different certifications levels is required; and
migrating the data responsive to determining data migration is required.
11. The method of claim 10 , wherein the timer event indicates periodic monitoring and analysis.
12. The method of claim 10 , further comprising:
determining certain data stored in a low certification level section has been modified a predetermined number of times based on the data migration analysis; and
marking the certain data for migration to a high certification level section.
13. The method of claim 10 , wherein the timer event notification is generated in response to storage capacity being below a threshold level in a media section having a first certification level.
14. The method of claim 10 , wherein the timer event notification is generated by a signal that indicates that available space in a high certification area is low.
15. The method of claim 10 , wherein the timer event notification is generated by an indication of idle time for a storage controller.
16. A storage system comprising:
a storage media; and
a storage controller configured to:
receive a timer event notification;
in response to the timer event notification, determine if certain data is to be moved from a media section having a first certification level to a media section having a second certification level different than the first certification level; and
migrate the certain data.
17. The storage device of claim 16 , wherein the wherein the timer event notification is generated in response to storage capacity being below a threshold level in a media section having a first certification level.
18. The storage device of claim 16 , wherein the storage controller is further configured to:
perform data migration analysis.
19. The storage device of claim 18 , wherein the data migration analysis includes evaluating usage levels of media sections.
20. The storage device of claim 18 , wherein the data migration analysis includes evaluating usage of data stored in media sections.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/721,299 US20180024742A1 (en) | 2014-03-26 | 2017-09-29 | Storage media performance management |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/226,265 US9804781B2 (en) | 2014-03-26 | 2014-03-26 | Storage media performance management |
US15/721,299 US20180024742A1 (en) | 2014-03-26 | 2017-09-29 | Storage media performance management |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/226,265 Continuation US9804781B2 (en) | 2014-03-26 | 2014-03-26 | Storage media performance management |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180024742A1 true US20180024742A1 (en) | 2018-01-25 |
Family
ID=54190388
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/226,265 Active 2034-09-02 US9804781B2 (en) | 2014-03-26 | 2014-03-26 | Storage media performance management |
US15/721,241 Active US10346051B2 (en) | 2014-03-26 | 2017-09-29 | Storage media performance management |
US15/721,299 Abandoned US20180024742A1 (en) | 2014-03-26 | 2017-09-29 | Storage media performance management |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/226,265 Active 2034-09-02 US9804781B2 (en) | 2014-03-26 | 2014-03-26 | Storage media performance management |
US15/721,241 Active US10346051B2 (en) | 2014-03-26 | 2017-09-29 | Storage media performance management |
Country Status (1)
Country | Link |
---|---|
US (3) | US9804781B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934673B2 (en) | 2022-08-11 | 2024-03-19 | Seagate Technology Llc | Workload amplification metering and management |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014235677A (en) * | 2013-06-05 | 2014-12-15 | 株式会社東芝 | Data storage device and data storage control method |
JP6516489B2 (en) * | 2015-01-29 | 2019-05-22 | キヤノン株式会社 | Information processing device |
US9952794B2 (en) | 2016-06-27 | 2018-04-24 | Seagate Technology Llc | Transient compression layer |
US11327858B2 (en) | 2020-08-11 | 2022-05-10 | Seagate Technology Llc | Preserving data integrity during controller failure |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005289A1 (en) * | 2001-06-29 | 2003-01-02 | Dominique Gougeon | System and method for downloading of files to a secure terminal |
US7549057B2 (en) * | 2000-07-06 | 2009-06-16 | Lasercard Corporation | Secure transactions with passive storage media |
US20090240717A1 (en) * | 2008-03-20 | 2009-09-24 | Hitachi, Ltd. | Method and apparatus for verifying archived data integrity in integrated storage systems |
US7716720B1 (en) * | 2005-06-17 | 2010-05-11 | Rockwell Collins, Inc. | System for providing secure and trusted computing environments |
US7962702B1 (en) * | 2007-07-09 | 2011-06-14 | Rockwell Collins, Inc. | Multiple independent levels of security (MILS) certifiable RAM paging system |
US20140059680A1 (en) * | 2005-04-01 | 2014-02-27 | Microsoft Corporation | Local secure service partitions for operating system security |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3835977B2 (en) * | 2000-04-25 | 2006-10-18 | 富士通株式会社 | Disc type recording medium format processing method, disc type recording medium, and information recording / reproducing apparatus using the same |
US6628465B2 (en) * | 2001-02-27 | 2003-09-30 | Trace Storage Technologies Corporation | Magnetic media defect detection apparatus and method |
US7536495B2 (en) * | 2001-09-28 | 2009-05-19 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
FR2840748B1 (en) * | 2002-06-05 | 2004-08-27 | France Telecom | METHOD AND SYSTEM FOR VERIFYING ELECTRONIC SIGNATURES AND MICROCIRCUIT CARD FOR IMPLEMENTING THE METHOD |
JP2004070403A (en) * | 2002-08-01 | 2004-03-04 | Hitachi Ltd | File storage destination volume control method |
US8181017B2 (en) * | 2004-10-22 | 2012-05-15 | Nds Limited | Certificate renewal |
US7653847B1 (en) | 2005-05-05 | 2010-01-26 | Seagate Technology Llc | Methods and structure for field flawscan in a dynamically mapped mass storage device |
JP2006338461A (en) * | 2005-06-03 | 2006-12-14 | Hitachi Ltd | System and method for controlling electronic file storage |
US20090310451A1 (en) * | 2006-06-09 | 2009-12-17 | Sung Hoon Kim | Recording medium, and a method and apparatus for managing the recording medium |
JP4943081B2 (en) * | 2006-07-27 | 2012-05-30 | 株式会社日立製作所 | File storage control device and method |
US8473466B1 (en) * | 2007-12-31 | 2013-06-25 | Teradata Us, Inc. | Systems and methods for storing data, such as storing data based on storage classes |
US8767328B2 (en) * | 2009-04-16 | 2014-07-01 | Spectra Logic Corporation | Certifying a data storage medium |
US8661184B2 (en) * | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
CN101788938B (en) * | 2010-03-26 | 2011-12-14 | 北京邮电大学 | Data backup method based on user storing actions |
US8675875B2 (en) * | 2010-05-18 | 2014-03-18 | International Business Machines Corporation | Optimizing use of hardware security modules |
US8437106B2 (en) | 2010-10-08 | 2013-05-07 | Tdk Corporation | Thin film magnetic head including spin-valve film with free layer magnetically connected with shield |
US9129699B2 (en) * | 2011-04-28 | 2015-09-08 | Hitachi, Ltd. | Semiconductor storage apparatus and method including executing refresh in a flash memory based on a reliability period using degree of deterioration and read frequency |
US8935493B1 (en) * | 2011-06-30 | 2015-01-13 | Emc Corporation | Performing data storage optimizations across multiple data storage systems |
US8977804B1 (en) * | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US9529805B2 (en) * | 2011-12-22 | 2016-12-27 | Intel Corporation | Systems and methods for providing dynamic file system awareness on storage devices |
US9086805B2 (en) * | 2012-03-12 | 2015-07-21 | Seagate Technology Llc | Dynamic tracking of storage region operating parameters |
US9122402B2 (en) * | 2013-01-07 | 2015-09-01 | International Business Machines Corporation | Increasing efficiency of block-level processes using data relocation awareness |
-
2014
- 2014-03-26 US US14/226,265 patent/US9804781B2/en active Active
-
2017
- 2017-09-29 US US15/721,241 patent/US10346051B2/en active Active
- 2017-09-29 US US15/721,299 patent/US20180024742A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7549057B2 (en) * | 2000-07-06 | 2009-06-16 | Lasercard Corporation | Secure transactions with passive storage media |
US20030005289A1 (en) * | 2001-06-29 | 2003-01-02 | Dominique Gougeon | System and method for downloading of files to a secure terminal |
US20140059680A1 (en) * | 2005-04-01 | 2014-02-27 | Microsoft Corporation | Local secure service partitions for operating system security |
US7716720B1 (en) * | 2005-06-17 | 2010-05-11 | Rockwell Collins, Inc. | System for providing secure and trusted computing environments |
US7962702B1 (en) * | 2007-07-09 | 2011-06-14 | Rockwell Collins, Inc. | Multiple independent levels of security (MILS) certifiable RAM paging system |
US20090240717A1 (en) * | 2008-03-20 | 2009-09-24 | Hitachi, Ltd. | Method and apparatus for verifying archived data integrity in integrated storage systems |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934673B2 (en) | 2022-08-11 | 2024-03-19 | Seagate Technology Llc | Workload amplification metering and management |
Also Published As
Publication number | Publication date |
---|---|
US10346051B2 (en) | 2019-07-09 |
US9804781B2 (en) | 2017-10-31 |
US20150277761A1 (en) | 2015-10-01 |
US20180024741A1 (en) | 2018-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10346051B2 (en) | Storage media performance management | |
JP4372134B2 (en) | Storage system with data comparison function | |
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
JP4843604B2 (en) | Method and system for obtaining data storage device specific information from data storage device | |
US10037149B2 (en) | Read cache management | |
US10424328B1 (en) | Reduced latency I/O in multi-actuator device | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US20070019315A1 (en) | Data-storage apparatus, data-storage method and recording/reproducing system | |
US20090198748A1 (en) | Apparatus, system, and method for relocating storage pool hot spots | |
JP2005063441A (en) | Hdd controller for handling writes in hdd using 4k block sizes and hdd using the same | |
JP2010009548A (en) | Storage device, control device, storage system, and storage method | |
WO2011062861A1 (en) | Aligning data storage device partition to boundary of physical data sector | |
JP2007156597A (en) | Storage device | |
US8862819B2 (en) | Log structure array | |
US10720200B2 (en) | Reduced latency I/O in multi-actuator device | |
US20190103138A1 (en) | Shingled magnetic recording storage system | |
US7644206B2 (en) | Command queue ordering by positionally pushing access commands | |
JP4461089B2 (en) | Storage control apparatus and storage control method | |
US20060218361A1 (en) | Electronic storage device with rapid data availability | |
JP5594647B2 (en) | Storage apparatus and control method thereof | |
US9672107B1 (en) | Data protection for a data storage device | |
US9588898B1 (en) | Fullness control for media-based cache operating in a steady state | |
US10901866B2 (en) | Failure detection and data recovery in a storage system | |
US7200771B2 (en) | Relocation batch processing for disk drives | |
US7657704B2 (en) | Method and related apparatus for verifying array of disks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOWLES, ANDREW MICHAEL;REEL/FRAME:043745/0678 Effective date: 20140325 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |