Patents Examined by Hiep Nguyen
  • Patent number: 9329993
    Abstract: A wrist-worn device monitors movements of a user with a flexible circuit member. The flexible circuit member is fault tolerant. It may contain extra and/or redundant traces as well as the ability to store data on RAM if the flash memory fails or if some or all trace connections between the processor and flash memory fail. Data stored on the RAM may or may not contain less fidelity. Lower fidelity data may be used to alleviate issues arising if the RAM has less storage capacity than the flash memory.
    Type: Grant
    Filed: June 11, 2014
    Date of Patent: May 3, 2016
    Assignee: NIKE, Inc.
    Inventors: James Zipperer, Greg McKeag, Mike Lapinsky, Jason Haensly
  • Patent number: 9304938
    Abstract: A data transferring method of a storage device is provided. The method may include transferring a first data to a first outbound area, transferring the first data sent to the first outbound area to a first area of a main memory corresponding to a first address programmed by an address translation unit, transferring a second data to a second outbound area in response to an indication that the address translation unit is to be reprogrammed, and transferring the second data sent to the second outbound area to the first outbound area.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: April 5, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Hojun Shim, Eunchan Kim
  • Patent number: 9298615
    Abstract: A method of partitioning a data cache comprising a plurality of sets, the plurality of sets comprising a plurality of ways, is provided. Responsive to a stack data request, the method stores a cache line associated with the stack data in one of a plurality of designated ways of the data cache, wherein the plurality of designated ways is configured to store all requested stack data.
    Type: Grant
    Filed: July 19, 2013
    Date of Patent: March 29, 2016
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Lena E. Olson, Yasuko Eckert, Vilas K. Sridharan, James M. O'Connor, Mark D. Hill, Srilatha Manne
  • Patent number: 9298620
    Abstract: Systems, methods, and apparatuses for implementing selective victimization to reduce power and utilized bandwidth in a multi-level cache hierarchy. Each set of an upper-level cache includes a counter that keeps track of the number of times the set was accessed. These counters are periodically decremented by another counter that tracks the total number of accesses to the cache. If a given set counter is below a certain threshold value, clean victims are dropped from this given set instead of being sent to a lower-level cache. Also, a separate counter is used to track the total number of outstanding requests for the cache as a proxy for bus-bandwidth in order to gauge the total amount of traffic in the system. The cache will implement selective victimization whenever there is a large amount of traffic in the system.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: March 29, 2016
    Assignee: Apple Inc.
    Inventors: Hari S. Kannan, Brian P. Lilly, Perumal R. Subramoniam
  • Patent number: 9298610
    Abstract: A data writing method, and a memory control circuit unit and a memory storage apparatus using the method are provided. The method includes: grouping the logical units into a first area and at least a second area according to the write counts of the logical units configured on the memory apparatus. The method also includes: determining whether the logical unit corresponding to the received data belongs to the first area. The method further includes: if the logical unit corresponding to the received data belongs to the first area, programming the received data into a first active physical erasing unit, and if the logical unit corresponding to the received data belongs to the first area, programming the received data into a second active physical erasing unit. Accordingly, the method may improve the efficiency of a garbage collection operation.
    Type: Grant
    Filed: May 30, 2014
    Date of Patent: March 29, 2016
    Assignee: PHISON ELECTRONICS CORP.
    Inventor: Ming-Jen Liang
  • Patent number: 9292210
    Abstract: Thermally sensitive wear leveling for a flash memory device that includes a plurality of flash memory modules, the flash memory device included in a computing system that includes a plurality of additional computing components, including: identifying a thermal sensitivity coefficient for each flash memory module in dependence upon a physical topology of the flash memory device and one or more of the additional computing components; identifying wear leveling information for each flash memory module; receiving a request to write data to the flash memory device; selecting, in dependence upon the thermal sensitivity coefficient for each flash memory module and the wear leveling information for each flash memory module, a target flash memory module for servicing the request to write data to the flash memory device; and writing the data to the target flash memory module.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: March 22, 2016
    Assignee: International Business Machines Corporation
    Inventors: Keith M. Campbell, William M. Megarity, Luke D. Remis, Gregory D. Sellman, Christopher L. Wood
  • Patent number: 9286221
    Abstract: A heterogeneous memory system includes a main memory arrangement, a first-level cache, a second-level cache, and a memory management unit (MMU). The first-level cache includes an SRAM arrangement and the second-level cache includes a DRAM arrangement. The MMU is configured and arranged to read first data from the main memory arrangement in response to a stored first value associated with the first data and indicative of a start time. The MMU selects one of the first-level cache or the second-level cache for storage of the first data and stores the first data in the selected one of the first or second-level caches. The MMU reads second data from one of the first-level cache or second-level cache and writes the data to the main memory arrangement in response to a stored second value associated with the second data and indicative of a duration.
    Type: Grant
    Filed: April 7, 2015
    Date of Patent: March 15, 2016
    Assignee: Reniac, Inc.
    Inventors: Prasanna Sundararajan, Chidamber Kulkarni
  • Patent number: 9280455
    Abstract: Provided is a memory control device, including a write control unit that sequentially designates a memory block, a write processing unit that writes write data in the designated memory block, a verifying unit that reads read data from the memory block and verifies whether or not the read data matches the write data for each of a plurality of memory cells, a retry inhibiting unit that inhibits a retry process from being performed in a memory cell in which the read data matches the write data among the plurality of memory cells, and a retry control unit that designates at least some memory blocks among the plurality of memory blocks and simultaneously executes the retry process when the read data does not match the write data in any one of the plurality of memory cells in which all the write data is written.
    Type: Grant
    Filed: July 19, 2013
    Date of Patent: March 8, 2016
    Assignee: SONY CORPORATION
    Inventors: Naohiro Adachi, Keiichi Tsutsui, Ken Ishii, Hideaki Okubo, Kenichi Nakanishi, Yasushi Fujinami, Tatsuo Shinbashi, Lui Sakai, Ryoji Ikegaya
  • Patent number: 9275697
    Abstract: A host including a controller configured to be connected to a storage device separate from the host. The controller is configured to maintain random access memory (RAM) code on the host, the RAM code configured to provide a destructive function, temporarily load the RAM code onto a volatile memory in the storage device during a manufacturing process, wherein the loaded RAM code, when executed by a processor in the storage device, is configured to cause the processor in the storage device to perform a destructive function on the storage device, and remove the loaded RAM code from the volatile memory after the manufacturing process, wherein the destructive function is unable to be performed by the processor when the loaded RAM code is removed from the volatile memory.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: March 1, 2016
    Assignee: Western Digital Technologies, Inc.
    Inventor: Michael W. Webster
  • Patent number: 9275699
    Abstract: A memory device or module selects between alternative command ports. Memory systems with memory modules incorporating such memory devices support point-to-point connectivity and efficient interconnect usage for different numbers of modules. The memory devices and modules can be of programmable data widths. Devices on the same module can be configured select different command ports to facilitate memory threading. Modules can likewise be configured to select different command ports for the same purpose.
    Type: Grant
    Filed: July 26, 2013
    Date of Patent: March 1, 2016
    Assignee: Rambus Inc.
    Inventors: Liji Gopalakrishnan, Ian Shaeffer, Yi Lu
  • Patent number: 9262325
    Abstract: A heterogeneous memory system includes a network interface card, a main memory arrangement, a first-level cache, and a memory management unit (MMU). The main memory arrangement, first-level cache and the MMU are disposed on the network interface card. The first-level cache includes an SRAM arrangement and a DRAM arrangement. The MMU is configured and arranged to read first data from the main memory arrangement in response to a stored first value associated with the first data and indicative of a start time. The MMU selects one of the SRAM arrangement or the DRAM arrangement for storage of the first data and stores the first data in the selected one of the SRAM arrangement or DRAM arrangement. The MMU reads second data from one of the SRAM arrangement or DRAM arrangement and writes the data to the main memory arrangement in response to a stored second value associated with the second data and indicative of a duration.
    Type: Grant
    Filed: April 7, 2015
    Date of Patent: February 16, 2016
    Assignee: Reniac, Inc.
    Inventors: Prasanna Sundararajan, Chidamber Kulkarni
  • Patent number: 9256541
    Abstract: An apparatus for prefetching data for a processor is presented. The apparatus may include a memory, a first counter, a second counter, and a control circuit. The memory may include a table with at least one entry in which the at least one entry may include an expected address of a next memory access and a next address from which to fetch data, wherein the next address is an offset value different from the expected address. The at least one entry may also include a maximum limit for the offset value. The first counter may increment responsive to an address of a memory access matching the expected address. The second counter may increment responsive to the address of the memory access resulting in a cache miss. The control circuitry may be configured to increment the maximum value of the offset value dependent upon a value of the second counter.
    Type: Grant
    Filed: June 4, 2014
    Date of Patent: February 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Vijay Sathish, Yuan Chou
  • Patent number: 9251069
    Abstract: A system and method for efficiently limiting storage space for data with particular properties in a cache memory. A computing system includes a cache array and a corresponding cache controller. The cache array includes multiple banks, wherein a first bank is powered down. In response a write request to a second bank for data indicated to be stored in the powered down first bank, the cache controller determines a respective bypass condition for the data. If the bypass condition exceeds a threshold, then the cache controller invalidates any copy of the data stored in the second bank. If the bypass condition does not exceed the threshold, then the cache controller stores the data with a clean state in the second bank. The cache controller writes the data in a lower-level memory for both cases.
    Type: Grant
    Filed: October 16, 2013
    Date of Patent: February 2, 2016
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Yasuko Eckert, Gabriel H. Loh, Mauricio Breternitz, James M. O'Connor, Srilatha Manne, Nuwan S. Jayasena, Mithuna S. Thottethodi
  • Patent number: 9244834
    Abstract: Some of the embodiments of the present disclosure provide a method for programming a flash memory having a plurality of memory blocks, wherein each memory block of the plurality of memory blocks is either a single-level cell (SLC) memory block or a multi-level cell (MLC) memory block, the method comprising assigning a weighting factor to each memory block of the plurality of memory blocks based on whether the memory block is an SLC memory block or an MLC memory block, tracking a number of write-erase cycles for each memory block, and selecting one or more memory blocks for writing data based at least in part on the weighting factor and the tracked number of write-erase cycles of each memory block of the plurality of memory blocks. Other embodiments are also described and claimed.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: January 26, 2016
    Assignee: Marvell International Ltd.
    Inventors: Joseph Sheredy, Lau Nguyen
  • Patent number: 9244614
    Abstract: Embodiments of computer-implemented methods, apparatus and computer-readable media associated with memory management are disclosed herein. A computer-implemented method to coalesce free intervals of a memory may include ascertaining that a first interval of the memory is free (302, 304). A determination may be made, e.g., from a header associated with the first interval of the memory, whether a second interval of the memory, immediately preceding or following the first interval of the memory, is free (306). After a determination is made that the second interval of the memory is free, the first interval of the memory and the second interval of the memory may be coalesced (310). Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: April 4, 2011
    Date of Patent: January 26, 2016
    Assignee: INTEL CORPORATION
    Inventors: Alexandr Konovalov, Alexey Kukanov
  • Patent number: 9239784
    Abstract: Systems and methods for extending the memory resources of a user device to storage resources and/or network resources associated with the user device. The cache and system memory of the user device may be utilized as a cache memory and the storage resources and/or network resources of the user device may be utilized as a storage memory.
    Type: Grant
    Filed: June 5, 2013
    Date of Patent: January 19, 2016
    Assignee: Amazon Technologies, Inc.
    Inventor: Siamack Haghighi
  • Patent number: 9239801
    Abstract: An example processing system may comprise: a lower stack bound register configured to store a first memory address, the first memory address identifying a lower bound of a memory addressable via a stack segment; an upper stack bound register configured to store a second memory address, the second memory address identifying an upper bound of the memory addressable via the stack segment; and a stack bounds checking logic configured to detect unauthorized stack pivoting, by comparing a memory address being accessed via the stack segment with at least one of the first memory address and the second memory address.
    Type: Grant
    Filed: June 5, 2013
    Date of Patent: January 19, 2016
    Assignee: Intel Corporation
    Inventors: Baiju V. Patel, Xiaoning Li, H P. Anvin, Asit K. Mallick, Gilbert Neiger, James B. Crossland, Toby Opferman, Atul A. Khare, Jason W. Brandt, James S. Coke, Brian L. Vajda
  • Patent number: 9235521
    Abstract: A cache controller configured to detect a wait type (i.e., a wait event) associated with an imprecise collision and/or contention event is disclosed. The cache controller is configured to operatively connect to a cache memory device, which is configured to store a plurality of cache lines. The cache controller is configured to detect a wait type due to an imprecise collision and/or collision event associated with a cache line. The cache controller is configured to cause transmission of a broadcast to one or more transaction sources (e.g., broadcast to the transaction sources internal to the cache controller) requesting the cache line indicating the transaction source can employ the cache line.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: January 12, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte Ltd
    Inventors: Gary M. Lippert, Judy M. Gehman, Scott E. Greenfield, Jerome M. Meyer, John M. Nystuen
  • Patent number: 9235550
    Abstract: A multi-core processor providing heterogeneous processor cores and a shared cache is presented.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: January 12, 2016
    Assignee: Intel Corporation
    Inventors: Frank T. Hady, Mason B. Cabot, John Beck, Mark B. Rosenbluth
  • Patent number: 9229644
    Abstract: In a nonvolatile memory array that has a binary cache formed of SLC blocks and a main memory formed of MLC blocks, corrupted data along an MLC word line is corrected and relocated, along with any other data along the MLC word line, to binary cache, before it becomes uncorrectable. Subsequent reads of the relocated data directed to binary cache.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: January 5, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Yew Yin Ng, Mrinal Kochar, Niles Yang, Deepanshu Dutta