Yan Li - Milpitas CA, US Johann George - Sunnyvale CA, US
Assignee:
SanDisk Technologies Inc. - Plano TX
International Classification:
G11C 16/04
US Classification:
36518517
Abstract:
A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host. The system can be applied to perform a wide range of analytics on data sets loaded into the NAND array.
Recovery And Replication Of A Flash Memory-Based Object Store
Johann GEORGE - Sunnyvale CA, US Brian W. O'KRAFKA - Austin TX, US
International Classification:
G06F 11/20
US Classification:
714 62, 714E11084
Abstract:
Approaches for recovering nodes and adding new nodes to object stores maintained on one or more solid state devices. At a surviving node, in a cluster of nodes, replicating, to a recovering node in the cluster of nodes, all requests to modify data stored in a first data store thereon that are received by the surviving node. The surviving node performing a bulk copy operation to copy data, stored in the first data store, to a second data store maintained on the recovering node. The surviving node (a) replicates all requests to modify data received by the surviving node and (b) performs a bulk copy operation in parallel.
Brian W. O'Krafka - Austin TX, US Darpan Dinker - Union City CA, US Manavalan Krishnan - Fremont CA, US Johann George - Sunnyvale CA, US
International Classification:
G06F 17/30
US Classification:
707620, 707E17007
Abstract:
Approaches for replicating data in a distributed transactional system. At a first node of a cluster, a per-transaction write set that comprises a plurality of write operations that are performed against a first data store maintained by the first node is committed. The per-transaction write set is replicated from the first node to a second node of the cluster. At the second node, the plurality of write operations, specified by the per-transaction write set, may be performed in parallel against a second data store maintained by the second node. At the second node, two or more threads may perform a portion of the plurality of write operations against data blocks stored within an in-memory buffer.
Johann George - Sunnyvale CA, US Darpan Dinker - Union City CA, US Manavalan Krishnan - Fremont CA, US Brian W. O'Krafka - Austin TX, US
International Classification:
G06F 17/30
US Classification:
707607, 707E17005, 707E17032
Abstract:
Approaches for recovering a node of a distributed transactional system. When a recovering node is being brought on-line, a copy of at least a portion of a first data store maintained by an existing node is created without ceasing to process transactions against the first data store at the existing node. The recovering node creates a second data store based on the copy of the first data store. While the recovering node creates the second data store, the recovering node stores committed transaction data received from a plurality of nodes. The committed transaction data describes transactions committed against data stores maintained by the sender of the committed transaction data. The recovering node may thereafter replay, against the second data store, any transactions identified by the committed transaction data that are associated with a global transaction number that is more recent than is a reference commit number.
Slave Consistency In A Synchronous Replication Environment
Manavalan Krishnan - Fremont CA, US Darpan Dinker - Fremont CA, US Johann George - Sunnyvale CA, US
International Classification:
G06F 17/30
US Classification:
707611
Abstract:
Approaches for replicating data in a distributed transactional system. At a first node of a cluster, a per-transaction write set, comprising a plurality of write operations, is committed against a first MySQL database. One or more per-transaction write sets are replicated from the first node to a second node. Upon receiving a read query, the second node parses the read query to identify a read set, calculates a write set conflict window for the read query, and upon determining that the read set conflicts with one or more write sets in the write set conflict window, waits to process the read query until all conflicting write sets are committed. However, upon determining that the read set does not conflict any write sets in the write set conflict window, the read query is processed without first committing any write transactions in the write set conflict window for the read query.
- Addison TX, US Frederic H. Tudor - Evanston IL, US Niranjan Patre Neelakanta - Bangalore, IN Manavalan Krishnan - Fremont CA, US Johann George - Sunnyvale CA, US Evgeniy Firsov - Palo Alto CA, US
International Classification:
G06F 12/10 G06F 12/02 G06F 12/0802
Abstract:
Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
Coalescing Metadata And Data Writes Via Write Serialization With Device-Level Address Remapping
- Plano TX, US Johann George - Sunnyvale CA, US Manavalan Krishnan - Fremont CA, US Evgeniy Firsov - Palo Alto CA, US
International Classification:
G06F 3/06
Abstract:
Systems, methods and/or devices are used to coalesce metadata and data writes via write serialization with device-level address remapping. In one aspect, a method of managing a storage system having one or more storage devices includes a serialized write operation to the storage system, in which a serialization segment accumulates data objects and mapping information until the segment is full, at which time the serialization segment is written to the storage system in a single contiguous write. As a result, the number of I/O operations is decreased from a minimum of two (one to write data and one to write updated mapping information) to a single write operation. Further, if the serialization segment contains existing valid data prior to accumulating data objects and mapping information, the valid data is moved to the beginning of the serialization segment using either a remap or xcopy operation.
- Plano TX, US Frederic H. Tudor - Evanston IL, US Niranjan Patre Neelakanta - Bangalore, IN Manavalan Krishnan - Fremont CA, US Johann George - Sunnyvale CA, US Evgeniy Firsov - Palo Alto CA, US
International Classification:
G06F 12/10 G06F 12/0802 G06F 12/02
Abstract:
Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
Name / Title
Company / Classification
Phones & Addresses
Johann George Technology Strategist, Office of the Chief Technology Officer
Qlogic Corp.
2071 Stierlin Ct Ste 200, Mountain View, CA 94043
Johann George Owner
Pattern Recognition Systems Industrial Patterns
1890 Maple Ave Ste 115, Evanston, IL 60201
Johann George Owner
Pattern Recognition Systems Industrial Patterns
1890 Maple Ave STE 115, Evanston, IL 60201 8474919990
Johann George Technology Strategist, Office of the Chief Technology Officer
Sandisk Jun 2012 - Jul 2015
Senior Principal Strategist
Schooner Information Technology Apr 2009 - Jun 2012
Vice President, Product Strategy
Qlogic Mar 2004 - Mar 2009
Technology Strategist
Sourcelight Technologies Sep 1997 - Nov 2000
Chief Executive Officer
Pattern Recognition Systems Sep 1991 - Jul 1997
Chief Executive Officer
Skills:
Product Management Software Development Cloud Computing System Architecture Software Engineering Scalability Distributed Systems Enterprise Software Start Ups Algorithms Virtualization Agile Methodologies Management Infiniband Open Source Flash Memory Embedded Systems Storage Software Design Linux Big Data Architecture Perl Linux Kernel Go To Market Strategy C Cluster High Performance Computing Python Tcp/Ip