IP Library Granted Patent US 9,543,035
Granted Patent B2
US 9,543,035 · App. 13/420,970 · Granted Jan 10, 2017

Transmission error detector for flash memory controller

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,543,035
App. No.
13/420,970
Granted
Jan 10, 2017
Kind
B2
Abstract

In one aspect, the present disclosure provides a storage device for accounting for transmission errors to improve a usable life span of memory blocks. In some embodiments, the storage device includes: a memory array including a plurality of memory blocks; and a memory controller in communication with the memory array via an interface, wherein the memory controller is configured to detect an error event associated with data from one of the plurality of memory blocks; determine an origin of the error event; increment an error count if the origin of the error event indicates a data error in the one of the plurality of memory blocks and not if the origin of the error event indicates a transmission error; compare the error count to a threshold value; and mark the one of the plurality of memory blocks as bad when the error count exceeds the threshold value.

Claims (36)

1. A nonvolatile storage device for accounting for transmission errors to improve a usable life span of memory blocks, the storage device comprising:

a memory array comprising a plurality of memory blocks;

a memory controller; and

an interface for the memory controller to communicate with the memory array, wherein the interface is one of a first type or a second type, the first type capable to transmit data at a speed of 50 megabytes per second (MB/s) or less, and the second type capable to transmit data at speeds greater than 50 MB/s,

wherein the memory controller is configured to:

detect an error event associated with data from one of the plurality of memory blocks received over the interface;

determine a type of the interface to be one of the first type or the second type;

if the interface is determined to be the first type, increment an error count, compare the error count to a threshold value, and mark the one of the plurality of memory blocks as unusable for nonvolatile storage when the error count exceeds the threshold value; and

if the interface is determined to be the second type, ignore the error event and request retransmission of the data.

2. The storage device of claim 1 , wherein the memory controller is configured to detect the error event by

determining an initial error code based on said data from the one of the plurality of memory blocks;

determining a new error code based on said data from the one of the plurality of memory blocks;

comparing the new error code with the initial error code; and

indicating that an error event occurred if the initial error code differs from the new error code.

3. The storage device of claim 2 , wherein the memory controller is configured to store the initial error code with said data in the one of the plurality of memory blocks.

4. The storage device of claim 2 , wherein the memory controller is configured to generate the initial error code when said data is requested to be read from the one of the plurality of memory blocks.

5. The storage device of claim 2 , wherein the memory controller is configured to correct said data if the initial error code was created according to an error correction algorithm.

6. The storage device of claim 2 , wherein the memory controller is configured to determine at least one of the initial error code and the new error code based on a cyclic redundancy check algorithm.

7. The storage device of claim 2 , wherein the memory controller is configured to reconstruct said data if the initial error code was created according to an error correction algorithm.

8. The storage device of claim 1 , wherein the interface of the second type is configured to transmit data at speeds greater than two hundred megabytes per second.

9. A method for accounting for transmission errors to improve a usable life span of memory blocks, the method comprising:

detecting an error event associated with data transmitted via an interface from one of a plurality of memory blocks in a memory array;

determining a type of the interface to be one of a first type or a second type, wherein the first type is capable to transmit data at a speed of 50 megabytes per second (MB/s) or less, and the second type is capable to transmit data at speeds greater than 50 MB/s;

if the interface is determined to be the first type, incrementing an error count, comparing the error count to a threshold value and marking the one of the plurality of memory blocks as unusable for nonvolatile storage when the error count exceeds the threshold value; and

if the interface is determined to be the second type, ignoring the error event and requesting retransmission of the data.

10. The method of claim 9 , wherein the detecting the error event includes

determining an initial error code based on said data from the one of the plurality of memory blocks;

determining a new error code based on said data from the one of the plurality of memory blocks;

comparing the new error code and the initial error code; and

indicating that an error event occurred if the initial error code differs from the new error code.

11. The method of claim 10 , wherein the initial error code is stored with said data in the one of the plurality of memory blocks.

12. The method of claim 10 , wherein the initial error code is generated when said data is requested to be read from the one of the plurality of memory blocks.

13. The method of claim 10 , further comprising correcting said data if the initial error code was created according to an error correction algorithm.

14. The method of claim 10 , wherein at least one of the initial error code and the new error code is determined based on a cyclic redundancy check algorithm.

15. The method of claim 10 , further comprising reconstructing said data if the initial error code was created according to an error correction algorithm.

16. The method of claim 9 , wherein the interface of the second type is configured to transmit data at speeds greater than two hundred megabytes per second.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: HGST TECHNOLOGIES SANTA ANA, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046174/0446 →
CHANGE OF NAME Recorded Aug 4, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036275/0435 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2012
From: CHEN, TSAN LIN
To: STEC, INC.
Reel/Frame 027868/0846 →