Patents by Inventor Jon C. R. Bennett

Jon C. R. 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: 9417823
    Abstract: A memory system and a method for managing the system is described. The system is configured such a plurality of system controllers, which may be RAID controllers, receive requests from the external environment and distribute the requests to a plurality of memory modules such that data may be stored in the memory modules. A global sequence number is assigned to the data of a data stripe so that the operations related to the data stripe are performed in an ordered manner so that the data remains consistent. A plurality of system controllers may comprise a domain and access a plurality of memory controllers and a plurality of domains may include at least one common memory module. A plurality of groups of controllers may communicate with a switch or with a representative controller so as to coordinate the assignment of global sequence numbers.
    Type: Grant
    Filed: June 6, 2013
    Date of Patent: August 16, 2016
    Assignee: VIOLIN MEMORY INC.
    Inventors: Jon C. R. Bennett, Daniel C. Biederman, David M. Smith
  • Patent number: 9384818
    Abstract: A memory system is described, where a plurality of memory modules is connected to a memory controller. The power status of each of the memory modules is controlled, depending on the functions being performed by the memory module. When no read or write operation is being performed on a particular memory module, at least a portion of the circuitry may be operated in a lower power mode. A memory circuit associated with the memory module may be placed in a low power mode by disabling a clock. The memory circuit data integrity may be secured by issuing refresh commands while when the memory circuit is in the lower power mode, by enabling the clock, issuing the refresh command, and disabling the clock after completion of the refresh operation.
    Type: Grant
    Filed: August 27, 2008
    Date of Patent: July 5, 2016
    Assignee: VIOLIN MEMORY
    Inventors: Maxim Adelman, Jon C. R. Bennett
  • Patent number: 9378135
    Abstract: A system and method of storing data in a semiconductor-type non-volatile memory is described, where a physical storage address of data is made available to a user application such as a file system and where characteristics of the memory system that may be allocated on a physical or a logical basis to a user are separately characterizable as to performance, size, redundancy, or the like. A read request to the memory system may be serviced by accessing the physical address included in the read request rather than using a logical-to-physical address lookup in the memory system. Garbage collection operations may be performed on a virtual-physical-block basis to preserve the relationship between the physical address known to the user and the actual physical location of the data.
    Type: Grant
    Filed: January 8, 2014
    Date of Patent: June 28, 2016
    Assignee: VIOLIN MEMORY INC.
    Inventor: Jon C. R. Bennett
  • Patent number: 9361047
    Abstract: In a memory system where memory units may be separated from each other so as to operate substantially independently, the coordination of related memory operations between such units may be by synchronization of an epoch of time and the start of an epoch of time with a common synchronization source. The source may be distributed directly to each of the memory modules of a memory unit, or through an intermediate synchronization circuit of a memory unit that is common to the modules. Where the data is stored as a RAID stripe on a plurality of synchronized modules, the read and write or erase operations performed by the modules may be arranged such that the write operations or erase operations may not substantially affect the ability to promptly read the stored data of a RAID stripe.
    Type: Grant
    Filed: July 2, 2013
    Date of Patent: June 7, 2016
    Assignee: VIOLIN MEMORY INC.
    Inventors: Daniel C. Biederman, Jon C. R. Bennett
  • Patent number: 9335939
    Abstract: A memory system and a method for managing the system is described. The system is configured such a plurality of system controllers, which may be RAID controllers, receive requests from the external environment and distribute the requests to a plurality of memory modules such that data may be stored in the memory modules. A global sequence number is assigned to the data of a data stripe so that the operations related to the data stripe are performed in an ordered manner so that the data remains consistent. A plurality of system controllers may comprise a domain and access a plurality of memory controllers and a plurality of domains may include at least one common memory module.
    Type: Grant
    Filed: July 11, 2012
    Date of Patent: May 10, 2016
    Assignee: VIOLIN MEMORY INC.
    Inventors: Jon C. R. Bennett, David M. Smith, Daniel C. Biederman
  • Patent number: 9311182
    Abstract: A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
    Type: Grant
    Filed: April 9, 2012
    Date of Patent: April 12, 2016
    Assignee: VIOLIN MEMORY INC.
    Inventor: Jon C. R. Bennett
  • Patent number: 9304714
    Abstract: A system and method is described for operating a computer memory system having a plurality of controllers capable of accessing a common set of memory modules. Access to the physical storage of the memory modules may be managed by configuration logical units (LUNs) addressable by the users. The amount of memory associated with each LUN may be managed in units of memory (LMA) from a same free LMA table maintained in each controller of the plurality of controllers. A request for maintenance of a LUN may be received from any user through any controller and results in the association of a free memory area with the LUN, and the remaining controllers perform the same operation. A test for misallocation of a free memory area is performed and when such misallocation occurs, the situation is corrected in accordance with a policy.
    Type: Grant
    Filed: April 18, 2013
    Date of Patent: April 5, 2016
    Assignee: VIOLIN MEMORY INC
    Inventor: Jon C. R. Bennett
  • Patent number: 9286198
    Abstract: A system and method for managing the storage of data in non-volatile memory is described. In an aspect, the data may be described by metadata and a transaction log file that are checkpointed from a volatile memory into the non-volatile memory. Actions that take place between the last checkpointing of a metadata segment and log file segment are discovered by scanning the non-volatile memory blocks, taking account of a record of the highest sector in each block that is known to have been recorded. Any later transactions are discovered and used to update the recovered metadata so that the metadata correctly represents the stored data.
    Type: Grant
    Filed: April 15, 2013
    Date of Patent: March 15, 2016
    Assignee: VIOLIN MEMORY
    Inventor: Jon C. R. Bennett
  • Patent number: 9189334
    Abstract: A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
    Type: Grant
    Filed: May 8, 2015
    Date of Patent: November 17, 2015
    Assignee: VIOLIN MEMORY, INC.
    Inventor: Jon C. R. Bennett
  • Patent number: 9164839
    Abstract: Storage of digital data in non-volatile media such as NAND FLASH needs to take account of the errors in data retrieved from the memory. The error rate tends to increase with the number of write/erase cycles of a cell of memory and with the time that the data has been stored. To achieve a very low uncorrected bit error rate (UBER) a substantial amount of redundancy data needs to be stored for error correction purposes. A method and apparatus is disclosed where a first redundancy data is represented by a second redundancy data computed from the first redundancy data. The first redundancy data may not be stored and is reconstructed from the stored data using a same generation procedure as previously used. The reconstructed estimate of the first redundancy data is corrected by the second redundancy data, and is used to correct the underlying data.
    Type: Grant
    Filed: July 24, 2014
    Date of Patent: October 20, 2015
    Assignee: VIOLIN MEMORY INC
    Inventor: Jon C. R. Bennett
  • Patent number: 9141302
    Abstract: A system and method of managing the storage of data in flash memory performs snapshots of the data by maintaining the data at the epoch that the snapshot is performed in the same physical memory location. Data that is modified after the snapshot is then stored to a new physical memory location and referenced to the snapshot location. When a user read operation is performed, the data is read from the original location if the read operation is for the snapshot data. The read operation for dynamic data is performed from the original location if the data has not change since the snapshot epoch, or from the referenced data location if the data has changed since the snapshot epoch. Snapshots are released by dereferencing the original location if the data has been changed since the snapshot epoch.
    Type: Grant
    Filed: April 18, 2013
    Date of Patent: September 22, 2015
    Assignee: VIOLIN MEMORY
    Inventor: Jon C. R. Bennett
  • Patent number: 9081713
    Abstract: A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
    Type: Grant
    Filed: March 10, 2015
    Date of Patent: July 14, 2015
    Assignee: VIOLIN MEMORY, INC.
    Inventor: Jon C. R. Bennett
  • Patent number: 8832524
    Abstract: Storage of digital data in non-volatile media such as NAND FLASH needs to take account of the errors in data retrieved from the memory. The error rate tends to increase with the number of write/erase cycles of a cell of memory and with the time that the data has been stored. To achieve a very low uncorrected bit error rate (UBER) a substantial amount of redundancy data needs to be stored for error correction purposes. A method and apparatus is disclosed where a first redundancy data is represented by a second redundancy data computed from the first redundancy data. The first redundancy data may not be stored and is reconstructed from the stored data using a same generation procedure as previously used. The reconstructed estimate of the first redundancy data is corrected by the second redundancy data, and is used to correct the underlying data.
    Type: Grant
    Filed: September 21, 2012
    Date of Patent: September 9, 2014
    Assignee: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 8726064
    Abstract: An interconnection system, apparatus and method is described for arranging elements in a network, which may be a data memory system, computing system or communications system where the data paths are arranged and operated so as to control the power consumption and data skew properties of the system. A configurable switching element may be used to form the interconnections at nodes, where a control signal and other information is used to manage the power status of other aspects of the configurable switching element. Time delay skew of data being transmitted between nodes of the network may be altered by exchanging the logical and physical line assignments of the data at one or more nodes of the network. A method of laying out an interconnecting motherboard is disclosed which reduces the complexity of the trace routing.
    Type: Grant
    Filed: April 17, 2006
    Date of Patent: May 13, 2014
    Assignee: Violin Memory Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 8452929
    Abstract: A system and method for managing the storage of data in non-volatile memory is described. In an aspect, the data may be described by metadata and a transaction log file that are checkpointed from a volatile memory into the non-volatile memory. Actions that take place between the last checkpointing of a metadata segment and log file segment are discovered by scanning the non-volatile memory blocks, taking account of a record of the highest sector in each block that is known to have been recorded. Any later transactions are discovered and used to update the recovered metadata so that the metadata correctly represents the stored data.
    Type: Grant
    Filed: November 18, 2008
    Date of Patent: May 28, 2013
    Assignee: Violin Memory Inc.
    Inventor: Jon C. R. Bennett
  • Publication number: 20120221922
    Abstract: A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
    Type: Application
    Filed: April 9, 2012
    Publication date: August 30, 2012
    Applicant: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 8200887
    Abstract: A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
    Type: Grant
    Filed: March 26, 2008
    Date of Patent: June 12, 2012
    Assignee: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 8112655
    Abstract: A memory system is described, where the transmission time of data between memory modules is managed so that the overall time delay between specified points in the memory system is maintained a constant. Each lane of a multilane bus may be separately managed, and a data frame evaluated at the destination module, without a need for deskewing at intermediate modules. The time delay in propagation of the data through a module, which may have a switch to route the data, is reduced by operating the data path through the module at one or more submultiples of the bus serial data rate, and selecting the sampling point of the received data so that variations in time delay due to temperature changes or ageing are accommodated.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: February 7, 2012
    Assignee: Violin Memory, Inc.
    Inventors: Kevin D. Drucker, James H. Jones, Jon C. R. Bennett
  • Patent number: 8090973
    Abstract: An interconnection system is described where data lanes may be exchanged between lines at intervals along a transmission path so that the differential time delay between bits on a plurality of the lines is reduced when determined at a receiving location. The data lanes may be bound to the lines through the operation of a configurable switch, or by a configurable switch in conjunction with predetermined manufactured connections, or a combination of the techniques. The wiring of a connectorized node module, which may include a memory device, may be configured so that the differential time delay between pairs of input lines of a node, as measured at the output of a node, is reduced.
    Type: Grant
    Filed: November 15, 2010
    Date of Patent: January 3, 2012
    Assignee: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 8028186
    Abstract: An interconnection system is described where data lanes may be exchanged between lines at intervals along a transmission path so that the differential time delay between bits on a plurality of the lines is reduced when determined at a receiving location. The data lanes may be bound to the lines through the operation of a configurable switch, or by a configurable switch in conjunction with predetermined manufactured connections, or a combination of the techniques. The wiring of a connectorized node module, which may include a memory device, may be configured so that the differential time delay between pairs of input lines of a node, as measured at the output of a node, is reduced.
    Type: Grant
    Filed: October 17, 2007
    Date of Patent: September 27, 2011
    Assignee: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett