Storage Controller Channel Allocation for Multi-Tenant Read Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of write requests from multiple tenants in data centers leads to decreased read performance due to random data storage in storage devices, resulting in longer times for both random and sequential read operations.
Innovation Solution
A storage device with multiple memory dies and channels, where a storage controller determines the required number of channels based on received commands and stores data across multiple memory dies to improve read performance by optimizing data distribution across channels and ways.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If data of each tenant is randomly stored based on write requests from different tenants, then write requests can be handled flexibly, but time required for random read operation increases and read performance decreases
Solution Approach 1:
The patent segments data storage by tenant, allocating specific memory dies to each tenant. This segmentation allows write requests to be handled flexibly within each tenant's allocated space while enabling efficient sequential read operations by accessing contiguous data blocks within the same tenant's memory dies, thereby reducing random read operation time.
Solution Approach 2:
The patent introduces a new dimension of organization by mapping tenants to specific memory dies and organizing data within those dies. This dimensional organization transforms the storage structure from purely random allocation to a hierarchical structure that supports both flexible writes and efficient reads by maintaining tenant-specific data continuity within allocated memory dies.
2Ease of operation
If data transferred from a tenant is concentrated and stored in a specific channel, then data access for that tenant can be simplified, but time required for sequential read operation increases
Solution Approach 1:
The patent segments channels and memory dies to balance data distribution. Instead of concentrating all tenant data in a single channel, the system divides data across multiple channels and memory dies while maintaining tenant-specific allocation. This segmentation enables parallel sequential read operations across multiple channels, reducing overall read time while preserving data access simplicity through tenant-specific mapping.
Solution Approach 2:
The patent implements dynamic channel allocation where the system can adaptively assign data to different channels and memory dies based on current workload and performance requirements. This dynamic approach allows the system to optimize sequential read operations by distributing data across multiple channels when possible, thereby reducing read time while maintaining ease of access through consistent tenant-to-memory mapping.
3Productivity
If multiple tenants send write requests simultaneously, then service capacity increases, but read performance decreases due to random data distribution
Solution Approach 1:
The patent segments the storage system into tenant-specific memory die allocations, allowing multiple tenants to write simultaneously to their respective allocated spaces without interfering with each other's data continuity. This segmentation maintains high service capacity by accepting writes from multiple tenants while improving read performance by ensuring each tenant's data remains contiguous within their allocated memory dies.
Solution Approach 2:
The patent applies local quality optimization by customizing the storage structure for each tenant's specific needs and access patterns. Each tenant receives dedicated memory die allocation with optimized data placement strategies tailored to their workload characteristics, enabling the system to handle multiple simultaneous write requests while maintaining high read performance for each individual tenant through locally optimized data organization.
Data Source
AI summary
A storage device includes a plurality of memory dies, corresponding to a plurality of channels and a plurality of ways, and a storage controller connected to the plurality of memory dies. The storage controller may be configured to receive commands from a plurality of tenants; in response to a number of the received commands being equal to or greater than a predetermined threshold value, determine a first number of channels required to store first data of a first tenant in each way of the plurality of ways based on commands received from the first tenant; and store the first data in the first number of memory dies in each way of the plurality of ways. The first data may be stored in memory dies that correspond to the plurality of channels in at least a portion or an entire portion of the plurality of ways.


