STORAGE DEVICE AND BLOCK CHAIN ENABLED COMMUNICATION

Information

  • Patent Application
  • 20190354610
  • Publication Number
    20190354610
  • Date Filed
    May 17, 2018
    6 years ago
  • Date Published
    November 21, 2019
    4 years ago
Abstract
A system includes a storage device configured to store data and further configured to generate service data associated with operation of the storage device. The system further includes a processing component configured to encrypt the service data associated with the operation of the storage device. The processing component is further configured to generate a block of a block chain based on the encrypted service data. The processing component is further configured to update the block chain with the generated block.
Description
SUMMARY

Provided herein is a system that includes a storage device configured to store data and further configured to generate service data associated with operation of the storage device. The system further includes a processing component configured to encrypt the service data associated with the operation of the storage device. The processing component is further configured to generate a block of a block chain based on the encrypted service data. The processing component is further configured to update the block chain with the generated block.


These and other features and advantages will be apparent from a reading of the following detailed description.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 shows a storage medium enterprise system according to one aspect of the present embodiments.



FIG. 2 shows an exemplary communication between a storage medium enterprise system and a processing center according to one aspect of the present embodiments.



FIG. 3 shows a storage medium enterprise system according to one aspect of the present embodiments.



FIGS. 4A-4B show an exemplary communication between a storage medium enterprise system and a processing center and a block chain resulting therefrom according to one aspect of the present embodiments.



FIGS. 5A-5B show an illustrative method for communication between a storage medium enterprise system and a processing center according to one aspect of the present embodiments.



FIGS. 6A-6C show a system according to one aspect of the present embodiments.



FIGS. 7A-7B show another system according to another aspect of the present embodiments.



FIG. 8 shows an illustrative method according to one aspect of the present embodiments.





DESCRIPTION

Before various embodiments are described in greater detail, it should be understood that the embodiments are not limiting, as elements in such embodiments may vary. It should likewise be understood that a particular embodiment described and/or illustrated herein has elements which may be readily separated from the particular embodiment and optionally combined with any of several other embodiments or substituted for elements in any of several other embodiments described herein.


It should also be understood that the terminology used herein is for the purpose of describing the certain concepts, and the terminology is not intended to be limiting. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood in the art to which the embodiments pertain.


Unless indicated otherwise, ordinal numbers (e.g., first, second, third, etc.) are used to distinguish or identify different elements or steps in a group of elements or steps, and do not supply a serial or numerical limitation on the elements or steps of the embodiments thereof. For example, “first,” “second,” and “third” elements or steps need not necessarily appear in that order, and the embodiments thereof need not necessarily be limited to three elements or steps. It should also be understood that the singular forms of “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.


Some portions of the detailed descriptions that follow are presented in terms of procedures, methods, flows, logic blocks, processing, and other symbolic representations of operations performed on a computing device or a server. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of operations or steps or instructions leading to a desired result. The operations or steps are those utilizing physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system or computing device or a processor. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.


It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as “storing,” “determining,” “sending,” “receiving,” “generating,” “creating,” “fetching,” “transmitting,” “facilitating,” “providing,” “forming,” “detecting,” “decrypting,” “encrypting,” “processing,” “updating,” “instantiating,” or the like, refer to actions and processes of a computer system or similar electronic computing device or processor. The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system memories, registers or other such information storage, transmission or display devices.


It is appreciated that present systems and methods can be implemented in a variety of architectures and configurations. For example, present systems and methods can be implemented as part of a distributed computing environment, a cloud computing environment, a client server environment, hard drive, etc. Embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage medium, such as program modules, executed by one or more computers, computing devices, or other devices. By way of example, and not limitation, computer-readable storage media may comprise computer storage media and communication media. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.


Computer storage media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media can include, but is not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed to retrieve that information.


Communication media can embody computer-executable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. Combinations of any of the above can also be included within the scope of computer-readable storage media.


Storage medium enterprise systems may be configured by a system administrator. The storage medium enterprise system may include one or more hard drives and/or one or more solid state drives. In order to configure the enterprise the system, the administrator may be asked to provide certain private information, e.g., name, email address, media access control (MAC) address, Internet Protocol (IP) address, etc. Furthermore, the storage medium enterprise may transmit certain operational information associated with the storage medium enterprise system, e.g., debug log files in response to occurrence of an event, debug data, telemetry stream of data in regular intervals, etc. to a processing center, e.g., manufacturer of the storage medium enterprise system. The operational information may include certain data associated with the operation of the storage medium enterprise system, e.g., data indicating that a hard drive is about to fail, data regarding utilization of a hard drive and/or solid state drive, data regarding bandwidth of a hard drive and/or solid state drive, data regarding storage capacity of a hard drive and/or solid state drive, number of reads, number of writes, head failures, drive failure responsive to occurrence of a requested service action, etc.


Growing concerns over data and privacy have increased the importance of protecting and tracking the data being transmitted from the storage medium enterprise system to one or more processing centers. In some embodiments, a block chain technology may be utilized to encrypt the operational data and/or the private information being transmitted from the storage medium enterprise system to a processing center. Moreover, encrypting the processed data by the processing center and further encrypting the processed data prior to transmission to other entities, e.g., other processing centers, the storage medium enterprise system, etc. may be desired. Block chain may be shared with various nodes within the network, e.g., a storage medium enterprise system, one or more processing entities, etc., in a cryptographically secure manner. According to some embodiments, new data may be encrypted and appended to the end of the block chain and prevent prior data within the block chain from being modified. As such, any data generated or processed, whether public/private, can be tracked and cannot be modified without breaking the block chain. Thus, access to data can be revoked and implemented efficiently if the data owner, e.g., customer, system administrator, etc., wishes to revoke access to data because the data is tracked using the block chain technology. Furthermore, in some embodiments a layered block chain may be used where more sensitive data, e.g., private information, may be encrypted in such a fashion that the data is not visible to public or an unauthorized user while encrypting non sensitive data, e.g., operational data of the storage medium enterprise system, in such as fashion that makes the data visible to public.


Furthermore, growing concerns over data and privacy, especially service data generated by a storage device, e.g., configuration data, debug data such as IP addresses, I/O statistics, errors, etc., have increased the importance of protecting and tracking the data being transmitted from the storage device to one or more processing centers, e.g., manufacturer of the device. In some embodiments, a block chain technology may be utilized to encrypt the generated service data and to ensure integrity of the device. According to some embodiments, new service data may be encrypted and appended to the end of the block chain and prevent prior data within the block chain from being modified. As such, any data generated or processed, whether public/private, can be tracked and cannot be modified without breaking the block chain. Thus, access to service data can be revoked and implemented efficiently if the data owner, e.g., customer, system administrator, etc., wishes to revoke access to data because the data is tracked using the block chain technology. Furthermore, in some embodiments a layered block chain may be used where more sensitive data, e.g., private information, certain service data types, etc. may be encrypted in such a fashion that the service data is not visible to public or an unauthorized user while encrypting non sensitive data in such as fashion that makes the data visible to public.


It is appreciated that throughout the application references are going to be made to data in general and the need to encrypt the data. However, it is appreciated that the references to data is for private data of the system administrator that is used to configure the storage medium enterprise system and/or operational data associated with the storage medium enterprise system. Accordingly, access to data whether private or public may be revoked at any time by the owner of the data since access to data can be tracked using block chain technology.


Referring now to FIG. 1, a storage medium enterprise system according to one aspect of the present embodiments is shown. The system 100 includes a storage medium enterprise 110, a block chain unit 112, processing centers 120, 130, and 140 and block chain units 122 and 132. It is appreciated that the block chain units are components that encrypt the data with block chain technology. For example, the block chain unit 112 coupled to the storage medium enterprise 110 is configured to encrypt data from the storage medium enterprise 110 based on a block chain technology.


The storage medium enterprise 110 may include one or more hard drives and/or one or more solid state drives. Storage medium enterprise 110 is configured by a system administrator. In order to configure the storage medium enterprise 110 the administrator may be asked to provide certain private information, e.g., name, email address, media access control (MAC) address, Internet Protocol (IP) address, etc. Furthermore, the storage medium enterprise 110 may generate certain operational information associated with the storage medium enterprise 110, e.g., debug log files, debug data, telemetry stream of data in regular intervals, etc. It is appreciated that the generation of the operational information may be in response to occurrence of a certain event or it may be generated automatically in frequent intervals. For example, the operational information may be generated when a certain event occurs, e.g., utilization of the storage medium exceeds a certain threshold, indication that a drive is about to fail, number of reads exceeds a certain threshold, number writes exceeds a certain threshold, a predetermined amount of time has passed, a certain amount of capacity has been utilized, etc. It is appreciated that the operational data may include information associated with the operation of the storage medium enterprise 110, e.g., data indicating that a hard drive within the storage medium enterprise 110 is about to fail, data regarding utilization of a hard drive and/or solid state drive within the storage medium enterprise 110, data regarding bandwidth of a hard drive and/or solid state drive within the storage medium enterprise 110, data regarding storage capacity of a hard drive and/or solid state drive within the storage medium enterprise 110, number of reads of a drive within the storage medium enterprise 110, number of writes of a drive within the storage medium enterprise 110, head failures of a drive within the storage medium enterprise 110, drive failure responsive to occurrence of a requested service action within the storage medium enterprise 110, etc.


Operational data generated by the storage medium enterprise 110 is encrypted in a cryptographically secure manner via the block chain unit 112, using a block chain technology. Moreover, the block chain unit 112 may encrypt the private information of the administrator of the storage medium enterprise 110 in a cryptographically secure manner. According to some embodiments, a layered block chain may be used where a more sensitive data, e.g., private information, may be encrypted in such a fashion that the data is not visible to public or unauthorized user while encrypting non-sensitive data, e.g., operational data of the storage medium enterprise system, in such as fashion that makes the data visible to public. For example, a cryptographic one-way function, e.g., hash function, password-based key derivation function 2, pseudorandom function such as SHA256, etc., may be used to encrypt the private information such that the content of the private information is kept private even if the block chain is made public. In some embodiments, the proof and/or meta data associated with the private information may be included in the attestation for the block chain but not the actual content of the private information itself such that when published the private information is kept private. It is appreciated that in some embodiments, the storage medium enterprise 110 and the block chain unit 112 may be within an integrated unit.


The data once encrypted is appended to the end of the block chain and prior data within the block chain is prevented from being modified without breaking the block chain. It is appreciated that the block chain unit 112 may initially use a hardware root key in order to instantiate the block chain. The hardware root key is a unique key for each component, e.g., a hard drive, a solid state drive, etc.


In some embodiments, the block chain data is transmitted from the block chain unit 112 to the processing center 120. The processing center 120 may be an entity that services and/or manufactured the storage medium enterprise 110. The processing center 120 may access the block chain and process the data, e.g., private data, operational data, etc. as long as the processing center 120 is authorized to do so. For example, the processing center 120 may decrypt the encrypted data, if authorized to do so, in order to process the data. It is appreciated that a permissioned block chain may be used in order to control access to the network, and therefore the block chain. The processed data by the processing center 120 may be transmitted to the block chain unit 122 to be encrypted as a block within the block chain. It is appreciated that in some embodiments, the processing center 120 and the block chain unit 122 may be within an integrated unit. The processed data may be encrypted using the block chain unit 122 similar to the operation of the block chain unit 112. It is appreciated that the newly added block of the block chain may be propagated to all the nodes in order to update the block chain at each node. For example, the block added to the block chain by the block chain unit 122 may be propagated to the storage medium enterprise 110 and the block chain unit 112. Similarly, the block added to the block chain by the block chain unit 122 may be propagated to the processing centers 130, 140, etc.


In some embodiments, the block chain may be used by other nodes. For example, the block chain may be used by the processing center 130 for further processing. It is appreciated that the processing center 130 may be an entity that services and/or manufactured the storage medium enterprise 110. The processing center 130 may access the block chain and process the data, e.g., private data, operational data, etc. as long as the processing center 130 is authorized to do so. It is appreciated that a permissioned block chain may be used in order to control access to the network, and therefore the block chain. For example, the processing center 130 may decrypt the encrypted data, if authorized to do so, in order to process the data. The processed data by the processing center 130 may be transmitted to the block chain unit 132 to be encrypted as a block within the block chain. It is appreciated that in some embodiments, the processing center 130 and the block chain unit 132 may be within an integrated unit. The processed data may be encrypted using the block chain unit 132 similar to the operation of the block chain unit 112. It is appreciated that the newly added block of the block chain may be propagated to all the nodes in order to update the block chain at each node.


It is appreciated that more data may be generated by the storage medium enterprise 110 and may be appended as a block of the block chain, as described above. The appended block and the updated block chain is propagated to other nodes.


Accordingly, a block chain is created for private data and/or the operational data associated with the storage medium enterprise 110 and processed data thereof. The block chain grows over time as more data is created and/or processed. The blocks of the block chain are linked in a secure fashion using cryptography and may contain a hash pointer as a link to its previous block, a timestamp, and the data. It is appreciated that in some embodiments, data, e.g., private data, operational data, processed data, etc. may be hashed and encoded into a Merkle tree. As such, each block may include a hash of its prior block in the block chain, thereby linking the two blocks. Thus, the integrity of previous blocks may be confirmed. Moreover, access to data may be controlled and tracked. As such, access to data may be revoked by the system administrator since every entity that has access to the data can be tracked using block chain.


Referring now to FIG. 2, an exemplary communication between a storage medium enterprise system and a processing center according to one aspect of the present embodiments is shown. System 200 includes the storage medium enterprise 110, the block chain unit 112, the processing center 120, the block chain unit 122, the processing center 130, and the block chain unit 132. It is appreciated that the storage medium enterprise 110, the block chain unit 112, the processing centers 120-130 and the block chains 122 and 132 operate substantially similar to those described in FIG. 1. In this example, the storage medium enterprise 110, at time to, transmits data 211 to the block chain unit 112. The data may include operational data associated with the storage medium enterprise 110 and/or private data associated with the administrator of the storage medium enterprise 110. The data may be encrypted and inserted as a block to a block chain using the block chain unit 112 to form a first block chain. The block chain is then updated throughout the nodes within the network with the first block chain. For example, the block chain is updated for the processing centers 120 and 130 with the first block chain.


At time t1, that data in the first block chain may be used by the processing unit 120 for processing. The processing center 120 may process the data, if it is authorized to do so. The processed data may be transmitted at time t2 to the block chain unit 122 to generate a block based on the processed data. The block chain may be updated to form a second block chain based on the block generated by the block chain unit 122 which includes the encrypted processed data. The block chain may be updated throughout the nodes within the network.


At time t3 the storage medium enterprise 110 may generate additional data, e.g., additional operational data. The additional operational data may be transmitted 219 to the block chain unit 112. The block chain 112 may encrypt the newly generated data and append it as a new block to the block chain, at time t4 to form a third block chain. The block chain is then updated throughout the nodes of the network.


The processing center 130 may process the data, if it is authorized to do so. The processed data may be transmitted at time t5 to the block chain unit 132 to generate a block based on the processed data to form a fourth block chain. The block chain may be updated based on the block generated by the block chain unit 132 which includes the encrypted processed data. The block chain may be updated throughout the nodes within the network.


It is appreciated that the processing center 120 may process the data, if it is authorized to do so, at time t6. The processed data may be transmitted 219 at time t7 to the block chain unit 122 to generate a block based on the processed data to form a fifth block chain. The block chain may be updated based on the block generated by the block chain unit 122 which includes the encrypted processed data. The block chain may be updated throughout the nodes within the network.


It is appreciated that the processing center 130 may process the data, if it is authorized to do so, at time t8. The processed data may be transmitted at time t9 to the block chain unit 132 to generate a block based on the processed data to form a sixth block chain. The block chain may be updated based on the block generated by the block chain unit 132 which includes the encrypted processed data. The block chain may be updated throughout the nodes within the network.


It is appreciated that the first block chain, the second block chain, the third block chain, the fourth block chain, the fifth block chain, and the sixth block chain refer to the same block chain that has been updated with new blocks as new data has been appended as a new block.


Referring now to FIG. 3, a storage medium enterprise system according to one aspect of the present embodiments is shown. The storage medium enterprise 310 may be coupled to the data aggregation unit 360 which is further coupled to the block chain unit 370. It is appreciated that the storage medium enterprise 310 may be similar to that of FIGS. 1 and 2. Moreover, the block chain unit 370 may be similar to those described in FIGS. 1 and 2.


In this embodiment, the storage medium enterprise 310 may include a plurality of hard drives 320, . . . , 330 and a plurality of solid state drives 340, . . . , 350. Operational data generated by each drive and/or the private data of the administrator may be transmitted to the data aggregation unit 360. The data aggregation unit 360 may package the data into one package and send it to the block chain unit 370 to be encrypted and be appended as a block to the block chain. It is appreciated that the data aggregation unit 360 may collect and aggregate data over a period of time, e.g., 5 minutes, 10 minutes, 1 hour, 1 day, etc. In some embodiments, the data aggregation unit 360 may package similar data together, e.g., operational data together, private data together, data from hard drives together, data from the solid state drives together, etc. It is appreciated that the data aggregation unit 360 may receive further data after the prior received data is aggregated by the data aggregation unit 360 and transmitted to the block chain unit 370 to be encrypted and appended as a block to the block chain. The additional data that is received may be similarly aggregated over time, in some embodiments, and transmitted to the block chain unit 370 for encryption in order to be added as a block to the block chain. Thus, newly received data may similarly be formed into a new block and appended to the block chain. Accordingly, the data may be tracked using the block chain technology.


Referring now to FIGS. 4A-4B, an exemplary communication between a storage medium enterprise system and a processing center and a block chain resulting therefrom according to one aspect of the present embodiments are shown. System 400 may include data generator units 410, 420, and 430, and processing centers 440, 450, and 460. The data generator units 410, 420, and 430 may be similar to the storage medium enterprise as described in FIGS. 1-3. In some embodiments, the data generator units 410, 420, and 430 may be the drives within the storage medium enterprise, as described in FIG. 3.


The data generator unit 410 may generate data at time to. The generated data is encrypted using a block chain unit (not shown but as described above) in order to generate a block, data block A 452, of a block chain data 490. In some embodiments, the data generator unit 410 may generate additional data B, at time t1, that is encrypted using a block chain unit (not shown but as described above) in order to generate a block, data block B 454, of the block chain data 490. The processing center 440 may process a data, e.g., data block B 454, at time t2, within the block chain data 490. The processed data B may be encrypted using a block chain unit (not shown but as described above) in order to generate a block, e.g., a processed data B 456, of the block chain 490. The data generator unit 420 may generate data, e.g., data C, at time t3, which is encrypted using a block chain unit (now shown but as described above) in order to generate a block, e.g., data block C 458, of the block chain 490. The processing center 440 may process a data, e.g., data block C 458, at time t4, within the block chain data 490. The processed data C may be encrypted using a block chain unit (not shown but as described above) in order to generate a block, e.g., a processed data C 462, of the block chain 490. The data generator unit 430 may generate data, e.g., data D, at time t5, which is encrypted using a block chain unit (now shown but as described above) in order to generate a block, e.g., data block D 464, of the block chain 490. The processing center 460 may process a data, e.g., data block D 464, at time t6, within the block chain data 490. The processed data D may be encrypted using a block chain unit (not shown but as described above) in order to generate a block, e.g., a processed data D 464, of the block chain 490. It is appreciated that at each step of generating a block of the block chain, the block chain is update and the information is propagated to every node of the network.


Referring now to FIGS. 5A-5B, an illustrative method 500 for communication between a storage medium enterprise system and a processing center according to one aspect of the present embodiments is shown. At step 510, a first operational data may be generated. It is appreciated that the operational data may be similar to those described above. The first operational data may be associated with the operation of the storage medium enterprise, as described above. At step 512, a block chain may be instantiated using optionally a hardware root key that may be unique to the storage medium enterprise. At step 520, a first block of the block chain may be formed, e.g., by encrypting the first operational data using the hardware root key. At step 530, the block chain may be transmitted to a plurality of nodes within the network. It is appreciated that the nodes of the plurality of nodes may include drives within the storage medium enterprise and/or processing entities. At step 540, a block, e.g., first block, of the block chain may be decrypted by a node that is authorized to do so. At step 550, the decrypted block, e.g., decrypted first operational data, may be processed and at step 560 a new block may be formed based on the processed data. For example, the processed data may be encrypted using a block chain unit to form a second block of the block chain. At step 570, the block chain may be updated with the second block, e.g., the second block may be appended to the first block. At step 580, optionally a block of the block chain may be formed based on the personally identifiable information, e.g., name, email address, media access control (MAC) address, and Internet Protocol (IP) address. At step 590, a second operational data may be generated, e.g., by a storage medium enterprise, etc. The second operational data may be formed into another block within the block chain, at step 592. At step 594, the block chain may be updated based on the another block that was formed, e.g., by appending the another block to the block chain. The updated block chain may be propagated to the nodes within the network. It is appreciated that the blocks of the block chain may be formed by encoding the data into a Merkle tree.


Referring now to FIGS. 6A-6C, a system according to one aspect of the present embodiments is shown. Referring specifically to FIG. 6A, a storage device 610, e.g., a hard drive, a solid state drive, a hybrid drive, etc., is shown in communication with the processing component 620, e.g., a central processing unit, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a graphics pipeline unit (GPU), etc. The storage device 610 may be similar to the storage device(s) described above and may be configured to store data, e.g., user data, processed data, etc. The storage device 610 is further configured to generate service data associated with the operation of the storage device 610. Service data may include name, email address, media access control (MAC) address, Internet Protocol (IP) address, drive failure, a number of reads, a number of writes, utilization of the hard drive, Input/Output (I/0) statistics, host name, errors, auto login information, configuration information, debug information, a unique identifier of the system, a model number, a serial number, etc. The service data is valuable information for the manufacturer of the storage device in order to improve the performance of the storage device 610. As such, the service data may be shared with the manufacturer, as desired.


The storage device 610 may transmit the service data, e.g., at a regular time interval which may be programmable, or on demand, etc., to the processing component 620. The processing component is configured to generate a block of a block chain based on the received service data. It is appreciated that in some embodiments, the processing component 620 is configured to encrypt the received service data before generating the block of the block chain. The generated block may be the first block of the block chain 622 (i.e. at the beginning). The generated block may be transmitted to a ledger 630 via a network.


It is appreciated that in some embodiments, the processing component 620 may be configured to also generate a digital certificate that is unique to the storage device 610. The digital certificate may include a key (that may be a public key) that can be used to decrypt the encrypted service data. In some embodiments, the digital certificate may be generated using a root key (i.e. private key) associated with the storage device 610. The digital certificate may be used to encode personally identifiable information, e.g., IP address, name, email address, etc., associated with the administrator of the storage device 610. According to some embodiments, the generated block of the block chain may be further based on the generated digital certificate.


It is appreciated that the key, e.g., the public key, may be used to decrypt the encrypted service data. As such, the origin of the service data may be verified and integrity of the data may be validated. It is further appreciated that the key may be used to provide various users with different accessibility. For example, a first user may be given access to all data until permission to accessed is revoked whereas another user may be given access to all data for a certain period of time and yet another user may be given access to a subset of all data for a certain period, etc. In other words, the key may be used to program accessibility to the generated service data.


Referring now to FIG. 6B, additional service data is generated by the storage device 610. For example, after generating the first block of the block chain, additional service data is generated and another block of the block chain is generated similar to FIG. 6A. For example, a second block of the block chain 624 may be generated similar to the first block 622, however, the second block chain 624 occurs after the first block chain 622 is generated. It is appreciated that additional blocks of the block chain may similarly be generated as time goes on. For example, referring now to FIG. 6C, Nth block 626 of the block chain may be generated.


Referring now to FIGS. 7A-7B, another system according to another aspect of the present embodiments is shown. The system as shown in FIGS. 7A-7B is substantially similar to that of FIGS. 6A-6C except that in FIGS. 7A-7B different service data types are formed into different blocks of the block chain. For example, a first service data type generated by the storage 610 may be formed into a first block 722 of the block chain and a second service data type generated by the storage device 610 may be formed into a second block 724 of the block chain. Service data types may be name, email address, MAC address, IP address, drive failure, a number of reads, a number of writes, utilization of the hard drive, I/O statistics, host name, errors, auto login information, configuration information, debug information, etc. In other words, service data for MAC address may be a first type whereas the I/O statistics may be a second type, whereas drive failures may be a third type, etc. Referring now to FIG. 7B, additional blocks, e.g., blocks 726 and 728, of the block chain are generated based on the first type of service data and second type of service data where they occur at a later time in comparison to the first block 722 and the second block 724. Accordingly, granularity is provided with respect to different service data types. Moreover, the provided granularity enables different accessibility to be achieved. For example, one user may be given access to service data associated with the MAC address while another user may be given access to service data associated with the I/O statistics, etc.


Referring now to FIG. 8, an illustrative method according to one aspect of the present embodiments is shown. At step 810, service data associated with the operation of the storage device may be generated. The service data may be optionally encrypted, at step 820. It is appreciated that a digital certificate may optionally be generated at step 830, as described above. It is appreciated that at step 840, a block of the block chain may be generated. In some embodiments, a different block may be generated for each service data type. For example, at step 842, a block may be generated based on a first data type and at step 844, a block may be generated based on a second data type. It is appreciated that there are no limits on the number of data types that can be used. At step 850, in response to receiving a revocation request to revoke access to service data, a key used to decrypt service data may be deactivated. Thus, access to service data may be controlled. It is also appreciated that as described above, the process repeats over time, e.g., programmed to repeat in regular intervals, on demand, etc.


While the embodiments have been described and/or illustrated by means of particular examples, and while these embodiments and/or examples have been described in considerable detail, it is not the intention of the Applicants to restrict or in any way limit the scope of the embodiments to such detail. Additional adaptations and/or modifications of the embodiments may readily appear, and, in its broader aspects, the embodiments may encompass these adaptations and/or modifications. Accordingly, departures may be made from the foregoing embodiments and/or examples without departing from the scope of the concepts described herein. The implementations described above and other implementations are within the scope of the following claims.

Claims
  • 1. A system comprising: a storage device configured to store data and further configured to generate service data associated with operation of the storage device; anda processing component configured to encrypt the service data associated with the operation of the storage device, and wherein the processing component is further configured to generate a digital certificate comprising a key for decrypting the encrypted service data, and wherein the processing component is further configured to generate a block of a block chain based on the encrypted service data and the digital certificate, and wherein the processing component is further configured to update the block chain with the generated block.
  • 2. The system as described in claim 1, wherein the digital certificate encodes personally identifiable information associated with administrator of the storage device.
  • 3. The system as described in claim 2, wherein a root key is used to encrypt the digital certificate.
  • 4. The system as described in claim 3, wherein the root key used to encrypt the digital certificate uses a private key.
  • 5. The system as described in claim 1, wherein the key for decrypting the encrypted service data is a public key used to validate origin of the service data.
  • 6. The system as described in claim 1, wherein the service data is selected from a group consisting of name, email address, media access control (MAC) address, a unique identifier of the system, a model number, a serial number, and Internet Protocol (IP) address.
  • 7. The system as described in claim 1, wherein the service data is selected from a group consisting of drive failure, a number of reads, a number of writes, utilization of the storage device, Input/Output (I/O) statistics, host name, errors, auto login information, configuration information, and debug information.
  • 8. The system as described in claim 1, wherein the generated service data comprises different data types and wherein each data type is encrypted and formed into a different block within the block chain.
  • 9. The system as described in claim 1, wherein a key for decrypting the encrypted service data is revocable.
  • 10. A system comprising: a storage device configured to store data and further configured to generate service data associated with operation of the storage device; anda processing component configured to encrypt the service data associated with the operation of the storage device, and wherein the processing component is further configured to generate a block of a block chain based on the encrypted service data and wherein the processing component is further configured to update the block chain with the generated block.
  • 11. The system as described in claim 10, wherein a public key is used to validate origin of the service data.
  • 12. The system as described in claim 10, wherein the service data is selected from a group consisting of name, email address, media access control (MAC) address, a unique identifier of the system, a model number, a serial number, and Internet Protocol (IP) address.
  • 13. The system as described in claim 10, wherein the service data is selected from a group consisting of drive failure, a number of reads, a number of writes, utilization of the hard drive, Input/Output (I/0) statistics, host name, errors, auto login information, configuration information, and debug information.
  • 14. The system as described in claim 10, wherein the generated service data comprises different data types and wherein each data type is encrypted and formed into a different block within the block chain.
  • 15. The system as described in claim 10, wherein a key for decrypting the encrypted service data is revocable.
  • 16. A method comprising: generating service data associated with operation of a storage device;encrypting the service data associated with the operation of the storage device;generating a block of a block chain based on the encrypted service data; andupdating the block chain.
  • 17. The method as described in claim 16 further comprising: generating a digital certificate comprising a key for decrypting the encrypted service data.
  • 18. The method as described in claim 16, wherein the digital certificate encodes personally identifiable information associated with administrator of the storage device.
  • 19. The method as described in claim 18, wherein a root key is used to encrypt the digital certificate.
  • 20. The method as described in claim 16, wherein the service data is selected from a group consisting of name, email address, media access control (MAC) address, a unique identifier of the system, a model number, a serial number, and Internet Protocol (IP) address.
  • 21. The method as described in claim 16, wherein the service data is selected from a group consisting of drive failure, a number of reads, a number of writes, utilization of the hard drive, Input/Output (I/0) statistics, host name, errors, auto login information, configuration information, and debug information.
  • 22. The method as described in claim 16 further comprising: generating a block for the block chain for the service data of a first type; andgenerating another block of the block chain for the service data of a second type.
  • 23. The method as described in claim 16 further comprising: revoking a key for decrypting the encrypted service data in response to a revocation request from owner of the storage device.