Patents Issued in March 16, 2017
-
Publication number: 20170075771Abstract: A method for restoring a target file system in a storage system by a computer system, the computer system being connected to a network, the storage system including a tier of sequential access media, the method includes receiving a backup image including metadata of a file of the target file system, from a remote computer system via the network, the metadata indicating a sequential access medium, and restoring the metadata of the target file system using the backup image, the target file system being restored on the computer system by sharing a resource with a native file system operating on the computer system.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventors: Sosuke Matsui, Tsuyoshi Miyamura, Yutaka Oishi, Takahiro Tsuda, Noriko Yamamoto
-
Publication number: 20170075772Abstract: Managing storage volumes in a point-in-time copy cascade. The cascade includes a first source volume, a first target volume and a second target volume. The method detects a corruption of the first source volume and, if a first restoration of the first source volume from the first target volume is in progress, creates a third target volume from the second target volume and directs I/O operations for the first source volume to the third target volume. The first restoration is stopped. The first source volume is restored from the third target volume, and the third target volume is deleted.Type: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Inventors: Christopher B. E. Beeken, Joanna K. Brown, Denis A. Frank, Carlos F. Fuente
-
Publication number: 20170075773Abstract: Managing storage volumes in a point-in-time copy cascade. The cascade includes a first source volume, a first point-in-time target volume, and a second point-in-time target volume. The second point-in-time target volume is a point-in-time copy of the first point-in-time target volume. Upon detecting a corruption of the first point-in-time target volume the method creates a third point-in-time target volume from the second point-in-time target volume and directs I/O operations for the first point-in-time target volume to the third point-in-time target volume. The first point-in-time target volume is restored to the second point-in-time target volume and, when the restoration is complete, deletes the first point-in-time target volume.Type: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Inventors: Christopher B. E. Beeken, Joanna K. Brown, Carlos F. Fuente
-
Publication number: 20170075774Abstract: Managing storage volumes in a point-in-time copy cascade. The cascade includes a first source volume, a first clone point-in-time target volume, and a second point-in-time target volume that is a point-in-time copy of the first point-in-time target volume. Grain background copies from the first source volume to the first clone point-in-time target volume are tracked, and, if the first clone point-in-time target volume is corrupted, a third point-in-time target volume is created from the second point-in-time target volume. I/O for the first clone point-in-time target volume is directed to the third point-in-time target volume. The first clone point-in-time target volume is cleaned to the second point-in-time target volume. The first clone point-in-time target volume is restarted from the third point-in-time target volume and each grain of the first clone point-in-time target volume that has not been background copied is copied from the cascade to the first clone point-in-time target volume.Type: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Inventors: Christopher B. E. Beeken, Joanna K. Brown, Denis A. Frank, Carlos F. Fuente
-
Publication number: 20170075775Abstract: A system and method are provided for the recovery and restoration of software records of a database server to record iterations previous to the current state of the selected records. This action may be taken in order to overcome the consequences of database corruption. An event-time maybe designated which is applied to select some or all of the earlier but most recent versions of each selected record. The system and method presented include a local target database for the purpose of recording software records to an archive, and may include a remote source database, from which records may be transmitted to the local target database. A restore command may be detected by the database server as sent from the remote source server, as received in an electronic message, as received via an electronics communications network, or as directly input.Type: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Applicant: SESAME SOFTWARE, Inc.Inventor: RICHARD BANISTER
-
Publication number: 20170075776Abstract: A method, non-transitory computer readable medium, and computing device that determines when a software failure associated with a virtual storage controller has occurred. At least a portion of a transaction log corresponding to the virtual storage controller is stored in a stable storage device, when the determining indicates that the software failure associated with the virtual storage controller has occurred. A determination is made when the virtual storage controller has rebooted. The at least a portion of the transaction log is retrieved from the stable storage device, when the determining indicates that the virtual storage controller has rebooted. Thereby, state can be preserved and transactions pending, but not yet committed to storage server devices, can be replayed and proceed with minimal or no impact on the client devices originating the transactions.Type: ApplicationFiled: November 23, 2016Publication date: March 16, 2017Inventors: Joseph CaraDonna, Donna Duffy, Brian McCarthy
-
Publication number: 20170075777Abstract: A system and method for systemically addressing failures in electronic displays without user interaction comprises an electronic display connected to a timing and control board, connected to a system control board having a network interface component with a power button. A video player is connected to the system control board and has a video player power button. The system control board may simulate pushing the power button, the video power button, and/or disrupting the power supply to the video player if the video player is not communicating.Type: ApplicationFiled: September 12, 2016Publication date: March 16, 2017Inventors: William Dunn, David Williams, John Schuch
-
Publication number: 20170075778Abstract: Disclosed herein are systems, devices, and methods related to assets and predictive models and corresponding workflows that are related to updating a routing table. In particular, examples involve based on a predictive model, determining that a given asset of a plurality of assets in a mesh network is likely to be unavailable within a given period of time in the future and in response to the determining, causing a routing configuration for at least one other asset in the mesh network to be updated.Type: ApplicationFiled: September 14, 2015Publication date: March 16, 2017Inventors: Brett Heliker, Brad Nicholas
-
Publication number: 20170075779Abstract: The storage system includes storage devices which have plural storage blocks. A first node with a first processor memory is configured to store first information which manages states of the storage blocks, and a second node including a second processor and memory is configured to store second information which manages the states of the storage blocks are included in the storage system to handle file operations. When a failure occurs on the second node, the first processor is configured to change the state of one or more storage blocks, previously reserved by the second node to be used for storing data by the second node, to one or more garbage blocks and perform garbage resolution processing thereon before becoming available for data storage. This process allows for rapid recovery of the filesystem as the entirety of the filesystem metadata need not be examined.Type: ApplicationFiled: August 18, 2014Publication date: March 16, 2017Inventors: Kevin Canuette GRIMALDI, Morgan Tyler MAXWELL, Clayton A CURRY
-
Publication number: 20170075780Abstract: In one embodiment, a node of a cluster is coupled to a storage array of storage devices. The node executes a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer that organizes the storage devices within the storage array as a plurality of RAID groups. Configuration information is stored as a cluster database. The configuration information identifies the RAID groups associated with the storage devices. Each RAID group is associated with a plurality of segments and each segment has a different RAID configuration.Type: ApplicationFiled: April 29, 2016Publication date: March 16, 2017Inventors: Rajesh Sundaram, Bharat Baddepudi
-
Publication number: 20170075781Abstract: In some examples, both object data and corresponding metadata are stored on thin provisioned block storage in which blocks for the storage of the object data and the metadata are dynamically provisioned from a shared pool. For instance, the metadata may be stored on the block storage using a tree data structure that may grow proportionally with the corresponding stored object data. The object storage may automatically adapt to the size and number of objects being stored, and storage space for metadata may be allocated dynamically on demand. Additionally, some implementations include storing data across multiple trays. For instance, a plurality of storage extents of an extent group may be allocated across a plurality of storage devices on multiple trays. The extent allocation may be tray-aware by allocating extents to maximize the probability that data remains available/recoverable in the presence of a failure in one or more trays.Type: ApplicationFiled: October 7, 2015Publication date: March 16, 2017Inventors: Charles C. BENNETT, Jr., Nathan W. CLARK, Kevin S. CANUETTE GRIMALDI, Morgan Tyler MAXWELL, Clayton A. CURRY, Robert Barton COOPER
-
Publication number: 20170075782Abstract: A plurality of storage nodes is provided. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. The plurality of storage nodes is configured to initiate an action based on the redundant copies of the metadata, responsive to achieving a level of redundancy for the redundant copies of the metadata. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.Type: ApplicationFiled: October 24, 2016Publication date: March 16, 2017Inventors: John Davis, Brian Gold, Shantanu Gupta, John Hayes, Robert Lee, Igor Ostrovsky, Rusty Sears
-
Publication number: 20170075783Abstract: During a storage redundancy giveback from a first node to a second node following a storage redundancy takeover from the second node by the first node, the second node is initialized in part by receiving a node identification indicator from the second node. The node identification indicator is included in a node advertisement message sent by the second node during a giveback wait phase of the storage redundancy giveback. The node identification indicator includes an intra-cluster node connectivity identifier that is used by the first node to determine whether the second node is an intra-cluster takeover partner. In response to determining that the second node is an intra-cluster takeover partner, the first node completes the giveback of storage resources to the second node.Type: ApplicationFiled: November 28, 2016Publication date: March 16, 2017Inventors: Amit V. Panara, Chaitanya V. Patel, Hrishikesh Keremane, Pankti Vinay Majmudar, Santhosh Unnikrishnan, Sravan Kumar Elpula, Susan M. Coatney
-
Publication number: 20170075784Abstract: An information processing apparatus includes a result acquiring unit configured to acquire a pair of first test data fed to the test object and a determination result indicating an operating state of the test object when the first test data is fed, and a generating unit configured to generate second test data based on the pair of the first test data and the determination result. The generating unit is configured to select two pieces of first test data with different determination results, and to generate the second test data by generating the test data within an intermediary area between the two selected pieces of the first test data more frequently than the test data outside of the intermediary area.Type: ApplicationFiled: September 9, 2016Publication date: March 16, 2017Inventors: Fukutomo NAKANISHI, Hiroyoshi HARUKI, Satoshi AOKI, Fangming ZHAO, Tatsuyuki MATSUSHITA, Ryotaro HAYASHI, Toshinari TAKAHASHI
-
Publication number: 20170075785Abstract: A connection confirmation system includes a connection detection apparatus and an information processing apparatus communicable with each other. The connection detection apparatus acquires a setting relating to a connection mode of a device to be connected to a sound processing apparatus, detects a connection mode of a device actually connected to the sound processing apparatus, and determines a difference between the detected actual connection mode and the connection mode indicated by the acquired setting.Type: ApplicationFiled: November 28, 2016Publication date: March 16, 2017Inventors: Masaya KANO, Atsushi USUI, Yutaka ISHIMURA, Hiroyuki ICHI
-
Publication number: 20170075786Abstract: In an approach to test automation of an application under test which interacts with one or more native stock applications, a computer identifies one or more native stock applications on a mobile computing device. The computer then dumps a view hierarchy for each of the one or more native stock applications. The computer generates, based, at least in part, on the view hierarchy, a template table for each of the one or more native stock applications.Type: ApplicationFiled: September 11, 2015Publication date: March 16, 2017Inventors: Vijay Ekambaram, Ashish K. Mathur, Vivek Sharma
-
Publication number: 20170075787Abstract: A method and a system is disclosed herein for model checker based efficient elimination of false positives from static analysis warnings generated during static analysis of an application code. The system computes complete-range non-deterministic value variables (cnv variables) that are based on data flow analysis or static approximation of execution paths by control flow paths. During computation of cnv variables, over approximation (may-cnv variables) and under approximation (must-cnv variables) of a set of cnv variables at a program point is identified. The computed cnv variables are used to check whether an assertion variable is a cnv variable and the corresponding assertion verification call is redundant or otherwise. The identified redundant calls are then skipped for the efficiency of the false positives elimination and the model checker is invoked corresponding to the non-redundant assertion verification calls.Type: ApplicationFiled: August 26, 2016Publication date: March 16, 2017Applicant: Tata Consultancy Services LimitedInventor: Tukaram B. MUSKE
-
Publication number: 20170075788Abstract: A method for securing a first program, the first program including a finite number of program points and evolution rules associated to program points and defining the passage of a program point to another, the method including defining a plurality of exit cases and, when a second program is used in the definition of the first program, for each exit case, definition of a branching toward a specific program point of the first program or a declaration of branching impossibility, defining a set of properties to be proven, each associated with one of the constitutive elements of the first program, said set of properties comprising the branching impossibility as a particular property and establishment of the formal proof of the set of properties.Type: ApplicationFiled: November 3, 2016Publication date: March 16, 2017Inventor: Dominique Bolignano
-
Publication number: 20170075789Abstract: A method and system are disclosed for generating, capturing, storing, and loading debug data for a failed test script without user interaction. In an example embodiment, a trace capture component will automatically re-execute a failed test script and capture the execution context information and the source code files associated with the failed test script during the test script's re-execution. The execution context information and associated source code are stored onto a database, or another shared storage medium, and are accessible to multiple users to allow concurrent debugging by multiple users. The captured information allows debugging of the failed test script without requiring access to the original machine or re-execution of the application.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Applicant: GOOGLE INC.Inventor: Sonny SKINNER
-
Publication number: 20170075790Abstract: Techniques are provided for integrating source code analysis tools with a code review tool. A user submits a code change to the code review tool and one or more code analysis tools are automatically initiated to analyze the changed code. Results of the code analysis tool(s) are automatically provided back to the code review tool. Additionally or alternatively, one or more tests are automatically run to test one or more executables that are based on the changed code. Results of the test(s) are automatically provided to the code review tool. In this way, an effect of a code change is automatically determined and available for review along with the code change. The results of any code analysis tools and/or tests may be posted synchronously or asynchronously with the corresponding code change.Type: ApplicationFiled: September 15, 2015Publication date: March 16, 2017Inventors: Andrew Macleod, Jasper Lee, Scott Holmes, Arvind Mani, Nikhil Marathe, Yuji Kosuga, Roman Shafigullin
-
Publication number: 20170075791Abstract: Computer implemented methods and systems are provided for executing tests in a system that includes a user system and a cloud-based computing platform communicatively coupled to the user system. The user system includes a processing system, memory and an input system that receives input parameters specified by a user of the user system. The memory can store a test class filter module executable by the processing system. Upon being executed by the processing system, the test class filter module can, based on one or more of the input parameters, group and filter test class identifiers to generate a unique test class identifier array of filtered test class identifiers that correspond to a particular subset of tests that are to be executed during testing of an application. A test execution engine of the cloud-based computing platform can then execute the particular subset of tests corresponding to the filtered test class identifiers specified in the unique test class identifier array.Type: ApplicationFiled: April 28, 2016Publication date: March 16, 2017Applicant: salesforce.com, inc.Inventors: Adarsh Ramakrishna, Scott Glaser, Vamshidhar Rao Gandham, Ashwin Simha Reddy Vengareddy, Jonathan Rico Morales
-
Publication number: 20170075792Abstract: A method and apparatus are provided for navigating source code (112) by capturing a program trace data history (134) from a target (150) in response to execution of application executable code (123) thereon and decorating the source code blocks (252) on a graphical user interface viewer (251) by displaying an execution instance control indicator (253-255) corresponding to each detected execution instance, where an execution instance control enables control of which execution instance is displayed and an execution instance indicator displays information about the sequence of instructions that were executed at runtime in that execution instance.Type: ApplicationFiled: November 17, 2015Publication date: March 16, 2017Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Mihai Udvuleanu, Razvan Lucian Ionescu, Radu-Marian Ivan
-
Publication number: 20170075793Abstract: A device may receive test plan information, associated with a test plan for performing a test of an application, including information associated with a use case for which the application is to be tested. The device may obtain a test plan inspection model, associated with analyzing the test plan, including test plan rules. A test plan rule, of the test plan rules, may be associated with a condition for identifying a crowd-sourcing issue associated with implementing the test plan using crowd-sourced testing. The device may determine, based on the test plan information and the test plan rule, whether the condition is satisfied. The device may identify, based on whether the condition is satisfied, the crowd-sourcing issue as being associated with the test plan. The device may generate a recommendation associated with the crowd-sourcing issue. The device may provide information associated with the crowd-sourcing issue or information associated with the recommendation.Type: ApplicationFiled: September 12, 2016Publication date: March 16, 2017Inventors: Omar TAHBOUB, Alex KASS, Manish MEHTA
-
Publication number: 20170075794Abstract: Computer implemented methods and systems are provided for computing code coverage in a system that includes a user system and a cloud-based computing platform. The user system includes a processing system, memory and an input system that receives input parameters specified by a user of the user system. The memory can store a source class filter module executable by the processing system. Upon being executed by the processing system, the source class filter module can, based on one or more of the input parameters, group and filter source class identifiers to generate a unique source class identifier array of filtered source class identifiers that correspond to a particular subset of source classes that targeted code coverage metrics are to be computed for during code coverage computations when testing an application.Type: ApplicationFiled: April 28, 2016Publication date: March 16, 2017Applicant: salesforce.com, inc.Inventors: Adarsh Ramakrishna, Scott Glaser, Vamshidhar Rao Gandham, Ashwin Simha Reddy Vengareddy, Jonathan Rico Morales
-
Publication number: 20170075795Abstract: Systems and techniques are described for identifying test gaps. A described technique includes identifying production code paths for an application. Each production code path specifies a respective sequence of code of the application that was executed in a production environment. Test code paths are identified for the application. Each test code path specifies a respective sequence of code of the application that was tested in a test environment. The production code paths are compared to the test code paths to identify a set of first test gaps for the application. Each first test gap specifies a respective production code path that is not included in the test code paths. Test gap data specifying the first test gaps for the application can be provided for presentation to a user.Type: ApplicationFiled: November 28, 2016Publication date: March 16, 2017Inventors: Vineet Kumar Sinha, Prasenjit Sarkar, Prashant Kumar, Anoop Shukla, Sree Ranga Sudha T K
-
Publication number: 20170075796Abstract: A method, computer program product, and system is described. A continuous integration environment is identified. A first software test associated with the continuous integration environment is identified. A probationary status for the first software test is determined, the probationary status indicating, at least in part, a potential lack of reliability for the first software test.Type: ApplicationFiled: November 29, 2016Publication date: March 16, 2017Inventors: Philip S.P. Chan, Laurence A. Hey, William J. Izard, Matthew Ponsford
-
Publication number: 20170075797Abstract: An application for testing is determined. A test script associated with the application for testing is determined. The application is tested using the test script. The testing requires transferring data form the application to an out-of-band channel.Type: ApplicationFiled: September 15, 2015Publication date: March 16, 2017Inventors: Vijay Ekambaram, Ashish K. Mathur, Vivek Sharma
-
Publication number: 20170075798Abstract: A transaction is initiated that involves a plurality of software components in a system. Transaction data is received from a plurality of agents instrumented on at least a subset of software components in the plurality of software components, the transaction data describing attributes of a plurality of fragments of the transaction observed by the plurality of agents. Each transaction fragment includes a respective request and a corresponding response communicated between two software components in the plurality of software components. From the transaction data, a flow of the transaction is determined that describes an order of the transaction fragments and involvement of respective software components in each transaction fragment. Documentation is generated from the transaction data, the documentation describing the system and including a representation of a functional architecture of the system based on the determined flow.Type: ApplicationFiled: September 13, 2015Publication date: March 16, 2017Inventor: Rich J. Lau
-
Publication number: 20170075799Abstract: Transaction data is be accessed that was generated during monitoring of a plurality of transactions involving a plurality of software components in a system. From the transaction data, a flow of a first one of the plurality of transactions is determined that describes participation of a first subset of the plurality of software components in the first transaction. A flow of a second one of the plurality of transactions is also be determined from the transaction data, the flow of the second transaction describing participation of a different, second subset of the plurality of software components in the second transaction. An overlap is determined between the first and second transactions, the overlap involving a particular one of the software components included in both the first and second subsets of software components.Type: ApplicationFiled: September 14, 2015Publication date: March 16, 2017Inventor: Rich J. Lau
-
Publication number: 20170075800Abstract: A method, apparatus, and device for locating a software failure are disclosed. The method comprises: determining a locating start time; obtaining a system environment at the locating start time; reproducing a running state of the software from the locating start time to an occurrence time of a software failure in the system environment at the locating start time; determining a cause of the software failure based on the reproduced running state. The apparatus comprises: a determination module, an obtaining module, a reproduction module, and an analysis module. Through this approach, automatic locating of a software failure is implemented, which helps the user to be aware of the operation problem and facilitates a software developer to find a deficiency in the software design.Type: ApplicationFiled: December 19, 2014Publication date: March 16, 2017Inventors: Yunpeng PENG, Xinjia GUO
-
Publication number: 20170075801Abstract: Embodiments of the present disclosure provide a method, computer program product and apparatus for a white-box testing by determining a code line being changed in a target version of codes, determining a function to which the code line belongs, determining, based on a first mapping from functions to test cases, a set of test cases corresponding to the function to which the code line belongs, thereby enhancing efficiency of automatic testing.Type: ApplicationFiled: September 13, 2016Publication date: March 16, 2017Inventors: Forrest Weiyi Gu, Martin Yang Zhang
-
Publication number: 20170075802Abstract: Changes in performance in a Java program are deduced from information related to garbage collection events of the program. Assumptions are made about the system, the application and garbage collection, and changes in performance that will result from modifying the program are deduced.Type: ApplicationFiled: November 27, 2016Publication date: March 16, 2017Inventor: Wilfred C. Jamison
-
Publication number: 20170075803Abstract: A method, system, and computer program product for managing a partial release for a unit of storage space in a storage facility is disclosed. The method, system, and computer program product include establishing an invocation threshold for initiating a partial release for a unit of storage space. The method, system, and computer program product include establishing a preservation threshold for releasing a fractional amount of the unit of storage space. The method, system, and computer program product include initiating the partial release in response to reaching the invocation threshold. The method, system, and computer program product include releasing the fractional amount based on the preservation threshold.Type: ApplicationFiled: December 2, 2016Publication date: March 16, 2017Inventors: Miguel A. Perez, David C. Reed, Max D. Smith, Carrie B. Wood
-
Publication number: 20170075804Abstract: A method, system, and computer program product for managing a partial release for a unit of storage space in a storage facility is disclosed. The method, system, and computer program product include establishing an invocation threshold for initiating a partial release for a unit of storage space. The method, system, and computer program product include establishing a preservation threshold for releasing a fractional amount of the unit of storage space. The method, system, and computer program product include initiating the partial release in response to reaching the invocation threshold. The method, system, and computer program product include releasing the fractional amount based on the preservation threshold.Type: ApplicationFiled: December 2, 2016Publication date: March 16, 2017Inventors: Miguel A. Perez, David C. Reed, Max D. Smith, Carrie B. Wood
-
Publication number: 20170075805Abstract: A storage device, such as a NAND flash device, includes a controller that maintains a temperature for a plurality of data blocks, the temperature calculated according to a function that increases with a number of valid data objects in the block and recency with which the valid data objects have been accessed. Blocks with the lowest temperature are selected for garbage collection. Recency for a block is determined based on a number of valid data objects stored in the block that are referenced in a hot list of a LRU list. During garbage collection, data objects that are least recently used are invalidated to reduce write amplification.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventors: Xiangyong Ouyang, Jongman Yoon, Sushma Devendrappa
-
Publication number: 20170075806Abstract: A liveness-based memory allocation module operating so that a program thread invoking the memory allocation module is provided with an allocation of memory including a reserve of free heap slots beyond the immediate requirements of the invoking thread. The module receives a parameter representing a thread execution window from an invoking thread; calculates a liveness metric based upon the parameter; calculates a reserve of memory to be passed to the invoking thread based upon the parameter; returns a block of memory corresponding to the calculated reserve of memory. Equations, algorithms, and sampling strategies for calculating liveness metrics are disclosed, as well as a method for adaptive control of the module to achieve a balance between memory efficiency and potential contention as specified by a single control parameter.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Applicant: University of RochesterInventors: Pengcheng Li, Chen Ding
-
Publication number: 20170075807Abstract: A solid state drive controller includes a processor configured to couple to a plurality of non-volatile memory devices. The plurality of non-volatile memory devices are configured to store a plurality of system journals and a plurality of physical pages. The solid state drive controller also includes a volatile memory configured to store a logical-to-physical address translation map configured to enable the solid state drive controller to determine a physical location of at least one logical page. The processor is configured to maintain the plurality of system journals in the plurality of non-volatile memory devices, wherein each system journal defines physical-to-logical page correspondences for a predetermined range of the plurality of physical pages, and each system journal comprises an identification number that includes a portion of an address of a first physical page of the predetermined range of the plurality of physical pages.Type: ApplicationFiled: November 7, 2016Publication date: March 16, 2017Inventors: Andrew J. TOMLIN, Rodney N. MULLENDORE, Justin JONES
-
Publication number: 20170075808Abstract: A cache memory system has a first cache memory, a second cache memory which comprises a nonvolatile memory capable of generating a plurality of regions having different access speeds and has access priority lower than the first cache memory, and a cache controller which carries out a control where data to be stored in the second cache memory is sorted to the plurality of regions and stored thereto in accordance with access conditions with respect to the first cache memory.Type: ApplicationFiled: September 12, 2016Publication date: March 16, 2017Inventors: Hiroki NOGUCHI, Shinobu FUJITA
-
Publication number: 20170075809Abstract: A data storage device includes a data storage medium having a plurality of data blocks. A cache includes a plurality of cache blocks. Each cache block includes a corresponding cache block address. A metadata table includes a plurality of table entries for the data blocks, respectively. Each of the table entries is configured to store the cache block address of one of the cache blocks in which data of a corresponding one of the data blocks is written. A bitmap is configured to store statuses of all of the cache blocks, respectively.Type: ApplicationFiled: November 29, 2016Publication date: March 16, 2017Inventors: Weiya XI, Chao JIN, Khai Leong YONG, Sophia TAN, Zhi Yong CHING
-
Publication number: 20170075810Abstract: Techniques are disclosed relating to per-pipeline control for an operand cache. In some embodiments, an apparatus includes a register file and multiple execution pipelines. In some embodiments, the apparatus also includes an operand cache that includes multiple entries that each include multiple portions that are each configured to store an operand for a corresponding execution pipeline. In some embodiments, the operand cache is configured, during operation of the apparatus, to store data in only a subset of the portions of an entry. In some embodiments, the apparatus is configured to store, for each entry in the operand cache, a per-entry validity value that indicates whether the entry is valid and per-portion state information that indicates whether data for each portion is valid and whether data for each portion is modified relative to data in a corresponding entry in the register file.Type: ApplicationFiled: September 11, 2015Publication date: March 16, 2017Inventors: Andrew M. Havlir, Terence M. Potter, Liang-Kai Wang
-
Publication number: 20170075811Abstract: According to one embodiment, a controller transmits a response to a write request to a host before executing matching between first management information and second management information.Type: ApplicationFiled: March 9, 2016Publication date: March 16, 2017Applicant: Kabushiki Kaisha ToshibaInventors: Lanyin HSU, Naomi TAKEDA, Hiroshi YAO
-
Publication number: 20170075812Abstract: Technologies for managing a read cache of a solid state drive include establishing a read cache in an otherwise unused region of non-volatile memory of the solid state drive. To do so, a memory region of the non-volatile memory corresponding to the read cache is converted to single-level cell (SLC) mode. For example, the memory region may be converted from a multi-level cell (MLC) or a triple-level cell (TLC) mode to the SLC mode. A drive controller of the solid state drive manages data in the read cache based on a read count associated with the data. For example, data having a relatively high read count may be inserted into the read cache and data having a relatively lower read count may be evicted from the read cache over time. The size of the read cache may be dynamically adjusted over time based on available space and/or operating requirements.Type: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Inventors: Ning Wu, Dale J. Juenemann, Neeraj Sharma, Ramkarthik Ganesan
-
Publication number: 20170075813Abstract: According to one embodiment, a part of first information stored in a nonvolatile second memory is cached in a volatile third memory with a first cache line size in a case where a first memory included in a host is not used. A part of the first information is cached in the first memory with a second cache line size in a case where the first memory is used. The second cache line size is larger than the first cache line size.Type: ApplicationFiled: March 10, 2016Publication date: March 16, 2017Applicant: Kabushiki Kaisha ToshibaInventor: Satoshi KABURAKI
-
Publication number: 20170075814Abstract: Methods, systems, and computer program products for receiving a memory allocation request; comparing a memory size corresponding to the memory allocation request to a memory size threshold; allocating a memory page that has a size larger than the memory size threshold, the memory page having a page entry in a page management data structure; and allocating a portion of the memory page, the portion of the memory page corresponding to a sub-page of the memory page.Type: ApplicationFiled: September 11, 2015Publication date: March 16, 2017Inventors: Henri van Riel, Michael Tsirkin
-
Publication number: 20170075815Abstract: According to one embodiment, a memory system is connectable to a host device including a first memory. The memory system includes a memory controller and a second memory in which data from a host device is stored. The memory controller includes a third memory, a first unit and a second unit and has a first space. The first unit designates a first address in the first space. The second unit converts, by using a conversion table, the first address into a second address in a first area of the first memory. The conversion table includes a plurality of layers and includes a first conversion table of a top layer and a second conversion table of a layer lower than the first conversion table. The first conversion table is stored in the third memory. The second conversion table is stored in a second area of the first memory.Type: ApplicationFiled: March 9, 2016Publication date: March 16, 2017Applicant: KABUSHIKI KAISHA TOSHIBAInventors: Yukimasa MIYAMOTO, Toru KATAGIRI, Shoji SAWAMURA
-
Publication number: 20170075816Abstract: A control apparatus, in a storage system, accesses a specific storage area in a shared memory by designating a fixed virtual address, even when a capacity of the shared memory in the storage system changes. A space of a physical address indicating a storage area in a plurality of memories in a self-control-subsystem of two control-subsystems and a space of a physical address indicating a storage area in the plurality of memories in the other-control-subsystem are associated with a space of a virtual address used by each of a processor and an input/output device in the self-control-subsystem. Upon receiving data transferred from the other-control-subsystem to the self-control-subsystem, a relay device translates a virtual address indicating a transfer destination of the data designated by the other-control-subsystem into a virtual address in the self-control-subsystem based on an offset determined in advance, and transfers the data to the translated virtual address.Type: ApplicationFiled: April 24, 2014Publication date: March 16, 2017Applicant: HITACHI, LTD.Inventors: Naoya OKADA, Masanori TAKADA, Shintaro KUDO, Yusuke NONAKA, Tadashi TAKEUCHI
-
Publication number: 20170075817Abstract: In some embodiments, a memory corruption prevention process includes detecting a memory instruction of a program, where the memory instruction specifies a virtual memory address of data. The memory corruption prevention process further includes accessing, in response to the memory instruction, a translation lookaside buffer (TLB) using at least a portion of the virtual memory address. The memory corruption prevention process further includes, in response to accessing the TLB, obtaining a physical memory address corresponding to the virtual memory address, where the physical memory address corresponds to the data. The memory corruption prevention process further includes, in response to accessing the TLB, obtaining an authentication value corresponding to the physical memory address. The memory corruption prevention process further includes determining, using the authentication value, whether the memory instruction is authorized to proceed.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventor: Darryl Gove
-
Publication number: 20170075818Abstract: A memory management method and a device, where the method includes: receiving a memory access request, where the memory access request carries a virtual address; determining a page fault type of the virtual address if finding, in a translation lookaside buffer TLB and a memory, no page table entry corresponding to the virtual address; allocating a corresponding page to the virtual address if the page fault type of the virtual address is a blank-page-caused page fault, where the blank-page-caused page fault means that no corresponding page is allocated to the virtual address; and updating the page table entry corresponding to the virtual address to the memory and the TLB. The memory manager does not generate a page fault when a blank-page-caused page fault occurs, but allocates a corresponding page to the virtual address. Therefore, a quantity of occurrences of the page fault is reduced, thereby improving memory management efficiency.Type: ApplicationFiled: November 4, 2016Publication date: March 16, 2017Applicant: HUAWEI TECHNOLOGIES CO.,LTD.Inventors: Yao Liu, Yongbing Huang, Mingyu Chen, Zehan Cui, Licheng Chen, Yuan Ruan
-
Publication number: 20170075819Abstract: In one embodiment, a computer-implemented method includes inserting a set of accessed objects into a cache, where the set of accessed objects varies in size. An object includes a set of object components, and responsive to receiving a request to access the object, it is determined that the object does not fit into the cache given the set of accessed objects and a total size of the cache. A heuristic algorithm is applied, by a computer processor, to identify in the set of object components one or more object components for insertion into the cache. The heuristic algorithm considers at least a priority of the object compared to priorities of one or more objects in the set of accessed objects. The one or more object components are inserted into the cache.Type: ApplicationFiled: November 22, 2016Publication date: March 16, 2017Inventors: Avrilia Floratou, Uday B. Kale, Nimrod Megiddo, Fatma Ozcan, Navneet S. Potti
-
Publication number: 20170075820Abstract: Techniques for protecting software in a computing device are provided. A method according to these techniques includes receiving a request from a non-secure software module to execute an instruction of a secure software module comprising encrypted program code, determining whether the instruction comprises an instruction associated with a controlled point of entry to the secure software module accessible outside of the secure software module, executing one or more instructions of the secure software module responsive to the instruction comprising an instruction associated with the controlled point of entry to the secure software module, and controlling exit from the secure software module to return execution to the non-secure software module.Type: ApplicationFiled: August 9, 2016Publication date: March 16, 2017Inventors: David HARTLEY, Roberto AVANZI, Rosario CAMMAROTA