Flash Memory Object Store Event Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing datacenter solutions are inadequately integrated and optimized for scaling, performance, capacity, reliability, and power efficiency, particularly in supporting dynamic online data and services driven by Web 2.0 applications and enterprise software-as-a-service (SaaS) demands.

Innovation Solution

Implementing an object store using one or more solid state devices (SSDs), such as flash memory, with a tailored architecture that includes caching, SSD access, scalability, and high availability/disaster recovery components to manage data efficiently and minimize write operations, thereby enhancing performance and extending SSD lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ordinary server, database, data store, and caching infrastructures are used, then existing solutions are implemented, but they are loosely integrated and minimally optimized for scaling, performance, capacity, reliability, and power efficiency

Engineering Contradiction:
Improvesystem integration and optimizationVSAvoidinfrastructure integration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges server, database, data store, and caching infrastructures into a unified object store system implemented on solid state devices. This integration eliminates the loose coupling of traditional layered architectures, creating a tightly optimized system where data storage and caching functions are combined in a single cohesive platform, thereby improving reliability while managing complexity through consolidation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The object store system performs multiple functions simultaneously - it acts as a database, data store, and caching layer all in one unified system. This multi-functionality eliminates the need for separate specialized infrastructures for each function, providing scalable performance and improved reliability through a universal platform that handles diverse workloads efficiently.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Duration of action of stationary object

If flash memory is used for object store, then write operations extend flash memory life, but event processing performance may be impacted

Engineering Contradiction:
Improveflash memory lifespanVSAvoidevent processing speed
Core Design Contradiction:
Duration of action of stationary objectVSSpeed

Solution Approach 1:

The patent segments event processing into multiple parallel worker threads that independently process different portions of the event queue. This segmentation allows the system to maintain high event processing speed by utilizing multiple cores simultaneously, while each thread performs minimal write operations to flash memory, thereby extending flash memory lifespan through reduced write amplification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary caching layer in volatile memory that buffers between event processing and flash memory write operations. This intermediary allows rapid event processing in memory while batching and optimizing writes to flash memory, thus maintaining high processing speed while minimizing wear on flash memory cells.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8868487B2Event processing in a flash memory-based object store
Publication Date: 2014.10.21 SANDISK TECHNOLOGIES LLC
  • US8868487B2 patent drawing
  • US8868487B2 patent drawing
  • US8868487B2 patent drawing

AI summary

Approaches for processing an event in an objects store, such as an MySQL database management system or a memcached caching system, that are maintained on one or more solid state devices. A plurality of threads may be instantiated. Each of the threads may be configured to retrieve items from a queue of items. Each item in the queue of items may be associated with a particular event occurring within the object store. Each event is a message that indicates an activity requiring work has occurred within the object store. When a particular thread retrieves an item from the queue of items, the particular thread processes the particular event associated with the item retrieved by the particular thread. In this way, event handling in object stores such as MySQL and memcached may be performed more efficiently on a solid state device.