Researchers Submit Patent Application, “Managing Data Lifecycles Through Decay”, for Approval (USPTO 20220229590): Patent Application
2022 AUG 05 (NewsRx) -- By a
No assignee for this patent application has been made.
News editors obtained the following quote from the background information supplied by the inventors: “This specification generally relates to data storage systems.
“A common architecture for data storage virtualization is a redundant array of independent disks (RAID), where multiple disk drives, also called simply “disks,” are combined into a single logical unit for the purpose of data redundancy and/or parity.
“Many existing storage systems expend significant computational and memory resources ensuring that the data objects stored in the storage system will be available indefinitely, executing costly procedures to preclude the data objects from decaying. Often, the only way for a data object to be removed from the storage system is for the storage system to execute an explicit delete or overwrite command, e.g., in response to a user instruction to remove the data object. Some existing storage systems allow users to schedule data object to be deleted at a particular future time point, e.g., using a cron job; these implementations still require the storage system to execute an explicit delete command.”
As a supplement to the background information on this patent application, NewsRx correspondents also obtained the inventors’ summary information for this patent application: “This specification generally describes a storage system that supports the automatic decay of data according to a predetermined lifetime of the data. For each data object received by the storage system, the storage system can generate a “decay policy” that identifies one or more procedures, to be executed by the storage system, that will enforce the lifetime of the data object.
“In this specification, the lifetime of a data object defines a time period in which the data object should be available for retrieval from a storage system. In some cases, the lifetime can be defined by a single “time-to-live” value that represents a time point from the creation of the data object after which the data object should be unavailable. In some other cases, the lifetime can be defined by a “minimum time-to-live” value and a “maximum time-to-live” value that collectively represent a window of time after the creation of the data object during which the data object should become unavailable. That is, the predetermined lifetime of the data object requires that before the time point represented by the minimum time-to-live, the data object should be available; after the time point represented by the minimum time-to-live and before the time point represented by the maximum time-to-live, the data object may or may not be available; and after the time point represented by the maximum time-to-live, the data object should be unavailable.
“In this specification, data decay is a process whereby data becomes unrecoverable over time, without active processing of the data by the storage system. For example, data decay can occur without issuing any deletion commands or overwrite commands of the data.
“The procedures identified by the decay policy can cumulatively enforce the lifetime of the data object, i.e., cause the data object to decay at a rate corresponding to the lifetime of the data object. Each procedure can be executed by a respective layer of a storage stack of the storage system. For example, the decay policy can define an undervolting procedure whereby a device layer of the storage system provides less voltage to the memory cells that store the data object, causing a raw bit error rate that contributes to the decay of the data object.
“Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.
“As described above, some existing storage systems use significant computational and memory resources ensuring that data objects will be available indefinitely, even in situations where the data object will only need to be stored for a short period of time, e.g., an hour, a day, a week, or a month. In situations in which the lifetime of the data object is known when the data object is placed in the storage system, using these resources to ensure that the data object will be available long after the lifetime of the data object is wasteful. Using techniques described in this specification, a system can generate a decay policy that identifies policies that a storage system can implement to allow the data object to decay based on the lifetime of the data object, saving significant resources and improving the efficiency of the system. In particular, this specification describes techniques for expressing the lifetime of a data object and for implementing mechanisms to enforce the lifetime of the data object by leveraging the capabilities of one or more different layers of a storage stack. Furthermore, in some implementations, a storage system can enforce the lifetime of a data object automatically in a passive manner, i.e., without explicit delete or overwrite commands, further improving the efficiency of the storage system.
“In many situations, the lifetime of a data object is dictated by one or more relevant compliance laws or regulations. For example, in the
“In some implementations described herein, a storage system can establish a particular auto-decay policy as a “default” decay policy for all data objects stored in the storage system. That is, without explicit instructions otherwise, the storage system can enforce the default decay policy for each data object that the storage policy stores. In some such implementations, a user or external system can provide a different decay policy for a particular data object, or instructions that a particular data object is not to decay at all. Thus, the storage system can guarantee that no data object is stored beyond the time it is needed, and that the storage system is not violating relevant regulations with respect to the storage of any data object.
“The media used by storage devices to store data objects naturally decay-no media is perfect in preserving data forever. Using some techniques described in this specification, a storage system can leverage the natural decay of its media to ensure that a data object decays according to a predetermined lifetime of the data object.
“In some existing systems, a storage system can tag a data object with a time-to-live value, and when the storage system receives a read request for the data object, the storage system checks whether the time-to-live has passed. In some such existing system, a garbage collector can also periodically check whether the time-to-live has passed and, if so, reclaim the storage space of the data object. However, if the storage system has not received a read request for the data object and the garbage collector has not yet reclaimed the storage space, then the storage system can continue to store the data object, wasting resources and potentially violating privacy regulations. Using some techniques described in this specification, a storage system can ensure the decay of a data object, according to a predetermined lifetime of the data object, even in the absence of read requests or a garbage collector.
“The details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
“Like reference numbers and designations in the various drawings indicate like elements.”
The claims supplied by the inventors are:
“1. A method comprising: receiving a request to store a data object in a storage device of a storage system; obtaining a user policy identifying a lifetime of the data object; determining, using the lifetime of the data object, a voltage policy for a plurality of memory cells of the storage device, wherein: each of the plurality of memory cells will store one or more bits of the data object; the voltage policy identifies a voltage to provide each memory cell; and an expected time at which raw bit errors of the data object will cause the data object to decay is equal to a time point identified by the lifetime of the data object; and storing the data object in the storage device according to the determined voltage policy.
“2. The method of claim 1, wherein determining the voltage policy comprises determining a number of bits of the data object that must be incorrect for the data object to be considered decayed, wherein the determined number of bits depends on a type of the data object.
“3. The method of claim 1, wherein the voltage policy represents one of a plurality of procedures identified by a decay policy of the data object that enforces the lifetime of the data object, wherein each procedure of the decay policy is executed by a respective component of the storage system.
“4. The method of claim 1, wherein the lifetime of the data object identifies a single time-to-live value that represents a time point after which the data object should be unavailable.
“5. The method of claim 1, wherein the lifetime of the data object identifies (i) a minimum time-to-live value representing a time point before which the data object should be available and (ii) a maximum time-to-live value representing a time point after which the data object should be unavailable.
“6. The method of claim 1, wherein determining the voltage policy comprises determining a relationship between (i) the voltage provided to a memory cell of the storage device and (ii) a likelihood that the memory cell will experience a raw bit error over time.
“7. The method of claim 6, wherein determining the relationship comprises, at each of multiple time points: experimentally providing multiple different voltages to respective memory cells of the storage system and identifying, for each different voltage, identifying an effect of providing the voltage on the likelihood that the respective memory cells will experience a raw bit error over time.
“8. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving a request to store a data object in a storage device of a storage system; obtaining a user policy identifying a lifetime of the data object; determining, using the lifetime of the data object, a voltage policy for a plurality of memory cells of the storage device, wherein: each of the plurality of memory cells will store one or more bits of the data object; the voltage policy identifies a voltage to provide each memory cell; and an expected time at which raw bit errors of the data object will cause the data object to decay is equal to a time point identified by the lifetime of the data object; and storing the data object in the storage device according to the determined voltage policy.
“9. The system of claim 8, wherein determining the voltage policy comprises determining a number of bits of the data object that must be incorrect for the data object to be considered decayed, wherein the determined number of bits depends on a type of the data object.
“10. The system of claim 8, wherein the voltage policy represents one of a plurality of procedures identified by a decay policy of the data object that enforces the lifetime of the data object, wherein each procedure of the decay policy is executed by a respective component of the storage system.
“11. The system of claim 8, wherein the lifetime of the data object identifies a single time-to-live value that represents a time point after which the data object should be unavailable.
“12. The system of claim 8, wherein the lifetime of the data object identifies (i) a minimum time-to-live value representing a time point before which the data object should be available and (ii) a maximum time-to-live value representing a time point after which the data object should be unavailable.
“13. The system of claim 8, wherein determining the voltage policy comprises determining a relationship between (i) the voltage provided to a memory cell of the storage device and (ii) a likelihood that the memory cell will experience a raw bit error over time.
“14. The system of claim 13, wherein determining the relationship comprises, at each of multiple time points: experimentally providing multiple different voltages to respective memory cells of the storage system and identifying, for each different voltage, identifying an effect of providing the voltage on the likelihood that the respective memory cells will experience a raw bit error over time.
“15. One or more non-transitory computer storage media encoded with computer program instructions that when executed by a plurality of computers cause the plurality of computers to perform operations comprising: receiving a request to store a data object in a storage device of a storage system; obtaining a user policy identifying a lifetime of the data object; determining, using the lifetime of the data object, a voltage policy for a plurality of memory cells of the storage device, wherein: each of the plurality of memory cells will store one or more bits of the data object; the voltage policy identifies a voltage to provide each memory cell; and an expected time at which raw bit errors of the data object will cause the data object to decay is equal to a time point identified by the lifetime of the data object; and storing the data object in the storage device according to the determined voltage policy.
“16. The non-transitory computer storage media of claim 15, wherein determining the voltage policy comprises determining a number of bits of the data object that must be incorrect for the data object to be considered decayed, wherein the determined number of bits depends on a type of the data object.
“17. The non-transitory computer storage media of claim 15, wherein the voltage policy represents one of a plurality of procedures identified by a decay policy of the data object that enforces the lifetime of the data object, wherein each procedure of the decay policy is executed by a respective component of the storage system.
“18. The non-transitory computer storage media of claim 15, wherein the lifetime of the data object identifies a single time-to-live value that represents a time point after which the data object should be unavailable.
“19. The non-transitory computer storage media of claim 15, wherein the lifetime of the data object identifies (i) a minimum time-to-live value representing a time point before which the data object should be available and (ii) a maximum time-to-live value representing a time point after which the data object should be unavailable.
“20. The non-transitory computer storage media of claim 15, wherein determining the voltage policy comprises determining a relationship between (i) the voltage provided to a memory cell of the storage device and (ii) a likelihood that the memory cell will experience a raw bit error over time.
“21. The non-transitory computer storage media of claim 20, wherein determining the relationship comprises, at each of multiple time points: experimentally providing multiple different voltages to respective memory cells of the storage system and identifying, for each different voltage, identifying an effect of providing the voltage on the likelihood that the respective memory cells will experience a raw bit error over time.”
For additional information on this patent application, see: Tai, Amy; Wei, Michael. Managing Data Lifecycles Through Decay. Filed
(Our reports deliver fact-based news of research and discoveries from around the world.)
Study Findings from University of Pittsburgh Broaden Understanding of Insurance (A Scoping Review of Us Insurers Use of Patient-reported Outcomes ‘): Insurance
Patent Issued for Machine structured plan description (USPTO 11393039): Collective Health Inc.
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News