IP Library Granted Patent US 9,632,714
Granted Patent B2
US 9,632,714 · App. 14/699,838 · Granted Apr 25, 2017

Solid-state drive 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 9,632,714
App. No.
14/699,838
Granted
Apr 25, 2017
Kind
B2
Abstract

A solid state drive (SSD) device using a flash memory and including a non-volatile memory that differs in type from the flash memory. The SSD device receives data to be written to the flash memory; stores the received data in the non-volatile memory; stores the data stored in the non-volatile memory to the flash memory; and stores, in the non-volatile memory, flow data indicating a flow of tasks to be undertaken while storing the received data in the non-volatile memory and storing the data stored in the non-volatile memory to the flash memory.

Claims (31)

1. A solid state drive (SSD) device using a flash memory, comprising:

a non-volatile memory that differs in type from the flash memory; and

a controller configured to

receive data to be written to the flash memory;

store the received data in the non-volatile memory;

store the data stored in the non-volatile memory to the flash memory;

store, in the non-volatile memory, a first management table to manage logical addresses of the flash memory;

determine whether a status of an operation of writing the data when supply of power to the SSD device is forcefully interrupted is a first status in which a destination of the data in the flash memory is selected and a task flow regarding the operation of writing the data is written to a cache in the nonvolatile memory, a second status in which the data are written in the destination in the flash memory and a normal termination of the operation of writing the data is carried out, a third status in which the task flow is updated in response to the normal termination of the operation of writing the data, the first management table is updated in response to the normal termination of the operation of writing the data, and the task flow is deleted, a fourth status in which the task flow is written to indicate a procedure for the cache to receive the data from an external device, the data are written to the cache, and a normal termination of writing the data into the cache is performed, or a fifth status in which the task flow is updated in response to the normal termination of writing the data into the cache, the first management table is updated in response to the normal termination of writing the data into the cache, and the task flow is deleted; and

perform a recovery operation by referencing the first management table stored in the non-volatile memory and the status of the operation of writing the data when the supply of power to the SSD device is forcefully interrupted.

2. The SSD device of claim 1 , wherein the controller is configured to:

receive confirmation data from the flash memory indicating that storing the data to the flash memory has been successfully completed.

3. The SSD device of claim 2 , wherein the controller is configured to:

update a second management table stored in the non-volatile memory upon receiving the confirmation data from the flash memory indicating that storing the data stored in the non-volatile memory to the flash memory has been successfully completed.

4. The SSD device of claim 1 , wherein the controller is configured to:

receive, from the non-volatile memory, confirmation data indicating that the received data has been successfully stored in the non-volatile memory.

5. The SSD device of claim 4 , wherein the controller is configured to:

update a second management table stored in the non-volatile memory in response to receiving the confirmation data indicating that the received data has been successfully stored in the non-volatile memory.

6. A method performed by a solid state drive (SSD) device using a flash memory and including a non-volatile memory that differs in type from the flash memory, the method comprising:

receiving data to be written to the flash memory;

storing the received data in the non-volatile memory;

storing the data stored in the non-volatile memory to the flash memory;

storing, in the non-volatile memory, a first management table to manage logical addresses of the flash memory;

determining whether a status of an operation of writing the data when supply of power to the SSD device is forcefully interrupted is a first status in which a destination of the data in the flash memory is selected and a task flow regarding the operation of writing the data is written to a cache in the nonvolatile memory, a second status in which the data are written in the destination in the flash memory and a normal termination of the operation of writing the data is carried out, a third status in which the task flow is updated in response to the normal termination of the operation of writing the data, the first management table is updated in response to the normal termination of the operation of writing the data, and the task flow is deleted, a fourth status in which the task flow is written to indicate a procedure for the cache to receive the data from an external device, the data are written to the cache, and a normal termination of writing the data into the cache is performed, or a fifth status in which the task flow is updated in response to the normal termination of writing the data into the cache, the first management table is updated in response to the normal termination of writing the data into the cache, and the task flow is deleted; and

performing, using a controller, a recovery operation by referencing the first management table stored in the non-volatile memory and the status of the operation of writing the data when the supply of power to the SSD device is forcefully interrupted.

7. A non-transitory computer-readable medium including computer program instructions, which when executed by a solid state drive (SSD) device using a flash memory and including a non-volatile memory that differs in type from the flash memory, cause the SSD device to:

receive data to be written to the flash memory;

store the received data in the non-volatile memory;

store the data stored in the non-volatile memory to the flash memory;

store, in the non-volatile memory, a first management table to manage logical addresses of the flash memory;

determine whether a status of an operation of writing the data when supply of power to the SSD device is forcefully interrupted is a first status in which a destination of the data in the flash memory is selected and a task flow regarding the operation of writing the data is written to a cache in the nonvolatile memory, a second status in which the data are written in the destination in the flash memory and a normal termination of the operation of writing the data is carried out, a third status in which the task flow is updated in response to the normal termination of the operation of writing the data, the first management table is updated in response to the normal termination of the operation of writing the data, and the task flow is deleted, a fourth status in which the task flow is written to indicate a procedure for the cache to receive the data from an external device, the data are written to the cache, and a normal termination of writing the data into the cache is performed, or a fifth status in which the task flow is updated in response to the normal termination of writing the data into the cache, the first management table is updated in response to the normal termination of writing the data into the cache, and the task flow is deleted; and

perform a recovery operation by referencing the first management table stored in the non-volatile memory and the status of the operation of writing the data when the supply of power to the SSD device is forcefully interrupted.

Assignments (3)
CHANGE OF NAME Recorded Sep 30, 2025
From: MELCO HOLDINGS INC.
To: BUFFALO INC.
Reel/Frame 072988/0847 →
MERGER Recorded Jul 23, 2025
From: BUFFALO INC.
To: MELCO HOLDINGS INC.
Reel/Frame 072191/0806 →
MERGER Recorded Mar 14, 2018
From: BUFFALO MEMORY CO., LTD.
To: BUFFALO INC.
Reel/Frame 045600/0187 →