IP Library Granted Patent US 10,671,313
Granted Patent B2
US 10,671,313 · App. 15/877,567 · Granted Jun 2, 2020

Apparatus and methods for fast and secure storage of data

Inventors: Kun-Lung Hsieh (Santa Clara, CA); Bo-Shian Hsu (Santa Clara, CA); Po-Chien Chang (Santa Clara, CA)
Assignee: GOKE US RESEARCH LABORATORY
G06F3/065G06F3/0607G06F3/0611G06F3/0613G06F11/1666G06F12/0253G06F2212/286
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,671,313
App. No.
15/877,567
Granted
Jun 2, 2020
Kind
B2
Abstract

A data storage apparatus includes a cache memory module and a NAND flash memory module including a cache memory mirror and a user data storage zone. The cache memory module is connected to the cache memory mirror via a path and electrically connected to the user data storage zone via another path. The cache memory module receives a write command that includes user data from a host, writes a copy of the user data into the user data storage zone in a write-back mode, and writes another copy of the user data cache memory mirror in a write-through mode. If some of the user data are lost from the cache memory module before they are written into the user data storage zone, the user data written in the cache memory mirror are copied and written into the cache memory module when the data storage apparatus is initiated again.

Claims (29)

1. A data storage method comprising the steps of:

providing a data storage apparatus with a cache memory module and a NAND flash memory module, wherein the cache memory module comprises a cache memory;

selecting a portion of the NAND flash memory module as a cache memory mirror;

selecting another portion of the NAND flash memory module as a user data storage zone;

transferring a write command that comprises user data into the cache memory module from a host;

writing a copy of the user data into the user data storage zone from the cache memory module in a write-back mode;

writing another copy of the user data into the cache memory mirror from the cache memory module in a write-through mode;

determining whether any of the user data are lost from the cache memory module before all of the user data are written into the user data storage zone comprising the steps of:

setting a write pointer for every page of the user data stored in the cache memory mirror;

setting a flush pointer for every page of the user data stored in the cache memory mirror;

determining whether the write pointer is larger than the flush pointer; and

updating the flush pointer every time the user data are written into the user data storage zone from the cache memory module; and

copying the user data stored in the cache memory mirror and writing the user data into the cache memory module which then writes the user data into the user data storage zone in the write-back mode when the data storage apparatus is rebooted if some of the user data are lost from the cache memory module before all the user data are written into the user data storage zone.

2. The data storage method according to claim 1 , wherein the step of copying the user data stored in the cache memory mirror and writing the user data into the cache memory module comprising the steps of:

writing a page that follows the page represented by a flush pointer to a last page into the cache memory module from the cache memory mirror; and

setting logical allocation addresses for the user data.

3. The data storage method according to claim 1 , wherein the step of transferring a write command that comprises user data into the cache memory module from a host comprises the steps of:

determining whether the host gives a write command;

transferring the user data into the cache memory module from host if the host gives a write command; and

stopping the process if the host does not give a write command.

4. The data storage method according to claim 1 , wherein the step of writing another copy of the user data into the cache memory mirror from the cache memory module in a write-through mode comprises the steps of:

determining whether the size of space for storage of data left in the memory mirror is smaller than that of the write command;

if the size of space for storage of data left in the memory mirror is smaller than that of the write command, executing the steps of:

flushing the user data into the user data storage zone from the cache memory; and

selecting another portion of the NAND flash memory module as the cache memory mirror.

5. The data storage method according to claim 1 , wherein the step of writing the user data into the cache memory mirror from the cache memory module further comprising the step of telling the host that the user data have been written into the cache memory mirror from the cache memory module.

6. The data storage method according to claim 1 , wherein the step of writing another copy of the user data into the user data storage zone from the cache memory module in the write-back mode comprises the steps of:

determining whether an amount of dirty data reaches a predetermined value; and

flushing the user data into the user data storage zone from the cache memory module and updating the flush pointer if the amount of the dirty data reaches the predetermined value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2024
From: CHIGMA TECHNOLOGY
To: CHENGDU XINSHENG INTEGRATED CIRCUIT CO., LTD.
Reel/Frame 068622/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2023
From: GOKE US RESEARCH LABORATORY
To: CHIGMA TECHNOLOGY
Reel/Frame 063403/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2018
From: HSIEH, KUN-LUNG; HSU, BO-SHIAN; CHANG, PO-CHIEN
To: GOKE US RESEARCH LABORATORY
Reel/Frame 044697/0716 →
Continuity (1)
Related Publication 20190227708A1 · Jul 25, 2019