Patents Assigned to BiTMicro Networks, Inc.
  • Patent number: 10627798
    Abstract: In an embodiment of the invention, an apparatus comprises: a non-volatile memory device; a complex programmable logic device (CPLD) coupled to the non-volatile memory device; a field programmable gate array (FPGA) coupled to the CPLD; and a host coupled to the FPGA; wherein the apparatus triggers a switch of an FPGA image in the FPGA to another FPGA image. In another embodiment of the invention, a method comprises: triggering, by an apparatus, a switch of an FPGA image in a field programmable gate array (FPGA) to another FPGA image; herein the apparatus comprises: a non-volatile memory device; a complex programmable logic device (CPLD) coupled to the non-volatile memory device; the field programmable gate array (FPGA) coupled to the CPLD; and a host coupled to the FPGA.
    Type: Grant
    Filed: June 29, 2018
    Date of Patent: April 21, 2020
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Federico Sambilay, Jr., Bharadwaj Pudipeddi, Richard A. Cantong, Joevanni Parairo
  • Patent number: 10489318
    Abstract: In an embodiment of the invention, an apparatus comprises: a first flash module comprising a first flash device; and a second flash module comprising a second flash device; wherein the first flash module and second flash module are coupled by a flash interconnect; wherein the first flash device is configured to store a first data stripe of a data and wherein the second flash device is configured to store a second data stripe of the data. In another embodiment of the invention, a method comprises: storing, in a first flash device in a first flash module, a first data stripe of a data; and storing, in a second flash device in a second flash module, a second data stripe of the data; wherein the first flash module and second flash module are coupled by a flash interconnect.
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: November 26, 2019
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Avnher Villar Santos, Marlon Basa Verdan, Elsbeth Lauren Tagayo Villapana
  • Patent number: 10459842
    Abstract: In an embodiment of the invention, an apparatus comprises: a data storage device comprising a first prefetch buffer, a second prefetch buffer, and a third prefetch buffer; wherein the second prefetch buffer and the third prefetch buffer are both coupled in parallel to the first prefetch buffer; and wherein any of the prefetch buffers is configured to store prefetch data. The prefetch data is available to a host that sends a memory read transaction request to the data storage device. In another embodiment of the invention, a method comprises: storing prefetch data in any one of a first prefetch buffer, a second prefetch buffer, or a third prefetch buffer in a storage device; wherein the second prefetch buffer and the third prefetch buffer are both coupled in parallel to the first prefetch buffer. The prefetch data is available to a host that sends a memory read transaction request to a data storage device.
    Type: Grant
    Filed: February 24, 2018
    Date of Patent: October 29, 2019
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Rey H. Bruce, Ricardo H. Bruce, Marlon B. Verdan, Elsbeth Lauren Tagayo-VillapaƱa
  • Patent number: 10430303
    Abstract: In an embodiment of the invention, an apparatus comprises: a plurality of bus masters and a plurality of bus arbiters to support routing and failover, wherein each bus arbiter is coupled to a plurality of bus masters; and a central processing unit (CPU) coupled to at least one of the bus arbiters; wherein the CPU is configured to execute a firmware that chooses bus re-routing or failover in response to a bus failure. In another embodiment of the invention, a method comprises: choosing, by a central processing unit (CPU) coupled to a plurality of bus arbiters, bus re-routing or failover in response to a bus failure. In yet another embodiment of the invention, an article of manufacture, comprises a non-transient computer-readable medium having stored thereon instructions that permit a method comprising: choosing, by a central processing unit (CPU) coupled to a plurality of bus arbiters, bus re-routing or failover in response to a bus failure.
    Type: Grant
    Filed: February 7, 2018
    Date of Patent: October 1, 2019
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Cyrill Coronel Ponce, Jarmie Dela Cruz Espuerta, Marlon Basa Verdan
  • Patent number: 10423554
    Abstract: In one embodiment of the invention, a system architecture for bus masters and bus arbiters are provided to support routing and failover. The system comprises large pools of bus masters, a plurality of sets can be configured to control a plurality of slave devices wherein each set contains a collection of bus masters attached to central arbiter driving one of the system buses. Each set controls a group(s) of slave device that are primarily controlled by the bus master(s) within the set. Hence, a system can therefore include of a plurality of sets and can control a group of slave devices.
    Type: Grant
    Filed: October 23, 2017
    Date of Patent: September 24, 2019
    Assignee: BiTMICRO Networks, Inc
    Inventors: Ricardo H. Bruce, Cyrill Coronel Ponce, Jarmie Dela Cruz Espuerta
  • Patent number: 10402315
    Abstract: In an embodiment of the invention, a method comprises: requesting an update or modification on a control data in at least one flash block in a storage memory; requesting a cache memory; replicating, from the storage memory to the cache memory, the control data to be updated or to be modified; moving a clean cache link list to a dirty cache link list so that the dirty cache link list is changed to reflect the update or modification on the control data; and moving the dirty cache link list to a for flush link list and writing an updated control data from the for flush link list to a free flash page in the storage memory.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: September 3, 2019
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Marvin Dela Cruz Fenol, Jik-Jik Oyong Abad, Precious Nezaiah Umali Pestano
  • Patent number: 10216596
    Abstract: Embodiments of the invention provide a system and method to vastly improve the remote write latency (write to remote server) and to reduce the load that is placed on the remote server by issuing auto-log (automatic log) writes through an integrated networking port in the SSD (solid state drive). Embodiments of the invention also provide a system and method for a PCI-e attached SSD to recover after a failure detection by appropriating a remote namespace.
    Type: Grant
    Filed: December 31, 2016
    Date of Patent: February 26, 2019
    Assignee: BiTMICRO Networks, Inc.
    Inventor: Bharadwaj Pudipeddi
  • Patent number: 10120694
    Abstract: A mechanism of booting up a system directly from a storage device and a means of initializing an embedded system prior to activating a CPU is presented. The said system is comprised of one or more CPUs, a reset controller, a storage device controller, one or more direct memory access controllers, a RAM and its controller, a ROM and its controller, a debug interface and a power-on reset (POR) sequencer. The POR sequencer controls the overall boot process of the embedded system. Said sequencer uses descriptors (POR Sequencer descriptors) which are used to update the configuration registers of the system and to enable CPU-independent data transfers with the use of DMA controllers. Using a minimal amount of non-volatile memory for booting up a system brings down costs associated with increased silicon real estate area and power consumption. Capability of pre-initializing the system even before a CPU is brought out of reset provides flexibility and system robustness.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: November 6, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Alvin Anonuevo Manlapat, Ian Victor Pasion Beleno
  • Patent number: 10078604
    Abstract: In an embodiment of the invention, a method comprises: collecting a plurality of interrupts and servicing coalesced active interrupts to a processor if an interrupt count limit has occurred or if a timeout count has expired. In another embodiment of the invention, an apparatus comprises: an interrupt controller configured to collect a plurality of interrupts and configured to service coalesced active interrupts to a processor if an interrupt count limit has occurred or if a timeout count has expired. In yet another embodiment of the invention, an article of manufacture comprises: a non-transient computer-readable medium having stored thereon instructions that permit a method comprising: collecting a plurality of interrupts and servicing coalesced active interrupts to a processor if an interrupt count limit has occurred or if a timeout count has expired.
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: September 18, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Arnaldo Cristobal, Marlon Verdan
  • Patent number: 10055150
    Abstract: In an embodiment of the invention, a method comprises: requesting an update on a control data in at least one flash block in a storage memory; replicating, from the storage memory to a cache memory, the control data to be updated; moving a clean cache link list to a dirty cache link list so that the dirty cache link list is changed to reflect the update on the control data; and moving the dirty cache link list to a for-flush link list and writing an updated control data from the for-flush link list to a free flash page in the storage memory.
    Type: Grant
    Filed: June 1, 2016
    Date of Patent: August 21, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Marvin Dela Cruz Fenol, Jik-Jik Oyong Abad, Precious Nezaiah Umali Pestano
  • Patent number: 10042792
    Abstract: In an embodiment of the invention, a method comprises: transmitting, by a host side, an exchange message protocol (EMP) command frame to a memory device side; informing, by the host side, the memory device side to process the command frame; executing, by the memory device side, the command frame; and transmitting, by the memory device side, an EMP response frame to the host side, in response to the command frame. In another embodiment of the invention, an apparatus comprises: a host side configured to transmit an exchange message protocol (EMP) command frame to a memory device side; wherein the host side is configured to inform the memory device side to process the command frame; wherein the memory device side is configured to execute the command frame; and wherein the memory device side is configured to transmit an EMP response frame to the host side, in response to the command frame.
    Type: Grant
    Filed: April 16, 2015
    Date of Patent: August 7, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Amor Leo Saing Ricaborda, Alain Vincent Villaranda Abitria, Rose Fay M. Orcullo
  • Patent number: 10025736
    Abstract: In an embodiment of the invention, a method comprises: transmitting, by a host side, an exchange message protocol (EMP) command frame to a memory device side; informing, by the host side, the memory device side to process the command frame; executing, by the memory device side, the command frame; and transmitting, by the memory device side, an EMP response frame to the host side, in response to the command frame. In another embodiment of the invention, an apparatus comprises: a host side configured to transmit an exchange message protocol (EMP) command frame to a memory device side; wherein the host side is configured to inform the memory device side to process the command frame; wherein the memory device side is configured to execute the command frame; and wherein the memory device side is configured to transmit an EMP response frame to the host side, in response to the command frame.
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: July 17, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Amor Leo Saing Ricaborda, Alain Vincent Villaranda Abitria, Rose Fay M. Orcullo
  • Patent number: 10013373
    Abstract: In an embodiment of the invention, a method for to use a two level linked list descriptor mechanism to pass information among flash, memory, and IO controller modules is presented. The method includes creating a first level data structure for one or more first level descriptors; creating a second level data structure for one or more second level descriptors, each second level descriptor having a pointer to tracking information that includes start information, running information, and rewind information for a data DMA; using the one or more second level descriptors, the one or more first level descriptors, and the tracking information for a data DMA; updating the tracking information during the data DMA; and updating the tracking information at the end of the data DMA.
    Type: Grant
    Filed: November 6, 2016
    Date of Patent: July 3, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Bernard Sherwin Leung Chiw, Margaret Anne Nadonga Somera
  • Patent number: 10007561
    Abstract: The invention is an apparatus for dynamic provisioning available as a multi-mode device that can be dynamically configured for balancing between storage performance and hardware acceleration resources on reconfigurable hardware such as an FPGA. An embodiment of the invention provides a cluster of these multi-mode devices that form a group of resilient Storage and Acceleration elements without requiring a dedicated standby storage spare. Yet another embodiment of the invention provides an interconnection network attached cluster configured to dynamically provision full acceleration and storage resources to meet an application's needs and end-of-life requirements of an SSD.
    Type: Grant
    Filed: April 10, 2017
    Date of Patent: June 26, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Bharadwaj Pudipeddi, Jeffrey Bunting, Lihan Chang
  • Patent number: 9971524
    Abstract: An embodiment of the invention provides a method for optimizing flash device accesses, comprising: interleaving and striping, in tandem, for a transfer of data the other portions of the data.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: May 15, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Avnher Villar Santos, Marlon Basa Verdan, Elsbeth Lauren Tagayo Villapana
  • Patent number: 9952991
    Abstract: In an embodiment of the invention, a method comprises: fetching a first set of descriptors from a memory device and writing the first set of descriptors to a buffer; retrieving the first set of descriptors from the buffer and processing the first set of descriptors to permit a Direct Memory Access (DMA) operation; and if space is available in the buffer, fetching a second set of descriptors from the memory device and writing the second set of descriptors to the buffer during or after the processing of the first set of descriptors.
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: April 24, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Marlon B. Verdan, Rowenah Michelle Jago-on
  • Patent number: 9934045
    Abstract: In an embodiment of the invention, an apparatus comprises an embedded system comprising: a processor configured to execute firmware; a random access memory (RAM) configured to store firmware and a multi-port memory controller configured to interface with the RAM; a power-on reset (POR) sequencer configured to control a boot process of the embedded system; a nonvolatile memory configured to store data used by the POR sequencer in the boot process and a nonvolatile memory controller configured to interface with the nonvolatile memory; a direct memory access (DMA) controller configured initiate and track data transfers; and a configuration and status register (CSR) controller configured to access modules in the embedded system.
    Type: Grant
    Filed: April 12, 2015
    Date of Patent: April 3, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Alvin Anonuevo Manlapat, Ian Victor Pasion Beleno
  • Patent number: 9916213
    Abstract: In an embodiment of the invention, an apparatus comprises: a plurality of bus masters and a plurality of bus arbiters to support routing and failover, wherein each bus arbiter is coupled to a plurality of bus masters; and a central processing unit (CPU) coupled to at least one of the bus arbiters; wherein the CPU is configured to execute a firmware that chooses bus re-routing or failover in response to a bus failure. In another embodiment of the invention, a method comprises: choosing, by a central processing unit (CPU) coupled to a plurality of bus arbiters, bus re-routing or failover in response to a bus failure. In yet another embodiment of the invention, an article of manufacture, comprises a non-transient computer-readable medium having stored thereon instructions that permit a method comprising: choosing, by a central processing unit (CPU) coupled to a plurality of bus arbiters, bus re-routing or failover in response to a bus failure.
    Type: Grant
    Filed: April 16, 2015
    Date of Patent: March 13, 2018
    Assignee: BITMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Cyrill Coronel Ponce, Jarmie De La Cruz Espuerta, Marlon Basa Verdan
  • Patent number: 9875205
    Abstract: A large network of memory system is described comprising a plurality of system controllers and flash memory modules, in accordance with an embodiment of the invention. An apparatus is also described comprising a plurality of flash memory modules interconnected with other flash memory modules and to at least one system controller via a point-to-point communication bus topology, in accordance with another embodiment of the invention.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: January 23, 2018
    Assignee: BiTMICRO Networks, Inc.
    Inventors: Ricardo H. Bruce, Jarmie De La Cruz Espuerta, Marlon Basa Verdan
  • Patent number: 9858084
    Abstract: A mechanism of booting up a system directly from a storage device and a means of initializing an embedded system prior to activating a CPU is presented. The said system is comprised of one or more CPUs, a reset controller, a storage device controller, one or more direct memory access controllers, a RAM and its controller, a ROM and its controller, a debug interface and a power-on reset (POR) sequencer. The POR sequencer controls the overall boot process of the embedded system. Said sequencer uses descriptors (POR Sequencer descriptors) which are used to update the configuration registers of the system and to enable CPU-independent data transfers with the use of DMA controllers. Using a minimal amount of non-volatile memory for booting up a system brings down costs associated with increased silicon real estate area and power consumption. Capability of pre-initializing the system even before a CPU is brought out of reset provides flexibility and system robustness.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: January 2, 2018
    Assignee: BITMICRO Networks, Inc.
    Inventors: Alvin Anonuevo Manlapat, Ian Victor Pasion Beleno