IP Library Granted Patent US 8,370,535
Granted Patent B2
US 8,370,535 · App. 12/913,166 · Granted Feb 5, 2013

Routing commands within a multifunctional device

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 8,370,535
App. No.
12/913,166
Granted
Feb 5, 2013
Kind
B2
Abstract

A device comprising a router, a controller and an application processor, the controller configured to interoperate at any given time either with the controller or the application processor. When the device is coupled to a host device and the router is set for interoperating with the controller in which it routes host commands (SD commands) to the controller, the router receives a host command from the host device; and in response to the received host command and based on determining that it prompts interoperating with the application processor, to interoperate with the application processor in which it routes host commands (ASSD commands) to the application processor. The router continues to interoperate with the application processor until it receives an indication from the application processor to interoperate with the controller.

Claims (34)

1. A method of handling host commands within a multifunctional device, comprising:

in a storage device having a router, an application processor, and a controller, wherein the router, the application processor, and the controller are physically distinct from each other, wherein of the application processor and the controller, only the controller is configured to access memory of the storage device, and wherein the router is configured to switch interoperation between the application processor and the controller at any given time, performing by the router, when the storage device is coupled to a host device and the router is set for interoperating with the controller in which it routes host commands to the controller:

receiving a host command from the host device; and in response to the received host command, based on determining that it prompts interoperating with the application processor, interoperating with the application processor in which the router routes host commands to the application processor, wherein the router continues to interoperate with the application processor until it receives an indication from the application processor to interoperate with the controller.

2. The method of claim 1 , wherein the received host command is a switch command.

3. The method of claim 1 , further performing by the router, when interoperating with the application processor:

initializing the application processor.

4. The method of claim 1 , further performing by the router:

shutting down the application processor, in response to the indication received from the application processor.

5. The method of claim 1 , wherein the indication from the application processor is in the form of an opcode representing an in-band or an out-of band command.

6. A method of handling host commands within a multifunctional device, comprising:

in a storage device having a router, an application processing means, and a controller, wherein the router, the application processing means, and the controller are physically distinct from each other, wherein of the application processing means and the controller, only the controller is configured to access memory of the storage device, and wherein the router is configured to switch interoperation between the application processing means and the controller at any given time, performing by the router, when the storage device is coupled to a host device and the router is set for interoperating with the controller in which it routes host commands to the controller:

receiving a host command from the host device; and in response to the received host command, based on determining that it prompts interoperating with the application processor means, interoperating with the application processor means in which the router routes commands to the application processing means, wherein the router continues to interoperate with the application processing means until it receives an indication from the application processing means to interoperate with the controller.

7. A storage device comprising:

a controller;

an application processor operative to execute commands; and

a router configured to switch interoperation between the application processor and the controller at any given time, the router operative to, when the device is coupled to a host device and the router is set for interoperating with the controller in which it routes host commands to the controller:

receive a host command from the host device; and

in response to the received host command, based on determining that it prompts interoperating with the application processor, interoperate with the application processor in which the router routes host commands to the application processor, wherein the router continues to interoperate with the application processor until it receives an indication from the application processor to interoperate with the controller;

wherein the controller, the application processor, and the router are physically distinct from each other; and

wherein of the application processor and the controller, only the controller is configure to access memory of the storage device.

8. The device of claim 7 , wherein the received host command is a switch command.

9. The device of claim 7 , wherein the router is further configured to, when interoperating with the application processor:

initialize the application processor.

10. The device of claim 7 , wherein the router is further configured to:

shut down the application processor, in response to the indication received from the application processor.

11. The device of claim 7 , wherein the indication from the application processor is in the form of an opcode representing an in-band or an out-of band command.

12. A storage device comprising:

a controller;

an application processing means operative to execute commands; and

a router configured to switch interoperation between the application processing means and the controller at any given time, the router operative to, when the device is coupled to a host device and the router is set for interoperating with the controller in which it routes host commands to the controller:

receive a host command from the host device; and

in response to the received host command, based on determining that it prompts interoperating with the application processing means, interoperate with the application processing means in which the router routes host commands to the application processing means, wherein the router continues to interoperate with the application processing means until it receives an indication from the application processing means to interoperate with the controller;

wherein the controller, the application processing means, and the router are physically distinct from each other; and

wherein of the application processing means and the controller, only the controller is configure to access memory of the storage device.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2024
From: WESTERN DIGITAL ISRAEL, LTD.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069267/0794 →
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →