Patents by Inventor David Bennett

David Bennett has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9141528
    Abstract: A non-volatile memory organized into flash erasable blocks sorts units of data according to a temperature assigned to each unit of data, where a higher temperature indicates a higher probability that the unit of data will suffer subsequent rewrites due to garbage collection operations. The units of data either come from a host write or from a relocation operation. Among the units more likely to suffer subsequent rewrites, a smaller subset of data super-hot is determined. These super-hot data are then maintained in a dedicated portion of the memory, such as a resident binary zone in a memory system with both binary and MLC portions.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: September 22, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Sergey Anatolievich Gorobets, Liam Michael Parker, Neil David Hutchison, Robert George Young, Alan David Bennett
  • Publication number: 20150046772
    Abstract: A data storage device includes a non-volatile memory and a controller. A method includes determining a decoding error associated with information stored at a page of a first block of the non-volatile memory. In response to the decoding error, a physical address is accessed from the management table. The physical address corresponds to a trial logical address. In response to the physical address corresponding to the page, the method further includes moving data from the page to a second block of the non-volatile memory.
    Type: Application
    Filed: August 6, 2013
    Publication date: February 12, 2015
    Applicant: Sandisk Technologies Inc.
    Inventors: ALAN DAVID BENNETT, THOMAS HUGH SHIPPEY
  • Publication number: 20140281132
    Abstract: A system and method for coalescing data fragments in a volatile memory such as RAM cache is disclosed. The method may include storing multiple data fragments in volatile memory and initiating a single write operation to flash memory only when a predetermined number of data fragments have been received and aggregated into a single flash write command. The method may also include generating a binary cache index delta that aggregates in a single entry all of the binary cache index information for the aggregated data fragments. A memory system having a non-volatile memory, a volatile memory sized to at least store a number of data fragments equal to a physical page managed in a binary cache of the non-volatile memory, and a controller is disclosed. The controller may be configured to execute the method of coalescing data fragments into a single flash write operation described above.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventors: Marielle Bundukin, King Ying Ng, Steven T. Sprouse, William Wu, Sergey Anatolievich Gorobets, Liam Parker, Alan David Bennett
  • Publication number: 20140244913
    Abstract: Memory systems having a volatile memory, a non-volatile memory arranged in blocks, and a controller coupled to the volatile memory and to the non-volatile memory. The controller is configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory. The list of addresses of erased blocks of the non-volatile memory is limited to a maximum number of list entries. The controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory in response to the list containing its maximum number of list entries and/or in response to an operation that would increase the number of list entries to a number equal to or greater than the maximum number of list entries.
    Type: Application
    Filed: April 7, 2014
    Publication date: August 28, 2014
    Applicant: MICRON TECHNOLOGY, INC.
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Alan Welsh Sinclair
  • Publication number: 20140172793
    Abstract: Mechanisms for synchronizing an object set with a remote data store are often performed at a particular frequency, e.g., once per hour or day. However, the objects of the object set may have different priorities, and it may be advantageous to synchronize higher-priority objects more often than regular-priority objects. The synchronization mechanisms may also differ (e.g., high-priority object synchronization may be direct and/or holistic, while regular-priority object synchronization may be differential, cached, and/or involving version and/or conflict resolution). Additionally, a resource-based threshold may be applied to the high-priority objects (e.g., a bandwidth cap) in order to reduce resource exhaustion, and high-priority objects that are not synchronized within the threshold may be synchronized with the regular-priority objects.
    Type: Application
    Filed: December 13, 2012
    Publication date: June 19, 2014
    Applicant: Microsoft Corporation
    Inventors: Adam Stritzel, John E. Brezak, Chin Hung Lam, Patrick Richard Jakubowski, Ciprian Gociman, Joerg Christof Zender, David Bennett, Sarita Gupta, Nicholas Malaguti
  • Publication number: 20140173012
    Abstract: A method and system for managing email send jobs. Managing email send jobs includes constructing and building a plurality of emails based upon an executable process, wherein each of the plurality of emails comprises an activity data and at least one email recipients. Managing email send jobs also includes routing each of the plurality of emails to a queue at a location, wherein the location is determined based in part upon proximity to at least one of the at least one email recipients, processing each of the plurality of emails within each queue, injecting each of the plurality of emails into a mail transfer agent at the location, and sending each of the plurality of emails to the at least one email recipients.
    Type: Application
    Filed: August 6, 2012
    Publication date: June 19, 2014
    Applicant: ExactTarget, Inc.
    Inventors: James Michael Ciancio-Bunch, Tom Waltz, Jonathan David Bennett
  • Publication number: 20140147856
    Abstract: A method of identifying a subject at risk of developing or having a neurodegenerative disorder is provided. The method includes obtaining a biological sample from the subject and assaying a level of a marker of intestinal permeability in the sample. The method further includes comparing the subject's level to a control level for the marker of intestinal integrity and identifying the subject having an increased intestinal permeability relative to the control intestinal permeability as having an increased risk of developing or having a neurodegenerative disorder. A method of monitoring the efficacy of a treatment for a neurodegenerative disorder is also provided.
    Type: Application
    Filed: November 25, 2013
    Publication date: May 29, 2014
    Applicant: Rush University Medical Center
    Inventors: Christopher Forsyth, Maliha Shaikh, Kathleen Shannon, Jeffrey Kordower, Ali Keshavarzian, David A. Bennett
  • Publication number: 20140115410
    Abstract: A method and system for wear balancing in a flash memory device using bit error probability is disclosed. The flash memory device includes blocks with different life spans, leading potentially to one block wearing out before the other. In order to avoid this, a controller is configured to determine a bit error probability of a block and determine, based on the bit error probability, whether to select the block for storage of data. A method and system for selecting a block in a flash memory device based on the type of data is disclosed. The type of data may comprise flash management data (which may be used to manage the flash memory device) and host data. An indication of age associated with the block (such as bit error probability) is analyzed in order to determine whether to store the data in the block based on the type of data.
    Type: Application
    Filed: October 24, 2012
    Publication date: April 24, 2014
    Inventors: Kevin Patrick Kealy, Alan David Bennett
  • Patent number: 8700840
    Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. Decisions to archive data from the cache memory to the main memory depend on the attributes of the data to be archived, the state of the blocks in the main memory portion and the state of the blocks in the cache portion.
    Type: Grant
    Filed: January 5, 2009
    Date of Patent: April 15, 2014
    Assignee: Sandisk Technologies, Inc.
    Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
  • Patent number: 8596398
    Abstract: The present disclosure relates to all-terrain vehicles (ATVs) having an ergonomically improved rider footwell and leg well. Specifically, the present disclosure relates to ATVs having an ergonomically designed footwell leg recess to allow the rider's leg to be received therein while standing.
    Type: Grant
    Filed: November 17, 2008
    Date of Patent: December 3, 2013
    Assignee: Polaris Industries Inc.
    Inventor: Jeffrey David Bennett
  • Patent number: 8593866
    Abstract: A non-volatile memory system that has multiple memory banks initially assigns logical addresses to memory banks according to an assignment scheme, maintains this assignment for a period of time, then identifies frequently-written data (“hot-data”) assigned to a memory bank that is heavily worn over that period of time and reassigns it to a less worn memory bank.
    Type: Grant
    Filed: November 11, 2011
    Date of Patent: November 26, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Neil David Hutchison, Alan David Bennett, Robert Jackson
  • Publication number: 20130275174
    Abstract: A real-time, mobile, energy savings and cost estimation tool may be provided. The energy savings and cost estimation tool may be implemented on a mobile electronic device, such as, but not limited to a laptop computer, tablet, or a smart phone, for example. A user may create a project and define project information using the energy savings and cost estimation tool while at the project site. For example, the user may discuss the project with a potential customer, ask questions about the project to be created or retrofitted, walk around the project site, and enter the project information into the energy savings and cost estimation tool. Using the project information gathered, the energy savings and cost estimation tool may provide real-time feedback, such as an energy usage audit, an energy usage solution design, an energy analysis, and/or a return on investment (ROI) analysis for the project, to the user.
    Type: Application
    Filed: March 13, 2013
    Publication date: October 17, 2013
    Inventors: David Bennett, Christopher Buck, Gerard Darville, Hagen Denton, Mark Law, Brent Protzman
  • Publication number: 20130207962
    Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for presenting three-dimensional images to a user. The method detects a user gesture, converts the user gesture into motion data, and presents a three-dimensional image showing an object or scene in a particular view, where the particular view is based on the motion data derived from the user gesture.
    Type: Application
    Filed: February 10, 2012
    Publication date: August 15, 2013
    Applicant: Float Hybrid Entertainment Inc.
    Inventors: Peter Michael Oberdorfer, John Gaeta, David Tin Nyo, Michael David Bennett, Ryo Alexander Okita
  • Patent number: 8495593
    Abstract: A state machine program is generated from a state machine. The state machine has states, transitions and events. A basic structure for the state machine program is generated. The basic structure has therein a structure that operates in non-final states. A statement is generated within the structure for detecting an event. A statement is generated within the structure for evaluating the detected event based on a current state to identify if the current state is valid for the detected event. A statement is generated within the structure for determining a next state if the current state is valid. A statement is generated within the structure for transitioning the current state to the next state.
    Type: Grant
    Filed: September 9, 2005
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Gregory D Adams, Jonathan David Bennett, Perry Randolph Giffen, Axel Martens, William Gerald O'Farrell
  • Publication number: 20130183078
    Abstract: A penholder comprising a base arranged to receive and removably engage a pen, a retraction device attachable to the base, a tether connectable at one end to the base and the other to a pen and a suction cup connected to the base and configured to enable the base to be removably attached to surfaces.
    Type: Application
    Filed: June 22, 2011
    Publication date: July 18, 2013
    Inventors: David Bennett, Mark Bennett
  • Patent number: 8452911
    Abstract: A method and system for managing maintenance operations in a multi-bank non-volatile storage device is disclosed. The method includes receiving a data write command and associated data from a host system for storage in the non-volatile storage device and directing a head of the data write command to a first bank in the and a tail of the data write command to a second bank, where the head of the data write command only includes data having logical block addresses preceding logical block addresses of data in the tail of the data write command. When a status of the first bank delays execution of the data write command the controller executes a second bank maintenance procedure in the second bank while the data write command directed to the first and second banks is pending. The system includes a plurality of banks, where each bank may be associated with the same or different controllers, and the one or more controllers are adapted to execute the method noted above.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: May 28, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Charles Michael Schroter, Eugene Zilberman
  • Publication number: 20130121075
    Abstract: A non-volatile memory system that has multiple memory banks initially assigns logical addresses to memory banks according to an assignment scheme, maintains this assignment for a period of time, then identifies frequently-written data (“hot-data”) assigned to a memory bank that is heavily worn over that period of time and reassigns it to a less worn memory bank.
    Type: Application
    Filed: November 11, 2011
    Publication date: May 16, 2013
    Inventors: Neil David Hutchison, Alan David Bennett, Robert Jackson
  • Patent number: 8417876
    Abstract: Techniques are presented for performing maintenance operations, such as garbage collection, on non-volatile memory systems will still respecting the maximum latency, or time-out, requirements of a protocol. A safety guard band in the space available for storing host data, control data, or both, is provided. If, on an access of the memory, it is determined that the guard band space is exceeded, the system uses a recovery back to the base state by triggering and prioritizing clean-up operations to re-establish all safety guard bands without breaking the timing requirements. To respect these timing requirements, the operations are split into portions and done in a phased manner during allowed latency periods.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: April 9, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Sergey Anatolievich Gorobets, Robert George Young, Alan David Bennett
  • Patent number: 8386695
    Abstract: Methods and apparatus for writing data to non-volatile memory include maintaining one or more lists of obsolete blocks of the non-volatile memory and limiting the lists to a predetermined value. If a write operation would result in a list exceeding its predetermined value, a block erase operation is performed on one of the obsolete blocks. Valid data contained in an obsolete block selected for erasure is relocated prior to erasure.
    Type: Grant
    Filed: March 4, 2008
    Date of Patent: February 26, 2013
    Assignee: Micron Technology, Inc.
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Alan Welsh Sinclair
  • Publication number: 20130046574
    Abstract: A system and method for replenishing product in an inventory of a distribution network having a plurality of levels, wherein the system and method may include determining an independent quantity demanded of a product at a first-level entity of the distribution network associated with customer demand directly from the first-level entity; determining a dependent quantity demanded of the product at the first-level entity associated with overall demand from the distribution network apportioned to the first-level entity; summing the quantities demanded in the preceding steps to determine a total quantity demanded for the first-level entity; repeating the preceding actions for levels of the distribution network eligible for processing up to a highest-level entity of the distribution network, thereby generating a plurality of quantity-demanded sums for the respective entities; and calculating a total quantity demanded of the product for the distribution network by summing the quantity-demanded sums of the respective
    Type: Application
    Filed: August 17, 2012
    Publication date: February 21, 2013
    Applicant: DEMANDPOINT INC.
    Inventors: Justin Griep, David Bennett