IP Library Granted Patent US 11,126,624
Granted Patent B2
US 11,126,624 · App. 16/004,782 · Granted Sep 21, 2021

Trie search engine

Inventors: David Brief (Modiin, IL); Eran Arad (Misgav, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F16/24542G06F16/2246G06F16/322G06F16/951
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,126,624
App. No.
16/004,782
Granted
Sep 21, 2021
Kind
B2
Abstract

A method of searching a database that includes executing a trie search algorithm on a first portion of data in the database, returning a tag narrowing a location of the first portion of data to optimize the database, and performing a directed search of the optimized database by executing the trie search algorithm again on the optimized database, where the trie search algorithm is an information retrieval data structure using a M-ary tree where each node consists of a M-positional vector of pointers.

Claims (25)

1. A method of accessing data from in a data storage device, comprising:

receiving, from a host device, an access request directed at a logical block address comprising a plurality of nibbles;

selecting a first nibble of the plurality of nibbles of the logical block address;

matching the first nibble of the plurality of nibbles of the logical block address through a first page of a trie mapping to an identified region of a flash translation layer without selecting all of the plurality of nibbles of the logical block address; and

searching, based on a result of the matching, the identified region of the flash translation layer without searching all individual entries of the flash translation layer.

2. The method of claim 1 , further comprising, prior to selecting the first nibble:

selecting a second nibble of the plurality of nibbles of the logical block address; and

matching the second nibble of the plurality of nibbles of the logical block address through a second page of the trie mapping to the first page of the trie mapping.

3. A data storage device, comprising:

a memory device configured to store:

a first flash translation layer, wherein the first flash translation layer includes a data address translation table; and

a first page of a trie mapping to an identified logical block address (LBA) region of LBA regions of the first flash translation layer;

a non-volatile memory array comprising one or more flash memory devices; and

a controller coupled to the memory device and coupled to the non-volatile memory array, the controller comprising one or more processors operable to:

receive an access request of a (LBA) comprising a plurality of nibbles;

select a first nibble of the LBA to be compared to the first page of the trie mapping;

match the first nibble of the LBA through the first page of the trie mapping to the identified LBA region of the first translation layer without selecting all of the plurality of nibbles of the LBA; and

search, based on a result of the first nibble matched to the identified LBA region, on the identified LBA region of the first flash translation layer without searching all of the LBA regions of the first flash translation layer.

4. The device of claim 3 , wherein the memory device contains a second flash translation layer.

5. The device of claim 3 , wherein the first flash translation layer includes data entries of logical block addresses and a corresponding physical data address.

6. The device of claim 3 , wherein the first flash translation layer includes an index that encodes logical block addresses of each entry.

7. The device of claim 3 , wherein the controller is further configured to consolidate multiple logical block addresses into a logical block address container, wherein the controller is further configured to fully specify a physical data address corresponding to the logical block address.

8. The device of claim 3 , wherein the controller is further configured to, prior to selecting the first nibble:

select a second nibble of the LBA;

match the second nibble of the LBA through a second page of the trie mapping to the first page of the trie mapping.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2018
From: BRIEF, DAVID C.; ARAD, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047158/0424 →
Continuity (2)
Provisional Application 62518267 · Jun 12, 2017
Related Publication 20180357280A1 · Dec 13, 2018