Patents Examined by Larry MacKall
-
Patent number: 9678671Abstract: Embodiments of the invention are directed to optimizing the selection of memory blocks for garbage collection in solid state devices to efficiently maximize the amount of memory freed by garbage collection operations. The systems and methods disclosed herein provide for the efficient selection of optimal or near-optimal garbage collection candidate blocks, with the most optimal selection defined as block(s) with the most invalid pages. In one embodiment, a controller classifies memory blocks into various invalid block pools by the amount of invalid pages each block contains. In one embodiment, the controller selects for garbage collection a block from a non-empty pool of blocks with the highest minimum amount of invalid pages. One or more of the pools have minimum thresholds that can be dynamically adjusted according to an observed usage condition, such as a change of an over-provisioning amount in the storage state device.Type: GrantFiled: October 12, 2015Date of Patent: June 13, 2017Assignee: Western Digital Technologies, Inc.Inventors: Ho-Fan Kang, Jerry Lo, Johnny Lam
-
Patent number: 9658951Abstract: In a method for storing packets in a network device, a processor and a plurality of memory banks for storing packet data during processing of packets by the processor are provided on an integrated circuit device. Each memory bank has a separate channel for transferring data. A plurality of buffers are defined such that each buffer in the plurality of buffers includes a respective memory space in more than one memory bank and less than all memory banks. A buffer of the plurality of buffers is allocated for storing a single packet or a portion of a single packet. The single packet or the portion of the single packet in the allocated buffer.Type: GrantFiled: November 1, 2012Date of Patent: May 23, 2017Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Evgeny Shumsky, Carmi Arad, Gil Levy, Ehud Sivan
-
Patent number: 9652163Abstract: A method for releasing storage space in a space-efficient volume is disclosed. In one embodiment, such a method includes maintaining, for a space-efficient volume, a bitmap comprising a bit for each track in the space-efficient volume. A host system indicates whether a track is one of used and unused by marking the corresponding bit in the bitmap. A storage controller reads the bitmap and frees tracks from the space-efficient volume that the bitmap indicates are unused. In certain embodiments, the bitmap is stored on the space-efficient volume. For example, the bitmap may be appended to a volume table of contents (VTOC) stored on the space-efficient volume. A corresponding system and computer program product are also disclosed.Type: GrantFiled: May 3, 2015Date of Patent: May 16, 2017Assignee: International Business Machines CorporationInventors: Thomas W. Bish, Nikhil Khandelwal, Gregory E. McBride, David C. Reed, Richard A. Welp
-
Patent number: 9645925Abstract: A method of controlling a non-volatile memory system including a non-volatile memory device having a non-volatile memory cell array is disclosed. The method includes: determining environment information corresponding to a communication speed relating to a transmission medium to which the non-volatile memory device is connected; selecting a management operation mode based on the determined environment information; and performing a memory managing operation on the non-volatile memory device using the selected management operation mode during an idle time of the non-volatile memory device.Type: GrantFiled: November 26, 2014Date of Patent: May 9, 2017Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Byung-yo Lee
-
Patent number: 9645768Abstract: A byte addressable storing system is provided. The byte addressable storing system includes a data transmission interface and a processing unit. The data transmission interface connects to a byte addressable storing device. The processing unit creates a primary metadata table, a secondary metadata table, an indirect metadata matching table, a sub-block using status table and a metadata pointer in the byte addressable storing device via the data transmission interface. The processing unit further adjusts the allocation of metadata in the byte addressable storing device dynamically based on the aforesaid tables and pointer. The processing unit further stores a file into sub-blocks of blocks non-sequentially, and achieves record of the file via dynamic multi-level pointing.Type: GrantFiled: November 26, 2014Date of Patent: May 9, 2017Assignee: Institute For Information IndustryInventors: Yun-Jhu Chen, Tseng-Yi Chen, Yuan-Hao Chang, Hsin Wen Wei, Wei-Kuan Shih, Chia-Heng Tu
-
Patent number: 9639461Abstract: A data storage device includes a memory and a controller. A method may be performed at the data storage device. The method includes receiving a request to write data, generating a signature of the data, and searching a signature table to determine if the generated signature is in the signature table. The signature table includes at least one signature table entry that includes a signature of stored data and a physical address of the stored data.Type: GrantFiled: March 15, 2013Date of Patent: May 2, 2017Assignee: SANDISK TECHNOLOGIES LLCInventors: Yarden Eitan, Udi Agami, Eran Sharon, Idan Alrod
-
Patent number: 9639279Abstract: An apparatus and a method for processing data in a terminal are provided. The method includes when a specific program including a specific extension is stored, identifying addresses representing a position of specific data having the specific extension in an entire storage space, initializing the specific program based on the identified addresses, and generating an address table based on the identified addresses, and storing the generated address table.Type: GrantFiled: March 10, 2014Date of Patent: May 2, 2017Assignee: Samsung Electronics Co., Ltd.Inventor: Ho-Tae Kim
-
Patent number: 9632729Abstract: A data object is received at a storage compute device in response to a request from a host. A requirement of the data object is determined based on a computation to be performed on the data object. The requirement related to at least speed and capacity of media used to store the data object. A tier is selected from the storage compute device based on speed and capacity characteristics of the selected tier corresponding to the requirement of the data object. The data object is stored in the selected tier.Type: GrantFiled: May 5, 2015Date of Patent: April 25, 2017Assignee: SEAGATE TECHNOLOGY LLCInventors: Peng Li, Richard Esten Bohn, David Tetzlaff, Kevin Arthur Gomez
-
Patent number: 9612956Abstract: A data storage device includes one or more storage media that include multiple physical storage locations. The device also includes at least one cache memory having a logical space that includes a plurality of separately managed logical block address (LBA) ranges. Additionally, a controller is included in the device. The controller is configured to receive data extents addressed by a first LBA and a logical block count. The controller is also configured to identify at least one separately managed LBA range of the plurality of separately managed LBA ranges in the at least one cache memory based on LBAs associated with at least some of the received data extents. The controller stores the at least some of the received data extents in substantially monotonically increasing LBA order in at least one physical storage location, of the at least one cache memory, assigned to the identified at least one LBA range.Type: GrantFiled: December 18, 2014Date of Patent: April 4, 2017Assignee: Seagate Technology LLCInventors: Timothy R. Feldman, Andrew M. Kowles, Mark Allen Gaertner, Brian T. Edgar
-
Patent number: 9612750Abstract: An autonomous sub-system receives a database downloaded from a host controller. A controller monitors bus traffic and/or allocated resources in the subsystem and re-allocates resources based on the monitored results to dynamically improve system performance.Type: GrantFiled: March 31, 2015Date of Patent: April 4, 2017Assignee: Micron Technologies, Inc.Inventors: Sean Eilert, Mark Leinwander, Jared Hulbert
-
Patent number: 9600181Abstract: A system for storing data in a dynamic fashion. The system includes a storage entity. The storage entity includes portions of a plurality of different persistent storage devices. Each storage device has a set of constraints. The storage entity is configured to store data in a dynamic fashion in a layout on the persistent storage devices of the storage entity that meets the different data requirements for the data while still being within the constraints for the persistent storage devices. The storage entity is configured to change the layout for a portion of the data as requirements related to at least one of performance or resiliency for a portion of the data change while the storage entity continues to provide the data from the storage entity.Type: GrantFiled: March 11, 2015Date of Patent: March 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Sachin Chiman Patel, Shiv Rajpal, Karan Mehra
-
Patent number: 9600186Abstract: A first storage virtualization device operates in a system in which instructions requested by host computers are assigned to a plurality of storage virtualization devices. The first storage virtualization device includes an interface and a processor. The interface receives a write instruction assigned to the first storage virtualization device, data to be written by the write instruction, and operation statuses of other storage virtualization devices in the system. The processor calculates index values which represent loads when the first storage virtualization device processes the write instruction. The processor selects a second storage virtualization device for the purpose of requesting that it execute the write instruction by use of the operation statuses when the index values are greater than thresholds. The processor transmits the write instruction and the data to the second storage virtualization device.Type: GrantFiled: March 12, 2015Date of Patent: March 21, 2017Assignee: FUJITSU LIMITEDInventors: Akira Satou, Toshiaki Yamauchi, Akihide Otawa
-
Patent number: 9600661Abstract: The present invention relates to a method and system of controlling the writing of data to a computer storage medium such as a hard drive in a computer system in order to prevent viruses or similar program code from being saved on such medium. Upon the computer system initiating a request to write data to the medium, the application embodying the method and system checks the identity of the running application requesting to perform the write. The method and system then checks a rule database to determine if such requesting application has permission to write to the medium. The system can also check that the data file type that the application seeks to write is a permitted type for that application. In response to the output of the database check, the requested write is allowed to proceed or is blocked. In the absence of a rule, the system presents the request to the computer user. The user can either grant permission or block, and such response can be included in the rule database.Type: GrantFiled: December 1, 2005Date of Patent: March 21, 2017Assignee: Drive Sentry LimitedInventor: John Safa
-
Patent number: 9588895Abstract: Methods and apparatus for supporting cached volumes at storage gateways are disclosed. A storage gateway appliance is configured to cache at least a portion of a storage object of a remote storage service at local storage devices. In response to a client's write request, directed to at least a portion of a data chunk of the storage object, the appliance stores a data modification indicated in the write request at a storage device, and asynchronously uploads the modification to the storage service. In response to a client's read request, directed to a different portion of the data chunk, the appliance downloads the requested data from the storage service to the storage device, and provides the requested data to the client.Type: GrantFiled: February 22, 2016Date of Patent: March 7, 2017Assignee: Amazon Technologies, Inc.Inventors: David Carl Salyers, Pradeep Vincent, Ankur Khetrapal, Kestutis Patiejunas
-
Patent number: 9588886Abstract: A data storage system includes data storage and random access memory. A sorting module is communicatively coupled to the random access memory and is configured to sort data blocks of incoming write data received in the random access memory. A storage controller is communicatively coupled to the random access memory and the data storage and is configured to write the sorted data blocks as individually-sorted data block sets to a staging area of the data storage. A method and processor-implemented process provide for sorting data blocks of incoming write data received in a random access memory of data storage and writing the sorted data blocks as individually-sorted data block sets to a staging area of the data storage.Type: GrantFiled: March 15, 2013Date of Patent: March 7, 2017Assignee: SEAGATE TECHNOLOGY LLCInventors: Brian Thomas Edgar, Mark A. Gaertner
-
Patent number: 9588887Abstract: A data storage system includes data storage and random access memory. A sorting module is communicatively coupled to the random access memory and is configured to sort data blocks of incoming write data received in the random access memory. A storage controller is communicatively coupled to the random access memory and the data storage and is configured to write the sorted data blocks as individually-sorted data block sets to a staging area of the data storage. A method and processor-implemented process provide for sorting data blocks of incoming write data received in a random access memory of data storage and writing the sorted data blocks as individually-sorted data block sets to a staging area of the data storage.Type: GrantFiled: August 22, 2013Date of Patent: March 7, 2017Assignee: SEAGATE TECHNOLOGY LLCInventors: Brian Thomas Edgar, Mark A. Gaertner
-
Patent number: 9582224Abstract: A memory control circuit unit including a plurality of data randomizer circuits and a data selection circuit is provided. When a first data stream is received from a host system, the first data stream is input into the data randomizer circuits to respectively output a plurality of second data streams. The data selection circuit selects one of the second data streams as a third data stream according to contents of the second data streams, and the third data stream is programmed into a rewritable non-volatile memory module. Accordingly, data written into the rewritable non-volatile memory module can be effectively disarranged.Type: GrantFiled: May 4, 2015Date of Patent: February 28, 2017Assignee: PHISON ELECTRONICS CORP.Inventors: Wei Lin, Kuo-Hsin Lai, Tien-Ching Wang
-
Patent number: 9582199Abstract: A method for data allocation in a storage device includes performing an analysis on current and past Input/Output (I/O) requests to access data in the storage device, the analysis yielding an output comprising a hotness of data and an access pattern of data associated with a file in the storage device, wherein the hotness and the access pattern are obtained by monitoring a working set of files in the storage device with respect to the I/O requests, and updating an allocation of data in the storage device based on the output of the analysis.Type: GrantFiled: March 11, 2014Date of Patent: February 28, 2017Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Basireddy Ranjith Reddy, Chirumamilla Narendra, Talawar Prakash, V R Chaitanya Kavirayani, Panwar Narender Pal Singh
-
Patent number: 9575658Abstract: A method for opening a virtual disk comprises reading information from a metadata file that identifies the current owner of the virtual disk. The method further includes sending a release request to the current owner of the virtual disk to release the virtual disk, writing information to the metadata file identifying the new owner, and then opening the virtual disk.Type: GrantFiled: March 12, 2015Date of Patent: February 21, 2017Assignee: VMware, Inc.Inventors: Christoph Klee, Adrian Drzewiecki, Jesse Pool, Nishant Yadav
-
Patent number: 9563378Abstract: A storage management application of a storage array is operable to create a new volume on the storage device array, and to automatically configure, responsive to user selection of an application protection profile, data protection services for application data to be stored on the volume, and/or, responsive to user selection of an application performance profile, application specific performance parameters. The application protection profile specifies scheduling and replication of snapshots for application data to be stored on the volume, and the application performance profile specifies performance parameters such as setting a block size, enabling or modifying a data caching algorithm, turning on or modifying data compression, etc. The scheduling, replication and/or application performance may be managed by a daemon associated with the storage management application which communicates with an agent associated with an application server on which the application executes.Type: GrantFiled: March 3, 2016Date of Patent: February 7, 2017Assignee: NIMBLE STORAGE, INC.Inventors: Varun Mehta, Rod Bagg, Vikas Gupta, Dan Leary, Ajay Singh, Hector Yuen