MANUAL SUSPEND AND RESUME FOR NON-VOLATILE MEMORY
First Claim
1. A non-volatile storage system, comprising:
- a memory die including control circuitry and storage elements; and
an external controller, external to the memory die and in communication with the control circuitry via at least one communication path, the external controller;
maintains a record of multiple tasks for the control circuitry,provides a suspend command to the control circuitry via the at least one communication path while the control circuitry has the busy status, a first task executes at the control circuitry when the suspend command is provided;
in response to detecting a ready status for the control circuitry;
detects a suspend status of the control circuitry at a first time, updates the record based on the suspend status, and provides a second command to the control circuitry via the at least one communication path, andsubsequently, in response to again detecting the ready status for the control circuitry;
detects the suspend status at a second time and if the suspend status at the second time is true, provides an additional command to the control circuitry via the at least one communication path.
5 Assignments
0 Petitions
Accused Products
Abstract
An external controller has greater control over control circuitry on a memory die in a non-volatile storage system. The external controller can issue a manual suspend command on a communication path which is constantly monitored by the control circuitry. In response, the control circuitry suspends a task immediately, with essentially no delay, or at a next acceptable point in the task. The external controller similarly has the ability to issue a manual resume command, which can be provided on the communication path when that path has a ready status. The control circuitry can also automatically suspend and resume a task. The external controller can cause a task to be suspended by issuing an illegal read command. The external controller can cause a suspended program task to be aborted by issuing a new program command.
-
Citations
40 Claims
-
1. A non-volatile storage system, comprising:
-
a memory die including control circuitry and storage elements; and an external controller, external to the memory die and in communication with the control circuitry via at least one communication path, the external controller; maintains a record of multiple tasks for the control circuitry, provides a suspend command to the control circuitry via the at least one communication path while the control circuitry has the busy status, a first task executes at the control circuitry when the suspend command is provided; in response to detecting a ready status for the control circuitry;
detects a suspend status of the control circuitry at a first time, updates the record based on the suspend status, and provides a second command to the control circuitry via the at least one communication path, andsubsequently, in response to again detecting the ready status for the control circuitry;
detects the suspend status at a second time and if the suspend status at the second time is true, provides an additional command to the control circuitry via the at least one communication path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for use at an external controller in communicating with control circuitry on a memory die, the memory die including storage elements, the method comprising:
-
maintaining a record of multiple tasks for the control circuitry, the control circuitry is in communication with the external controller via at least one a communication path; providing a suspend command to the control circuitry via the at least one communication path while the control circuitry has a busy status, a first task executes at the control circuitry when the suspend command is provided; in response to detecting a ready status on the at least one communication path;
detecting a suspend status of the control circuitry at a first time, updating the record based on the suspend status, and providing a second command to the control circuitry via the at least one communication path, andsubsequently, in response to again detecting the ready status on the at least one communication path;
detecting the suspend status at a second time and if the suspend status at the second time is true, providing an additional command to the control circuitry via the at least one communication path.
-
-
21. A method for use at control circuitry at a memory die, the control circuitry is in communication with an external controller, the memory die including storage elements, the method comprising:
-
receiving a suspend command at the control circuitry, from the external controller, the control circuitry is in communication with the external controller via at least one a communication path, and the suspend command is received via the at least one communication path while the control circuitry has a busy status; in response to the suspend command, suspending a first task which is executing, setting a suspend status to true, and providing a ready status on the at least one communication path; in response to a status request from the external controller, providing the suspend status to the external controller; subsequently receiving a second command at the control circuitry, from the external controller, via the at least one communication path, to perform a second task; in response to the second command, starting the second task, providing a busy status on the at least one communication path and again providing the ready status on the at least one communication path; in response to a further status request received from the external controller when the ready status is again provided for the at least one communication path, again providing the suspend status to the external controller; and if the again-provided suspend status is true, receiving a resume command at the control circuitry, from the external controller, via the at least one communication path, to resume the first task. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A non-volatile storage system, comprising:
-
a memory die including control circuitry and storage elements; and an external controller, external to the memory die and in communication with the control circuitry via at least one a communication path which has an associated ready or busy status, the external controller; provides a read command to the control circuitry via the at least one communication path while the control circuitry has the ready status, and while the control circuitry is executing a first program task, where in response to the read command, the control circuitry sets a busy status on the at least one communication path and suspends the first program task, in response to detecting a further ready status on the at least one communication path;
provides an additional command to the control circuitry via the at least one communication path, where in response to the additional command, the control circuitry sets a busy status on the at least one communication path and then sets the ready status on the at least one communication path, andsubsequently, in response to again detecting the ready status on the at least one communication path;
provides an additional command to the control circuitry via the at least one communication path. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
-
33. non-volatile storage system, comprising:
-
a memory die including control circuitry and storage elements; and an external controller, external to the memory die and in communication with the control circuitry via at least one a communication path, the external controller; while the control circuitry is executing a first task and while the control circuitry has the ready status;
provides a suspend command via the at least one communication path, followed by a command to enter a low power mode to the control circuitry, via the at least one communication path, the control circuitry responds to the suspend command by suspending the first task and responds to the command to enter the low power mode by entering the low power mode, andwhile the control circuitry is in the low power mode and while the control circuitry has the ready status, provides a resume command to resume the first task. - View Dependent Claims (34)
-
-
35. A non-volatile storage system, comprising:
-
a memory die including control circuitry and storage elements; and an external controller, external to the memory die and in communication with the control circuitry via at least one a communication path, the external controller; in a first time period;
provides a read command to the control circuitry via the at least one communication path while the control circuitry has a ready status, and while the control circuitry is performing a first task,in response to the read command, in a second time period which is after the first time period;
the control circuitry automatically suspends the first task and performs a read task to obtain read data, after which in a third time period which is after the second time period;
the control circuitry automatically resumes the first task and concurrently shifts out the read data to the external controller, andin a fourth time period which is after the third time period;
provides a suspend command to the control circuitry via the at least one communication path while the control circuitry has the busy status, to suspend the first task, and when the control circuitry has the ready status again, provides a command to the control circuitry to perform a further task. - View Dependent Claims (36, 37)
-
-
38. A non-volatile storage system, comprising:
-
a memory die including control circuitry and storage elements; and an external controller, external to the memory die and in communication with the control circuitry via at least one a communication path, the external controller; in a first time period;
loads in program data and provides a program command to the control circuitry via the at least one communication path while the control circuitry has a ready status, and while the control circuitry is concurrently performing a first task,in response to the program command, in a second time period which is after the first time period;
the control circuitry automatically suspends the first task and performs a program task to write the program data, after which in a third time period which is after the second time period;
the control circuitry automatically resumes the first task, andin a fourth time period which is after the third time period;
provides a suspend command to the control circuitry via the at least one communication path while the control circuitry has a busy status, to suspend the first task, and when the control circuitry has the ready status again, provides a command to the control circuitry to perform a further task. - View Dependent Claims (39, 40)
-
Specification