IP Library Granted Patent US 10,101,918
Granted Patent B2
US 10,101,918 · App. 14/601,350 · Granted Oct 16, 2018

Systems and methods for generating hint information associated with a host command

Inventors: Judah Gamliel Hahn (Ofra, IL); Joseph R. Meza (Aliso Viejo, CA); William L. Guthrie (Santa Cruz, CA)
Assignee: SanDisk Technologies LLC
G06F3/061G06F3/064G06F3/0659G06F3/0688
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 10,101,918
App. No.
14/601,350
Granted
Oct 16, 2018
Kind
B2
Abstract

Systems and methods for generating hint information associated with a host command are disclosed. In one implementation, a processor of a host system determines whether the host system has initiated a procedure that will send a command to a non-volatile memory system. The processor analyzes at least one of metadata or payload data associated with the command to determine whether the processor is able to generate hint information associated with the at least one of metadata or payload data. The processor generates hint information based on the analysis of the at least one of metadata or payload data, sends the hint information to the non-volatile memory system, and sends the command to the non-volatile memory system.

Claims (51)

1. A method comprising:

performing in an application running on a host system, wherein the application is separate from a file system of the host system:

analyzing a layout of the file system to determine characteristics of different logically-contiguous areas in the file system layout;

sending, to a non-volatile memory system in communication with the host system, the determined characteristics of the different logically-contiguous areas in the file system layout;

determining whether the host system will send a write command to the non-volatile memory system;

in response to determining that the host system will send the write command to the non-volatile memory system, analyzing at least one of metadata or payload data associated with the write command;

generating hint information based on the analysis of the at least one of metadata or payload data; and

sending the hint information to the non-volatile memory system;

wherein by sending the determined characteristics of the different logically-contiguous areas in the file system layout and the hint information, the application provides the non-volatile memory system with information otherwise unavailable from the file system of the host system.

2. The method of claim 1 , wherein the write command is part of a procedure to install an application on the non-volatile memory system.

3. The method of claim 1 , wherein analyzing at least one of the metadata or the payload data comprises:

analyzing an install package to identify one or more files associated with the install package; and

for each of the one or more files, determining a characteristic of the file.

4. The method of claim 1 , further comprising:

analyzing the file system layout to determine if the file system layout has changed since a previous analysis of the file system layout.

5. The method of claim 1 , wherein the hint information comprises an indication for the non-volatile memory system that a sequence of logical block addresses that the host system will subsequently send in write commands to the non-volatile memory system will not frequently change.

6. The method of claim 1 , wherein the application sends the hint information to the non-volatile memory system as part of the write command sent to the non-volatile memory system.

7. The method of claim 1 , further comprising:

generating an indication for the non-volatile memory system of a sequence of logical block addresses that is associated with read commands that the host system will subsequently send to the non-volatile memory system.

8. The method of claim 1 , further comprising

generating an indication for the non-volatile memory system that a sequence of write commands that the host system will subsequently send to the non-volatile memory system will replace data of a file already stored at the non-volatile memory system.

9. The method of claim 1 , further comprising

generating an indication for the non-volatile memory system that a sequence of write commands that the host system will subsequently send to the non-volatile memory system will be appended to a file that is already stored at the non-volatile memory system.

10. The method of claim 1 , wherein the application:

does not initiate the write command.

11. The method of claim 1 , wherein the at least one of metadata or payload data associated with the write command is at least one of metadata or payload data for a file that is associated with the write command.

12. The method of claim 1 , wherein the non-volatile memory system comprises a three-dimensional memory.

13. A host system comprising:

a processor configured to execute a hint generator separate from a file system of the host system, wherein, when executed, the hint generator is configured to:

analyze a layout of the file system to determine characteristics of different logically-contiguous areas in the layout of the file system;

send, to a non-volatile memory system in communication with the host system, the determined characteristics of the different logically-contiguous areas in the layout of the file system;

generate, based on at least one of metadata or payload data associated with a write command that the host system is going to send to the non-volatile memory system, information regarding a characteristic of data associated with the write command; and

send, to the non-volatile memory system, the generated information in conjunction with the host system sending the write command to the non-volatile memory system.

14. The host system of claim 13 , wherein the hint generator is configured to send the generated information to the non-volatile memory system as part of the write command sent to the non-volatile memory system.

15. The host system of claim 13 , wherein the at least one of metadata or payload data associated with the write command is at least one of metadata or payload data for a file that is associated with the write command.

16. The host system of claim 13 , wherein the hint generator is further configured to:

analyze an install package to identify one or more files associated with the install package;

for each of the one or more files, identify a characteristic of the file; and

generate the information based on the characteristic of each of the one or more files.

17. The host system of claim 13 , wherein the non-volatile memory system comprises a three-dimensional memory.

18. A host system comprising:

means for analyzing a layout of a file system of the host system to determine characteristics of different logically-contiguous areas in the file system layout;

means for sending, to a non-volatile memory system in communication with the host system, the determined characteristics of the different logically-contiguous areas in the file system layout;

means for determining whether the host system will send a write command to the non-volatile memory system;

means for, in response to determining that the host system will send the write command to the non-volatile memory system, analyzing at least one of metadata or payload data associated with the write command;

means for generating hint information based on the analysis of the at least one of metadata or payload data; and

means for sending the hint information to the non-volatile memory system.

19. The host system of claim 18 , wherein the write command is part of a procedure to install an application on the non-volatile memory system.

20. The host system of claim 18 , further comprising means for analyzing the file system layout to determine if the file system layout has changed since a previous analysis of the file system layout.

21. The host system of claim 18 , further comprising means for generating an indication for the non-volatile memory system of a sequence of logical block addresses that is associated with read commands that the host system will subsequently send to the non-volatile memory system.

22. The host system of claim 18 , wherein the non-volatile memory system comprises a three-dimensional memory.

Assignments (5)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2015
From: HAHN, JUDAH GAMLIEL; MEZA, JOSEPH R.; GUTHRIE, WILLIAM L.
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 035835/0739 →
Continuity (1)
Related Publication 20160210045A1 · Jul 21, 2016